TODO refactor -- required support type array -- ex. [string, null] => string support anyOf and oneOf, when type is null add unit test -- error pattern -- file input pattern