Skip to content

serializeCapability

serializeCapability(cap): string

Defined in: packages/pipeline-casl/src/helpers/capability.ts:171

Collapse a Capability into a compact CapabilityString suitable for JWT claims, encrypted cookies, or session stores where payload size matters.

This is a runtime-only serialisation step — the inverse of parseCapabilityString.

The fields segment is appended when the capability restricts specific fields, or as * when a reason segment follows it; otherwise it is omitted, keeping the string compact for the common case.

Capability

string

serializeCapability({ subject: 'Post', action: 'manage' })
// → 'Post|manage|*'
serializeCapability({ subject: 'all', action: 'manage' })
// → 'all|manage|*'
serializeCapability({ subject: 'Post', action: 'update', fields: ['title', 'body'] })
// → 'Post|update|*|title,body'
serializeCapability({ subject: 'Post', action: 'update', conditions: { authorId: 42 }, fields: ['title'] })
// → 'Post|update|{"authorId":42}|title'