有没有办法在 Firebase 规则中存储自定义表达式以供重用?

Is there a way to store a custom expression in Firebase Rules to be reused?

我希望能够在我的 Firebase 规则中多次重复使用一个表达式。

如果我有以下规则:

{
  "rules": {
    ".read": true,
    ".write": false,
    "secretArea1": {
      ".read": "root.child('users').child(auth.uid).child('role').val() === 'admin'",
      ".write": "root.child('users').child(auth.uid).child('role').val() === 'admin'"
    },
    "secretArea2": {
      ".read": "root.child('users').child(auth.uid).child('role').val() === 'admin'",
      ".write": "root.child('users').child(auth.uid).child('role').val() === 'admin'"
    }
  }
}

有没有办法将 root.child('users').child(auth.uid).child('role').val() === 'admin' 存储在某个地方,这样它就不必重复 4 次?

类似于:

{
  "rules": {
    ".read": true,
    ".write": false,
    "secretArea1": {
      ".read": "isAdmin",
      ".write": "isAdmin"
    },
    "secretArea2": {
      ".read": "isAdmin",
      ".write": "isAdmin"
    }
  }
}

也许我处理这个问题的方式不对。任何建议都会很棒!

我刚刚发现 Blaze Compiler which was linked at Security & Rules Libraries。不完全是我正在寻找的东西并添加了一个额外的编译步骤,但似乎提供了我正在寻找的功能。如果它作为一个选项包含在 Firebase 仪表板中,那就太好了。