Skip to content

Commit

Permalink
experiment: Change function_co... to fa_co...
Browse files Browse the repository at this point in the history
  • Loading branch information
LoisSotoLopez committed Feb 5, 2024
1 parent bcb21dd commit 9a3f5f0
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 17 deletions.
18 changes: 9 additions & 9 deletions src/ndto_generator.erl
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ is_valid(Prefix, #{type := string} = Schema) ->
erl_syntax:clause(
[erl_syntax:variable('Val')],
type_guard(string),
chain_conditions(FunName, {function_condition, BodyFunPieces}, 'andalso')
chain_conditions(FunName, {fa_condition, BodyFunPieces}, 'andalso')
),
FalseClause = false_clause(<<FunName/binary, ".type">>, "Value is not a string"),
Clauses = clauses([OptionalClause, NullClause, TrueClause, FalseClause]),
Expand Down Expand Up @@ -239,7 +239,7 @@ is_valid(Prefix, #{type := integer} = Schema) ->
erl_syntax:clause(
[erl_syntax:variable('Val')],
type_guard(integer),
chain_conditions(FunName, {function_condition, BodyFunPieces}, 'andalso')
chain_conditions(FunName, {fa_condition, BodyFunPieces}, 'andalso')
),
FalseClause = false_clause(<<FunName/binary, ".type">>, "Value is not an integer"),
Clauses = clauses([OptionalClause, NullClause, TrueClause, FalseClause]),
Expand Down Expand Up @@ -289,7 +289,7 @@ is_valid(Prefix, #{type := float} = Schema) ->
erl_syntax:clause(
[erl_syntax:variable('Val')],
type_guard(float),
chain_conditions(Prefix, {function_condition, BodyFunPieces}, 'andalso')
chain_conditions(Prefix, {fa_condition, BodyFunPieces}, 'andalso')
),
FalseClause = false_clause(<<FunName/binary, ".type">>, "Value is not a float"),
Clauses = clauses([OptionalClause, NullClause, TrueClause, FalseClause]),
Expand Down Expand Up @@ -361,7 +361,7 @@ is_valid(Prefix, #{type := array} = Schema) ->
erl_syntax:clause(
[erl_syntax:variable('Val')],
type_guard(array),
chain_conditions(Prefix, {function_condition, BodyFunPieces}, 'andalso')
chain_conditions(Prefix, {fa_condition, BodyFunPieces}, 'andalso')
),
FalseClause = false_clause(<<FunName/binary, ".type">>, "Value is not an array"),
Clauses = clauses([OptionalClause, NullClause, TrueClause, FalseClause]),
Expand Down Expand Up @@ -418,7 +418,7 @@ is_valid(Prefix, #{type := object} = Schema) ->
erl_syntax:clause(
[erl_syntax:variable('Val')],
type_guard(object),
chain_conditions(FunName, {function_condition, BodyFunPieces}, 'andalso')
chain_conditions(FunName, {fa_condition, BodyFunPieces}, 'andalso')
),
FalseClause = false_clause(<<FunName/binary, ".type">>, "Value is not an object"),
Clauses = clauses([OptionalClause, NullClause, TrueClause, FalseClause]),
Expand Down Expand Up @@ -461,7 +461,7 @@ is_valid(Prefix, #{one_of := Subschemas} = Schema) when is_list(Subschemas) ->
erl_syntax:clause(
[erl_syntax:variable('Val')],
none,
chain_conditions(FunName, {function_condition, BodyFunPieces}, 'xor', true)
chain_conditions(FunName, {fa_condition, BodyFunPieces}, 'xor', true)
),
Clauses = clauses([OptionalClause, NullClause, TrueClause]),
Fun = erl_syntax:function(
Expand Down Expand Up @@ -504,7 +504,7 @@ is_valid(Prefix, #{any_of := Subschemas} = Schema) when is_list(Subschemas) ->
erl_syntax:clause(
[erl_syntax:variable('Val')],
none,
chain_conditions(FunName, {function_condition, BodyFunPieces}, 'orelse', true)
chain_conditions(FunName, {fa_condition, BodyFunPieces}, 'orelse', true)
),
Clauses = clauses([OptionalClause, NullClause, TrueClause]),
Fun = erl_syntax:function(
Expand Down Expand Up @@ -547,7 +547,7 @@ is_valid(Prefix, #{all_of := Subschemas} = Schema) when is_list(Subschemas) ->
erl_syntax:clause(
[erl_syntax:variable('Val')],
none,
chain_conditions(FunName, {function_condition, BodyFunPieces}, 'andalso', true)
chain_conditions(FunName, {fa_condition, BodyFunPieces}, 'andalso', true)
),
Clauses = clauses([OptionalClause, NullClause, TrueClause]),
Fun = erl_syntax:function(
Expand Down Expand Up @@ -1223,7 +1223,7 @@ is_valid_object(Prefix, properties, #{properties := Properties}) ->
Properties
),
FunPieces = object_properties_fun_pieces(PropertiesFuns),
FunBody = chain_conditions(FunName, {function_condition, FunPieces}, 'andalso'),
FunBody = chain_conditions(FunName, {fa_condition, FunPieces}, 'andalso'),

TrueClause = erl_syntax:clause(
[erl_syntax:variable('Val')],
Expand Down
16 changes: 8 additions & 8 deletions src/ndto_utils.erl
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
%%%-----------------------------------------------------------------------------
-spec evaluate_conditions(FunctionName, Conditions, EvaluateMode, IsSchemaComposition) -> Resp when
FunctionName :: atom(),
Conditions :: {function_condition, [FArgCondition]} | {fun_condition, [FunCondition]},
FArgCondition :: {FunctionName, Argument},
Conditions :: {fa_condition, [FACondition]} | {fun_condition, [FunCondition]},
FACondition :: {FunctionName, Argument},
FunctionName :: atom(),
Argument :: term(),
FunCondition :: function(),
Expand Down Expand Up @@ -170,22 +170,22 @@ internal_evaluate_andalso(ConditionsType, Conditions) ->

internal_evaluate_andalso(fun_condition, [Fun | Rest], Acc) ->
next_evaluate_andalso(fun_condition, Fun(), Rest, Acc);
internal_evaluate_andalso(function_condition, [{Function, Args} | Rest], Acc) ->
next_evaluate_andalso(function_condition, Function(Args), Rest, Acc).
internal_evaluate_andalso(fa_condition, [{Function, Args} | Rest], Acc) ->
next_evaluate_andalso(fa_condition, Function(Args), Rest, Acc).

internal_evaluate_orelse(fun_condition, [Fun | Rest]) ->
next_evaluate_orelse(fun_condition, Fun(), Rest);
internal_evaluate_orelse(function_condition, [{Function, Args} | Rest]) ->
next_evaluate_orelse(function_condition, Function(Args), Rest).
internal_evaluate_orelse(fa_condition, [{Function, Args} | Rest]) ->
next_evaluate_orelse(fa_condition, Function(Args), Rest).

internal_evaluate_xor(ConditionsType, Conditions) ->
FirstConditionIndex = length(Conditions) - 1,
internal_evaluate_xor(ConditionsType, Conditions, {FirstConditionIndex, []}).

internal_evaluate_xor(fun_condition, [Fun | Rest], Acc) ->
next_evaluate_xor(fun_condition, Fun(), Rest, Acc);
internal_evaluate_xor(function_condition, [{Function, Args} | Rest], Acc) ->
next_evaluate_xor(function_condition, Function(Args), Rest, Acc).
internal_evaluate_xor(fa_condition, [{Function, Args} | Rest], Acc) ->
next_evaluate_xor(fa_condition, Function(Args), Rest, Acc).

next_evaluate_andalso(_ConditionsType, true, [], _ConditionIndex) ->
true;
Expand Down

0 comments on commit 9a3f5f0

Please sign in to comment.