( state: FileState, query: string, allFiles: ReadonlyArray<string> = state.allFiles )
| 2174 | } |
| 2175 | |
| 2176 | const updateFileState = ( |
| 2177 | state: FileState, |
| 2178 | query: string, |
| 2179 | allFiles: ReadonlyArray<string> = state.allFiles |
| 2180 | ): FileState => { |
| 2181 | const files = filterFiles(allFiles, query) |
| 2182 | if (files.length === 0) { |
| 2183 | return { ...state, query, allFiles, files, cursor: 0 } |
| 2184 | } |
| 2185 | const selected = state.files[state.cursor] |
| 2186 | const cursor = selected === undefined ? 0 : files.indexOf(selected) |
| 2187 | return { |
| 2188 | ...state, |
| 2189 | query, |
| 2190 | allFiles, |
| 2191 | files, |
| 2192 | cursor: cursor === -1 ? 0 : cursor |
| 2193 | } |
| 2194 | } |
| 2195 | |
| 2196 | const handleFileClear = (options: FileOptionsReq) => { |
| 2197 | return Effect.fnUntraced(function*(state: FileState, _: Action<FileState, string>) { |
no test coverage detected