diff --git a/config/datatype/types.go b/config/datatype/types.go new file mode 100644 index 0000000..d015707 --- /dev/null +++ b/config/datatype/types.go @@ -0,0 +1,12 @@ +package datatype + +// Validator returns whether a given value fulfills a datatype +// and casts the value into a compatible type +type Validator func(value interface{}) (cast interface{}, valid bool) + +// Builder builds a DataType from the type definition (from the +// configuration field "type") and returns NIL if the type +// definition does not match this DataType +type Builder interface { + Build(typeDefinition string) Validator +}