DoclerLabs / hexMachina

Releases, issues, documentation, website of hexMachina, framework written in Haxe
http://hexmachina.org
MIT License
44 stars 8 forks source link

MappingDefinition: function with optional params results in compile-time error #266

Open gene-pavlovsky opened 6 years ago

gene-pavlovsky commented 6 years ago

I'd like to have this in my array of MappingDefinitions, supplies as dependencies to an IDependencyOwner: mapping({fromType: "?String->Void", toValue: fooController.bar, withName: "bar"}).

The dependency owner has this: @Dependency(var bar:?String->Void)

HM 0.35.0 compile error: Missing mappings:[Null<String>->Void|bar] Changing fromType in DSL to Null<String>->Void - the code compiles. But the type is not exactly right (e.g. my function has a default non-null value for the string param).

HM 0.34.0 compile error: Missing mappings:[Dynamic->Void|bar] Changing fromType in DSL to Dynamic->Void - the code compiles. But this is not safe (I can pass e.g. a Bool->Void function and it compiles.

FrancisBourre commented 6 years ago

Thanks for the report. You're right, optional arguments are not handled by the checker yet. I will add it.

gene-pavlovsky commented 6 years ago

Thank you! Lovely :)