A foundational composable for building registration-based systems, managing collections of registered items with automatic indexing, and lifecycle management.
The useRegistry composable provides a powerful interface for managing collections of items in a registration-based system. It allows you to register, unregister, and look up items efficiently, while maintaining an index for quick access.
ts import { createRegistry } from '@vuetify/v0'
const registry = createRegistry ()
const ticket1 = registry. register ()
const ticket2 = registry. register ()
const ticket3 = registry. register ()
console. log (registry.size) // 3 useRegistry is the foundation for specialized registration systems:
Diagram Click outside or press Escape to close
Each branch extends the base ticket pattern with domain-specific capabilities. See individual composable docs for their extension hierarchies.
View standalone → The following API details are for the
createRegistry composable.
(options?: RegistryOptions) => ECreates a new registry instance.
Show code example
(_options?: RegistryContextOptions) => ContextTrinity<E>Creates a new registry context.
Show code example
booleanEnable event emission for registry operations
Default: false
ReadonlyMap<ID, Z>The collection of tickets in the registry
numberThe number of tickets in the registry
Show code example
() => voidClear the entire registry
Show code example
(id: ID) => booleanCheck if a ticket exists by ID
Show code example
() => ID[]Get all registered IDs
Show code example
(value: unknown) => ID[] | undefinedBrowse for an ID(s) by value
Show code example
(index: number) => ID | undefinedlookup a ticket by index number
Show code example
(id: ID) => Z | undefinedGet a ticket by ID
Show code example
(id: ID, ticket?: Partial<Z>) => ZUpdate or insert a ticket by ID
Show code example
() => Z[]Get all values of registered tickets
Show code example
() => [ID, Z][]Get all entries of registered tickets
Show code example
(ticket?: Partial<Z>) => ZRegister a new ticket
Show code example
(id: ID) => voidUnregister an ticket by ID
Show code example
() => voidReset the index directory and update all tickets
Show code example
(direction?: "first" | "last", from?: number, predicate?: (ticket) => boolean) => Z | undefinedSeek for a ticket based on direction and optional predicate
Show code example
(event: string, cb: RegistryEventCallback) => voidListen for registry events
Show code example
(event: string, cb: RegistryEventCallback) => voidStop listening for registry events
Show code example
(event: string, data: unknown) => voidEmit an event with data
Show code example
() => voidClears the registry and removes all listeners
Show code example
(registrations: Partial<Z>[]) => Z[]Onboard multiple tickets at once
Show code example
(ids: ID[]) => voidOffboard multiple tickets at once
Show code example
<R>(fn: () => R) => RExecute operations in a batch, deferring cache invalidation and event emission until complete
Show code example