caffeine_lang/phase_2/linker/specification/linker

Values

pub fn link_and_validate_specification_sub_parts(
  services: List(unresolved_service.Service),
  unresolved_sli_types: List(unresolved_sli_type.SliType),
  basic_types: List(basic_type.BasicType),
  query_template_types_unresolved: List(
    unresolved_query_template_type.QueryTemplateType,
  ),
) -> Result(List(service.Service), String)

This function is a three step process. While it fundamentally enables us to resolve the specification (services), it also semantically validates that the specification makes sense; right now this just means that we’re able to link query_template_types to sli_types, query_template_filters to query_template_types, and sli_types to services.

pub fn resolve_unresolved_query_template_type(
  unresolved_query_template_type: unresolved_query_template_type.QueryTemplateType,
  basic_types: List(basic_type.BasicType),
) -> Result(query_template_type.QueryTemplateType, String)

This function takes an unresolved QueryTemplateType and a list of BasicTypes and returns a resolved QueryTemplateType.

pub fn resolve_unresolved_service(
  unresolved_service: unresolved_service.Service,
  sli_types: List(sli_type.SliType),
) -> Result(service.Service, String)

This function takes an unresolved Service and a list of SliTypes and returns a resolved Service.

pub fn resolve_unresolved_sli_type(
  unresolved_sli_type: unresolved_sli_type.SliType,
  query_template_types: List(
    query_template_type.QueryTemplateType,
  ),
  basic_types: List(basic_type.BasicType),
) -> Result(sli_type.SliType, String)

This function takes an unresolved SliType, a list of QueryTemplateTypes, and a list of BasicTypes and returns a resolved SliType.

Search Document