Consider adding package level constants for types
Problem statement
Schema definition requires type declaration, which is for now is string, e.g.:
{name = "field", type = "int"}
which results in no help from ide preventing dumb typos
Proposed solution
Introduce package level constants, or a sub package for constants for all supported types, e.g.
{name = "field", type = avro_schema.int_type}
this results in a bit more typing, but much safer for usage.
Sub package seems a better solution as it could be scaled in future for example to contain "well known types" like in protobuf
It does not save us from a typo, because will give nil in the case. So it'll give an error on avro_schema.create() as well as it doing now. Don't see much value.
NB: We can add a metatable that'll give an error on attempt to access a non-existent constant (like it is proposed in https://github.com/tarantool/tarantool/issues/4923).