AshTypescript.Rpc.Codegen.Helpers.PayloadBuilder (ash_typescript v0.17.3)

Copy Markdown View Source

Builds TypeScript payload field definitions for RPC function implementations.

Payload fields are the actual JavaScript object properties that get sent to the server when an RPC function is called. They map configuration values to the expected server payload format.

Summary

Functions

Builds payload field definitions for an RPC function.

Functions

build_payload_fields(rpc_action_name, context, opts)

Builds payload field definitions for an RPC function.

Generates an array of TypeScript object property strings that construct the payload object sent to the server. Each field maps a config value to a payload key.

Parameters

  • rpc_action_name - The snake_case name of the RPC action
  • context - The action context from ConfigBuilder.get_action_context/2
  • opts - Options keyword list:
    • :include_fields - If true, include optional fields parameter
    • :include_filtering_pagination - If true, include filter/sort/page parameters (default: true)
    • :include_metadata_fields - If true, include optional metadata_fields parameter
    • :rpc_action - The RPC action struct (needed for get_by field detection)

Returns

A list of strings representing TypeScript object properties for the payload.

Examples

# Simple action with just action name
["action: \"create_todo\""]

# Action with tenant and input
["action: \"create_todo\"", "tenant: config.tenant", "input: config.input"]

# Read action with fields and filters
["action: \"list_todos\"", "...(config.fields !== undefined && { fields: config.fields })",
 "...(config.filter && { filter: config.filter })"]