Find files and folders with SQL-like queries.
The tool is inspired by fselect.
In order to use the tool, import the function fsselect and call it with an sql-like query. That's easy.
import { fsselect } from 'https://deno.land/x/fsquery/mod.ts'; const entries = await fsselect("select * from ."); console.log(entries); Output:
[ { name: "mod.ts", isFile: true, isDirectory: false, isSymlink: false, size: 141, accessedAt: 2021-04-14T04:17:46.944Z, createdAt: 2021-04-13T21:00:12.353Z, modifiedAt: 2021-04-14T04:16:16.692Z }, { name: "tests", isFile: false, isDirectory: true, isSymlink: false, size: 0, accessedAt: 2021-04-14T04:16:17.857Z, createdAt: 2021-04-14T04:16:11.120Z, modifiedAt: 2021-04-14T04:16:11.120Z } ] function fsselect(query: string): Promise<IDirEntry[]> - select directory entries from a folder. The data returned as the array of objects.
export interface IDirEntry { name?: string; size?: number; createdAt?: Date | null; modifiedAt?: Date | null; accessedAt?: Date | null; isFile?: boolean; isDirectory?: boolean; isSymlink?: boolean; } The list of supported operators: >, <, =, <>, like.
select * from .
select * from root
select * from root/sub-a
select * from root where size > 1000000
select * from root where isDirectory = true
select * from root where isFile <> false
select * from root where name = 'root.txt'
select * from root where name like '%.txt'