Packages
caffeine_lang
3.0.2
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@frontend@ast.erl
-module(caffeine_lang@frontend@ast).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/caffeine_lang/frontend/ast.gleam").
-export_type([blueprints_file/0, type_alias/0, expects_file/0, extendable/0, extendable_kind/0, blueprints_block/0, blueprint_item/0, expects_block/0, expect_item/0, struct/0, field/0, value/0, literal/0]).
-type blueprints_file() :: {blueprints_file,
list(type_alias()),
list(extendable()),
list(blueprints_block())}.
-type type_alias() :: {type_alias,
binary(),
caffeine_lang@common@accepted_types:accepted_types()}.
-type expects_file() :: {expects_file,
list(extendable()),
list(expects_block())}.
-type extendable() :: {extendable, binary(), extendable_kind(), struct()}.
-type extendable_kind() :: extendable_requires | extendable_provides.
-type blueprints_block() :: {blueprints_block,
list(binary()),
list(blueprint_item())}.
-type blueprint_item() :: {blueprint_item,
binary(),
list(binary()),
struct(),
struct()}.
-type expects_block() :: {expects_block, binary(), list(expect_item())}.
-type expect_item() :: {expect_item, binary(), list(binary()), struct()}.
-type struct() :: {struct, list(field())}.
-type field() :: {field, binary(), value()}.
-type value() :: {type_value,
caffeine_lang@common@accepted_types:accepted_types()} |
{literal_value, literal()}.
-type literal() :: {literal_string, binary()} |
{literal_integer, integer()} |
{literal_float, float()} |
literal_true |
literal_false |
{literal_list, list(literal())} |
{literal_struct, list(field())}.