| 124 | ) |
| 125 | |
| 126 | const openOptions = (flag: FileSystem.OpenFlag = "r", mode?: number): Deno.OpenOptions => { |
| 127 | const modeOption = mode === undefined ? {} : { mode } |
| 128 | switch (flag) { |
| 129 | case "r": |
| 130 | return { read: true, ...modeOption } |
| 131 | case "r+": |
| 132 | return { read: true, write: true, ...modeOption } |
| 133 | case "w": |
| 134 | return { write: true, create: true, truncate: true, ...modeOption } |
| 135 | case "wx": |
| 136 | return { write: true, createNew: true, ...modeOption } |
| 137 | case "w+": |
| 138 | return { read: true, write: true, create: true, truncate: true, ...modeOption } |
| 139 | case "wx+": |
| 140 | return { read: true, write: true, createNew: true, ...modeOption } |
| 141 | case "a": |
| 142 | return { append: true, create: true, ...modeOption } |
| 143 | case "ax": |
| 144 | return { append: true, createNew: true, ...modeOption } |
| 145 | case "a+": |
| 146 | return { read: true, append: true, create: true, ...modeOption } |
| 147 | case "ax+": |
| 148 | return { read: true, append: true, createNew: true, ...modeOption } |
| 149 | } |
| 150 | } |
| 151 | |
| 152 | const makeFileInfo = (info: Deno.FileInfo): FileSystem.File.Info => ({ |
| 153 | type: info.isFile ? |