use dart:js instead of package:js
add @namesWithUnderscores
remove generics in List check
handle DateTime
use dart formatter on generated files
update TODO
add @isEnum