Filesaver API ============ - [Filesaver](#Filesaver) - [folder](#folder) - [put](#put) - [add](#add) Filesaver( folders ) ------------------------------------------------------------ Filesaver constructor. **Parameters:** - **folders** *Object*: Folders schema Options: - folders: *Object* with folder routes - safename: *Boolean* use safe name for files Example: ```js var folders = { images: './images', books: './books' } var filesaver = new Filesaver({ folders: folders, safenames: true }); ``` folder( name, path, callback ) ------------------------------------------------------------ Add a new folder **Parameters:** - **name** *String*: name of new folder collection - **path** *Object*: path to its folder - **callback** *Function*: no signature callback Example: ```js filesaver.folder( 'documents', './path/to/folder', function () { // do something }); ``` put( folder, oldPath, newPath, callback ) ------------------------------------------------------------ Write or overwrite file **Parameters:** - **folder** *String*: name of parent folder folder - **oldPath** *String*: path to origin file - **newPath** *String*: name of newPath file - **callback** *Function*: Signature: error, data. Data signature:{filename, filepath} Example: ```js filesaver.put( 'images', '/path/temp/file.jpg', 'photo.jpg', function (err, data) { console.log( data ); // -> // filename: 'photo.jpg', // filepath: './images/photo.jpg' }); ``` add( folder, oldPath, newPath, callback ) ------------------------------------------------------------ Write a file without overwriting any file **Parameters:** - **folder** *String*: name of parent folder folder - **oldPath** *String*: path to origin file - **newPath** *String*: Optional: name of newPath file - **callback** *Function*: Optional: Signature: error, data. Data signature:{filename, filepath} Example: ```js filesaver.add( 'images', '/path/temp/file.jpg', 'photo_1.jpg', function (err, data) { console.log( data ); // -> // filename: 'photo_2.jpg', // filepath: './images/photo_2.jpg' }); ```