function createFs(ftp) {
	return {
		lsDir() {
			return ftp.listDir();
		},
		async readFile(encoding) {
			const { data } = await ftp.readFile();
			if (encoding) {
				return decode(data, encoding);
			}
			return data;
		},
		async writeFile(content, encoding) {
			if (typeof content === "string" && encoding) {
				content = await encode(content, encoding);
			}

			return ftp.writeFile(content);
		},
		createFile(name, data = "") {
			return ftp.createFile(name, data);
		},
		createDirectory(name) {
			return ftp.createDir(name);
		},
		delete() {
			return ftp.delete();
		},
		copyTo(dest) {
			dest = Url.pathname(dest);
			return ftp.copyTo(dest);
		},
		moveTo(dest) {
			dest = Url.pathname(dest);
			return ftp.moveTo(dest);
		},
		renameTo(newname) {
			return ftp.rename(newname);
		},
		exists() {
			return ftp.exists();
		},
		stat() {
			return ftp.stat();
		},
		get localName() {
			return ftp.localName;
		},
	};
}
Create a fs like interface for the ftp client
@param {FtpClient} ftp
@returns