← Navigation and routes

Navigation.RestoreResult

luastra/navigation

Navigation.RestoreResult is a result record with a boolean success field and optional success- or failure-specific fields. Check success before reading entry, location, changed, or error; the exported declaration does not encode automatic Luau union narrowing.

Before you use it

Add luastra/navigation to this module's dependencies in luastra.json, then import it with require("luastra/navigation"). No host capability is required for in-memory navigation. Browser URL/history synchronization additionally needs luastra/host and navigation.history.

How it fits

The type describes a route, stack, compiler, or checked result used by navigation operations.

When to use it

Use Navigation.RestoreResult for checked navigation operations. Test result.success first, then explicitly verify the optional field needed by that branch; do not assume the boolean field narrows this record as a tagged union.

Fields or definition

ParameterType / valuesDescription
successbooleanDiscriminator that must be checked before reading branch-specific fields.
errorRestoreError?Bounded failure information, or nil on the successful branch.

Error codes

This is the complete closed vocabulary emitted by the named operation in this Source SDK contract.

CodeWhen it occurs
invalid_snapshotThe snapshot shape, version, or encoded form is invalid.
invalid_stackThe restored stack is empty, too deep, sparse, or inconsistent.
unknown_routeA restored route is not admitted by the string stack.
invalid_entryA restored typed entry cannot be matched or generated.

SDK type flow

Produced by

Navigation.createNavigation.createRouter

What happens next

A checked route/navigation annotation.

Failures and fixes

Invalid definitions, unknown routes, malformed parameters, excessive history depth, or incompatible snapshots return bounded errors or fail construction. Navigation result records use success:boolean with optional fields, so verify the field you need after checking success.

Availability

Public-source alpha API in 0.5.0-alpha; URL integration is a separate host capability.

Exact declaration

export type RestoreResult = { success: boolean, error: RestoreError? }

Continue learning

Companions

Navigation.MutationResultNavigation.decideBack

Complete inventory

View all pages in Navigation and routes
← Previous: Navigation.RestoreErrorNext: Navigation.Options →