-module(caffeine_lang@codegen@generator_utils). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/caffeine_lang/codegen/generator_utils.gleam"). -export([render_terraform_config/4, build_source_comment/1, render_resource_to_string/1]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. -file("src/caffeine_lang/codegen/generator_utils.gleam", 12). ?DOC(false). -spec render_terraform_config( list(terra_madre@terraform:resource()), terra_madre@terraform:terraform_settings(), list(terra_madre@terraform:provider()), list(terra_madre@terraform:variable()) ) -> binary(). render_terraform_config(Resources, Settings, Providers, Variables) -> Config = {config, {some, Settings}, Providers, Resources, [], Variables, [], [], []}, terra_madre@render:render_config(Config). -file("src/caffeine_lang/codegen/generator_utils.gleam", 34). ?DOC(false). -spec build_source_comment( caffeine_lang@linker@ir:intermediate_representation_meta_data() ) -> binary(). build_source_comment(Metadata) -> <<<<<<<<<<<<<<<<<<<<"# Caffeine: "/utf8, (erlang:element(3, Metadata))/binary>>/binary, "."/utf8>>/binary, (erlang:element(6, Metadata))/binary>>/binary, "."/utf8>>/binary, (erlang:element(4, Metadata))/binary>>/binary, "."/utf8>>/binary, (erlang:element(2, Metadata))/binary>>/binary, " (blueprint: "/utf8>>/binary, (erlang:element(5, Metadata))/binary>>/binary, ")"/utf8>>. -file("src/caffeine_lang/codegen/generator_utils.gleam", 52). ?DOC(false). -spec render_resource_to_string(terra_madre@terraform:resource()) -> binary(). render_resource_to_string(Resource) -> Config = {config, none, [], [Resource], [], [], [], [], []}, _pipe = terra_madre@render:render_config(Config), gleam@string:drop_end(_pipe, 1).