feature(dir) add isDir