Reverser Component

This component provides a service that reverses strings. It explores structured configuration to conditionally modify behavior, as well as optional downstream component dependencies for replacement logic. It is primarily used to demonstrate dynamic configurations and test mocking capabilities in Fuchsia.

Structured Configuration

This component uses Structured Configuration to conditionally alter its behavior at runtime. You can think of these config values as analogous to command-line arguments or function parameters, provided by the runner environment when the component starts.

switch_case

  • Type: bool
  • Description: When set to true, the component will invert the alphabetical case of all characters in the string in addition to reversing the string order. When false, it only reverses the string.
  • Example Use Case:
    • switch_case: false -> "Hello Fuchsia!" becomes "!aishcuF olleH"
    • switch_case: true -> "Hello Fuchsia!" becomes "!AISHCUf OLLEh"

use_replacer

  • Type: bool
  • Description: When set to true, the component will attempt to connect to the optional fuchsia.examples.reverser.Replacer protocol and filter the string through it before performing the reversal and case-switching logic. If false or the protocol is unavailable, no replacement occurs.
  • Example Use Case:
    • Assuming the Replacer changes "Fuchsia" to "Zircon":
    • use_replacer: true, switch_case: false -> "Hello Fuchsia!" evaluates "Hello Zircon!" and returns "!nocriZ olleH"