Packages
caffeine_lang
5.4.3
6.3.1
6.3.0
6.2.2
6.2.1
6.2.0
6.1.2
6.1.1
6.1.0
6.0.0
5.6.0
5.5.0
5.4.4
5.4.3
5.4.2
5.4.1
5.4.0
5.3.0
5.2.0
5.1.1
5.1.0
5.0.12
5.0.11
5.0.10
5.0.8
5.0.7
5.0.6
5.0.5
5.0.4
5.0.1
5.0.0
4.10.0
4.9.0
4.8.3
4.8.2
4.8.1
4.8.0
4.7.9
4.7.8
4.7.7
4.7.6
4.7.5
4.6.7
4.6.6
4.6.5
4.6.4
4.6.3
4.6.2
4.6.0
4.5.1
4.5.0
4.4.4
4.4.3
4.4.1
4.4.0
4.3.7
4.3.6
3.0.6
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
1.0.2
1.0.1
0.1.0
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.2
0.0.1
A compiler for generating reliability artifacts from service expectation definitions.
Current section
Files
Jump to
Current section
Files
src/caffeine_lang@codegen@generator_utils.erl
-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, resolution_error/2]).
-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", 13).
?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", 35).
?DOC(false).
-spec build_source_comment(
caffeine_lang@linker@ir:intermediate_representation_meta_data()
) -> binary().
build_source_comment(Metadata) ->
<<<<<<<<<<<<<<<<<<<<"# Caffeine: "/utf8,
(erlang:element(
2,
erlang:element(3, Metadata)
))/binary>>/binary,
"."/utf8>>/binary,
(erlang:element(
2,
erlang:element(6, Metadata)
))/binary>>/binary,
"."/utf8>>/binary,
(erlang:element(2, erlang:element(4, Metadata)))/binary>>/binary,
"."/utf8>>/binary,
(erlang:element(2, erlang:element(2, Metadata)))/binary>>/binary,
" (measurement: "/utf8>>/binary,
(erlang:element(2, erlang:element(5, Metadata)))/binary>>/binary,
")"/utf8>>.
-file("src/caffeine_lang/codegen/generator_utils.gleam", 53).
?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).
-file("src/caffeine_lang/codegen/generator_utils.gleam", 71).
?DOC(false).
-spec resolution_error(binary(), binary()) -> caffeine_lang@errors:compilation_error().
resolution_error(Vendor_name, Msg) ->
caffeine_lang@errors:generator_terraform_resolution_error(Vendor_name, Msg).