patchbayUiSemanticsActionCommandDescriptor top-level property

PatchbayCommandDescriptor patchbayUiSemanticsActionCommandDescriptor
final

Implementation

final patchbayUiSemanticsActionCommandDescriptor = _ui(
  'ui.semantics.action',
  'Invoke an allowed action on an observed Semantics node.',
  interactionModel: PatchbayInteractionModel.userLike,
  parameters: <PatchbayParameterDescriptor>[
    _p('nodeId', PatchbayParameterType.integer, required: true),
    _p('generation', PatchbayParameterType.integer, required: true),
    _p(
      'action',
      PatchbayParameterType.enumeration,
      required: true,
      allowedValues: const <String>[
        'tap',
        'focus',
        'scrollUp',
        'scrollDown',
        'scrollLeft',
        'scrollRight',
        'setText',
      ],
    ),
    _p('text', PatchbayParameterType.string),
    _p('inputWasStdin', PatchbayParameterType.boolean),
  ],
  cliSyntax: const <PatchbayCliSyntax>[
    PatchbayCliSyntax(
      id: 'uiSemanticsAction',
      path: <String>['ui', 'semantics', 'action'],
      summary: 'Dispatch a semantics action against an observed node.',
      usageSuffix: '<node-id> <generation> <action> [text]',
      positionalParameters: <String>['nodeId', 'generation', 'action'],
      nonNegativeParameters: <String>{'nodeId', 'generation'},
      trailingParameter: 'text',
      stdinParameter: 'text',
      stdinMarkerParameter: 'inputWasStdin',
      trailingWhen: PatchbayCliEqualsCondition(
        parameter: 'action',
        value: 'setText',
      ),
    ),
  ],
);