Skip to main content Svelte Highlight v7.21.1

CEL language preview

1. An authorization check

the has macro, field access, and a ternary expression
horizon-dark
// admin or verified owner may edit
has(request.auth) &&
  (request.auth.role == "admin" ||
    (request.auth.uid == resource.owner && resource.verified))
? "allow"
: "deny"
atom-one-dark
// admin or verified owner may edit
has(request.auth) &&
  (request.auth.role == "admin" ||
    (request.auth.uid == resource.owner && resource.verified))
? "allow"
: "deny"
github-dark
// admin or verified owner may edit
has(request.auth) &&
  (request.auth.role == "admin" ||
    (request.auth.uid == resource.owner && resource.verified))
? "allow"
: "deny"
dracula
// admin or verified owner may edit
has(request.auth) &&
  (request.auth.role == "admin" ||
    (request.auth.uid == resource.owner && resource.verified))
? "allow"
: "deny"
nord
// admin or verified owner may edit
has(request.auth) &&
  (request.auth.role == "admin" ||
    (request.auth.uid == resource.owner && resource.verified))
? "allow"
: "deny"
github
// admin or verified owner may edit
has(request.auth) &&
  (request.auth.role == "admin" ||
    (request.auth.uid == resource.owner && resource.verified))
? "allow"
: "deny"

2. Comprehension macros

all and exists over a list
horizon-dark
all(items, item, item.price > 0) &&
  exists(items, item, item.category == "sale")
atom-one-dark
all(items, item, item.price > 0) &&
  exists(items, item, item.category == "sale")
github-dark
all(items, item, item.price > 0) &&
  exists(items, item, item.category == "sale")
dracula
all(items, item, item.price > 0) &&
  exists(items, item, item.category == "sale")
nord
all(items, item, item.price > 0) &&
  exists(items, item, item.category == "sale")
github
all(items, item, item.price > 0) &&
  exists(items, item, item.category == "sale")

3. Type conversions and membership

duration, timestamp, and the in operator
horizon-dark
timestamp("2024-01-01T00:00:00Z") + duration("24h") > request.time &&
  "admin" in request.auth.roles
atom-one-dark
timestamp("2024-01-01T00:00:00Z") + duration("24h") > request.time &&
  "admin" in request.auth.roles
github-dark
timestamp("2024-01-01T00:00:00Z") + duration("24h") > request.time &&
  "admin" in request.auth.roles
dracula
timestamp("2024-01-01T00:00:00Z") + duration("24h") > request.time &&
  "admin" in request.auth.roles
nord
timestamp("2024-01-01T00:00:00Z") + duration("24h") > request.time &&
  "admin" in request.auth.roles
github
timestamp("2024-01-01T00:00:00Z") + duration("24h") > request.time &&
  "admin" in request.auth.roles