AshOaskit.Core.PathRegistry (AshOasKit v0.4.1)

View Source

Conflict detection and stable operation identifiers for generated path maps.

Summary

Functions

Disambiguates generated identifiers with a deterministic method/path suffix.

Merges path maps without silently replacing operations.

Adds an operation, rejecting conflicting methods and equivalent path templates.

Returns a stable identifier suffix for a method and served path.

Checks global operationId uniqueness, including explicit controller identifiers.

Functions

disambiguate(paths)

@spec disambiguate(map()) :: map()

Disambiguates generated identifiers with a deterministic method/path suffix.

merge(left, right)

@spec merge(map(), map()) :: map()

Merges path maps without silently replacing operations.

put(paths, path, method, operation)

@spec put(map(), String.t(), String.t(), map()) :: map()

Adds an operation, rejecting conflicting methods and equivalent path templates.

suffix(method, path)

@spec suffix(atom() | String.t(), String.t()) :: String.t()

Returns a stable identifier suffix for a method and served path.

validate_ids!(paths)

@spec validate_ids!(map()) :: map()

Checks global operationId uniqueness, including explicit controller identifiers.