AshTypescript.Codegen (ash_typescript v0.17.2)

Copy Markdown View Source

Main code generation module for TypeScript types and schemas from Ash resources.

This module serves as the primary entry point for code generation. It delegates to specialized submodules in AshTypescript.Codegen.* for specific tasks:

  • TypeDiscovery - Discovers all types needing TypeScript definitions
  • TypeAliases - Generates TypeScript type aliases for Ash types
  • ResourceSchemas - Generates resource schemas (output and input)
  • TypeMapper - Maps Ash types to TypeScript types
  • Helpers - Shared utility functions

Summary

Functions

Functions

build_map_type(fields, select \\ nil, field_name_mappings \\ nil)

See AshTypescript.Codegen.TypeMapper.build_map_type/3.

build_resource_type(resource, select_and_loads \\ nil)

See AshTypescript.Codegen.TypeMapper.build_resource_type/2.

build_resource_type_name(resource_module)

See AshTypescript.Codegen.Helpers.build_resource_type_name/1.

build_union_input_type(types)

See AshTypescript.Codegen.TypeMapper.build_union_input_type/1.

build_union_type(types)

See AshTypescript.Codegen.TypeMapper.build_union_type/1.

generate_all_schemas_for_resource(resource, allowed_resources, input_schema_resources \\ [])

See AshTypescript.Codegen.ResourceSchemas.generate_all_schemas_for_resource/3.

generate_all_schemas_for_resources(resources, allowed_resources, resources_needing_input_schema \\ nil)

See AshTypescript.Codegen.ResourceSchemas.generate_all_schemas_for_resources/3.

generate_ash_type_aliases(resources, actions, otp_app)

See AshTypescript.Codegen.TypeAliases.generate_ash_type_aliases/3.

generate_input_schema(resource)

See AshTypescript.Codegen.ResourceSchemas.generate_input_schema/1.

generate_unified_resource_schema(resource, allowed_resources)

See AshTypescript.Codegen.ResourceSchemas.generate_unified_resource_schema/2.

get_resource_field_spec(field, resource)

See AshTypescript.Codegen.TypeMapper.get_resource_field_spec/2.

get_ts_input_type(attr)

See AshTypescript.Codegen.TypeMapper.get_ts_input_type/1.

get_ts_type(type_and_constraints, select_and_loads \\ nil)

See AshTypescript.Codegen.TypeMapper.get_ts_type/2.

lookup_aggregate_type(resource, relationship_path, field)

See AshTypescript.Codegen.Helpers.lookup_aggregate_type/3.