function createFs(url) {
	return {
		lsDir() {
			return externalFs.listDir(url);
		},
		async readFile(encoding) {
			let { data } = await externalFs.readFile(url, encoding);

			if (encoding) {
				data = await decode(data, encoding);
			}

			return data;
		},
		async writeFile(content, encoding) {
			if (typeof content === "string" && encoding) {
				content = await encode(content, encoding);
			}
			return externalFs.writeFile(url, content);
		},
		createFile(name, data) {
			data = data || "";
			return externalFs.createFile(url, name, data);
		},
		createDirectory(name) {
			return externalFs.createDir(url, name);
		},
		delete() {
			return externalFs.delete(url);
		},
		copyTo(dest) {
			return externalFs.copy(url, dest);
		},
		moveTo(dest) {
			const src = Url.dirname(url);
			if (Url.areSame(src, dest)) return Promise.resolve(url);
			return externalFs.move(url, dest);
		},
		renameTo(newname) {
			return externalFs.renameFile(url, newname);
		},
		async exists() {
			try {
				const stats = await externalFs.stats(url);
				return stats.exists;
			} catch (error) {
				return false;
			}
		},
		stat() {
			return externalFs.stats(url);
		},
	};
}
Initialize external file system
@param {string} url