filic v3.6.5
An Advance File System API
š Homepage
Install
npm install filicIdeology
This library aims to simplify how applications access File System via fs API. The Filic API is really simple to use to make your experience great with File System API.
Filic uses object oriented approach to handle files and directories.
Filic's First Priority is to make API type-safe and simple.
Quick Start
import Filic from 'filic';
const fs = Filic.create() // new Filic
const greetings = fs.openFile("greetings.json")
greetings.writeSync([
"Good Morning",
"Good Afternoon",
"Good Night"
])
console.log(greetings.readSync()); // ["Good Morning","Good Afternoon","Good Night"]API
Types
import * as FilicTypes from 'filic/types/Filic.d';
import * as DirectoryTypes from 'filic/types/Directory.d';
import * as FileTypes from 'filic/types/File.d';Filic
static Filic.createAllows to create Filic Instance
import Filic from 'filic' const fs = Filic.create(BasePath, autoCreate?);- BasePath:
string- Path of Directory from where every path will be resolved. defaults to
process.cwd()
- Path of Directory from where every path will be resolved. defaults to
- autoCreateDir:
boolean- if
trueand theBasePathdoes not exists, it will create the directory. iffalseclient will not force createBasePathdirectory. defaults totrue
- if
- BasePath:
Filic.openDirOpens Directory
const users = fs.openDir("users", options?);- dirname:
string- Name of Directory that you want open
- options:
FilicTypes.DirectoryOptions
- dirname:
Filic.openFileOpens File
const foo = fs.openFile("foo", options?);- filename:
string- Name of File that you want open
- options:
FilicTypes.FileOptions
- filename:
Directory
const dir = fs.openDir(dirname, options?);- dirname:
string options:
Filic.DirectoryOptionsDirectory.openDiropens a directory inside the directory
dir.openDir(path, options?) // returns Directorypath:
string- path of the directory
- options:
FilicTypes.DirectoryOptions
Directory.openFileopens a file inside the directory
dir.openFile(path, options?) // returns Directorypath:
string- path of the file
- options:
FilicTypes.FileOptions
Directory.createCreate directory
const dir = fs.openDir("dir", { autoCreate: false }); dir.createSync(options?) // creates directoryoptions:
DirectoryTypes.createSyncOptions
Directory.deleteDelete Directory
dir.deleteSelfSync(options?)options:
DirectoryTypes.deleteSelfSyncOptions
Directory.listRaw- Raw Listing
dir.listRawSync();
- Raw Listing
Directory.list- Listing as Entity Instances
dir.listSync(); // returns (Directory | File)[]
- Listing as Entity Instances
Directory.deleteFiledelete File inside directory
dir.deleteFileSync(path, openFileOptions?, deleteOptions?);path:
string | File- Path/File Instance of the file you want to delete
- openFileOptions:
FilicTypes.FileOptions - deleteOptions:
FileTypes.deleteSyncOptions
Directory.deleteDirdelete Directory inside directory
dir.deleteDirSync(path, openDirOptions?, deleteSelfOptions?);path:
string | Directory- Path/Directory Instance of the file you want to delete
- openDirOptions:
FilicTypes.DirectoryOptions - deleteSelfOptions:
FileTypes.deleteSelfSyncOptions
Directory.cleardelete everything inside
dir.clearSync()
Directory.haschecks if file or directory exists inside
dir.has(path) // returns booleanpath:
string- path of file or directory
Directory.copyAllcopies all file inside to destination directory
dir.copyAllSync(destination, copyFileOptions?)destination:
Directory- copyFileOptions:
FileTypes.copyFileOptions
Directory.copycopies it self to destination directory
dir.copySync(destination)destination:
Directory
Directory.moveAllmoves all file inside to destination directory
dir.moveAllSync(destination)destination:
Directory
Directory.movemoves it self to destination directory
dir.moveSync(destination)destination:
Directory
Directory.secondCopyCreates second copy of self in parent directory
dir.secondCopySync(dirname)dirname:
string
Directory.searchCreates second copy of self in parent directory
dir.search(searchTerm, searchOptions)searchTerm:
string- searchOptions:
DirectoryTypes.searchOptions
Directory.$Executes a command in the directory
dir.$(command, options?)command:
string- options:
execa.Options
Directory.toFiliccreates
FilicInstance of directory Path asBasePathdir.toFilic() // returns Filic
get Directory.sizereturns size of directory in bytes
dir.size // returns number
get Directory.dirnamereturns directory name of directory
dir.dirname // returns string
File
const file = fs.openFile(filename, options?);- dirname:
string options:
Filic.FileOptionsFile.createCreate File
const file = fs.openFile("file", { autoCreate: false }); file.createSync(options?) // creates Fileoptions:
FileTypes.createSyncOptions
File.deletedelete File
file.deleteSync(options?) // deletes Fileoptions:
FileTypes.deleteSyncOptions
File.readRawreads content of file and returns as string
file.readRawSync(options?)options:
FileTypes.readRawSyncOptions
File.readreads content of file and returns custom string object
file.readSync(options?) // returns FileTypes.readSyncReturnoptions:
FileTypes.readSyncOptions
File.writeRawwrites string to file
file.writeRawSync(options?)options:
FileTypes.writeRawSyncOptions
File.write- writes to file and tries to parse if not provided string
Parser tries to parse JSON, Buffer, number.
file.writeSync(options?)options:
FileTypes.writeSyncOptions
File.appendAppends string at the end of the file
file.appendSync(content, readRawSyncOptions?, writeRawSyncOptions?) // returns new contentcontent:
string- readRawSyncOptions:
FileTypes.readRawSyncOptions - writeRawSyncOptions:
FileTypes.writeRawSyncOptions
File.prependPrepends string at the start of the file
file.prependSync(content, readRawSyncOptions?, writeRawSyncOptions?) // returns new contentcontent:
string- readRawSyncOptions:
FileTypes.readRawSyncOptions - writeRawSyncOptions:
FileTypes.writeRawSyncOptions
File.deletedeletes the file
file.deleteSync(options?)options:
FileTypes.deleteSyncOptions
File.copycopies the file to destination directory
file.copySync(destination, filename?, options?)destination:
Directory- filename:
string - options:
FileTypes.copySyncOptions
File.movemoves the file to destination directory
file.moveSync(destination, filename?, options?)destination:
Directory- filename:
string - options:
FileTypes.moveSyncOptions
File.secondCopyCreates second copy of self in parent directory
file.secondCopySync(filename)filename:
string
File.renamerename the name of the file
file.renameSync(filename)filename:
string
File.replaceWithreplace the file content with given File
file.replaceWithSync(file)file:
File
File.updateupdates file content with callback function
file.updateSync((content)=>{ return newContent });callback:
(content: FileTypes.readSyncReturn) => any
get File.sizereturns size of file in bytes
file.size // returns number
get File.dirnamereturns name of file
file.dirname // returns string
File.createReadStreamreturns read stream of file
file.createReadStream(options?);options:
FileTypes.createReadStreamOptions
File.createWriteStreamreturns write stream of file
file.createWriteStream(options?);options:
FileTypes.createWriteStreamOptions
File.checksumreturns checksum of file
file.checksum(options?)options:
FileTypes.checksumOptions
File.encryptencrypts file and stores the encrypted result in given file.
file.encrypt(key, file?, options?)key:
string- file:
File- by default the result will be stored in the same directory in file with filename
<filename>.enc
- by default the result will be stored in the same directory in file with filename
- options:
FileTypes.encryptOptions
File.decryptdecrypts file and stores the decrypted result in given file.
file.decrypt(key, file?, options?)key:
string- file:
File- by default the result will be stored in the same directory in file with filename
<filename>.dec
- by default the result will be stored in the same directory in file with filename
- options:
FileTypes.decryptOptions
get File.extensionreturns extension of file
file.extension // returns string
Common Methods between Directory and File
get absolutePathreturns absolute path of directory or file
dir.absolutePath // string // or file.absolutePath // string
get Filicreturns parent filic instance
dir.Filic // Filic // or file.Filic // Filic
get existsreturns if file or directory exists
dir.exists // boolean // or file.exists // boolean
get parentDirreturns parent directory as
DirectoryInstancedir.parentDir // Directory // or file.parentDir // Directory
get dirPathreturns parent directory absolute path
dir.dirPath // string // or file.dirPath // string
get statsreturns stats of entity
dir.stats // string // or file.stats // string
Author
š¤ Henil Malaviya
- E-mail: me@henil.xyz
- Website: henil.xyz
- Twitter: @henilmalaviya
- Github: @henil0604
š¤ Contributing
Contributions, issues and feature requests are welcome!Feel free to check issues page.
Show your support
Give a āļø if this project helped you!
2 years ago
2 years ago
2 years ago
3 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago