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.