file-path-helper v1.4.5
File Path Helper
Helpful methods for handling file path.
Table of contents
- File Methods
- String Methods
- Array Methods
- Date Methods
- License
File Methods
globPromise
This method returns Promise object.
Glob promise.
- @param
stringpattern - @param
GlobOptionsoptions - @returns
Promise.<Array<string>, Error>
Example
const { globPromise } = require('file-path-helper');
async function getFiles() {
const files = await globPromise('*.*');
return files;
}replaceSeparator
Replace directory separator.
- @param
stringpath - @param
Separatorseparator default: '/' - @returns
string
trimDir
Append last slash to directory.
- @param
stringdir - @param
Separatorseparator default: '/'
setDir
Set directory part of path.
- @param
stringpath - @param
stringdir - @param
Separatorseparator default: '/' - @returns
string
Example
const { setDir } = require('file-path-helper');
const newPath = setDir('dir/old/file.txt', 'new');
// newPath = 'new/file.txt'Set directory part of path.
getLastNumber
Get last number from path.
- @param
stringpath - @returns
string
Example
const { getLastNumber } = require('file-path-helper');
const num = getLastNumber('my-favorite-13.txt');
// num = '13'removeLastNumber
Remove last number from file name.
- @param
stringfile - @returns
string
Example
const { removeLastNumber } = require('file-path-helper');
const file = removeLastNumber('my-favorite-13.txt');
// file = 'my-favorite.txt'autoIncrease
This method returns Promise object.
If the same file exists, It's returns filename what increased number.
- @param
stringpath - @returns
Promise<string>auto increased path.
Example
const { autoIncrease } = require('file-path-helper');
const file = await autoIncrease('dogs.txt');
// file = 'dogs (2).txt';resolveOutputFile
Resolve output filename using templates such as {name}, {source} or {ext}.
- @param
stringoutput - @param
stringsource - @returns
string
Example
const { resolveOutputFile } = require('file-path-helper');
const output = resolveOutputFile('{name}-fixed.{ext}', 'dogs.txt');
// output = 'dogs-fixed.txt'bytesToSize
Converts bytes to human readable size. e.g. 10 MB 1.25 GB
- @param
numberbytes - @param
numberdecimals - default: 2 - @returns
string
Example
const { bytesToSize } = require('file-path-helper');
const fileSize = bytesToSize(2048);
// fileSize = '2 KB'parseSize
Parses string that includes file size and operator.
interface Size {
bytes: number;
operator: string; // '>', '>=', '=' ...
}- @param
stringsize - e.g1kb10.5 MB>1gb=< 10 kb - @returns
Size
Example
const { parseSize } = require('file-path-helper');
const size = parseSize('> 1mb');
// size.bytes = 1048576
// size.operator = '>'String Methods
truncate
Truncate string what given length.
- @param
stringstr - @param
numberlength - @param
stringellipsis - default:'…' - @returns
string
Example
const { truncate } = require('file-path-helper');
const str = truncate('1234567890', 6);
// str = '12345…'sanitize
Sanitize string for filename safe.
- @param
stringstr - @returns
stringreplacer - default:''
Example
const { sanitize } = require('file-path-helper');
const str = sanitize(' he*llo/_<wo:rld');
// str = 'hello_world'Array Methods
naturalSort
Sorting array of alphanumerical strings naturally.
- @param
string[]arr - @returns
string[]
Example
const arr = [
'test 1.txt',
'test 11.txt',
'test 3.txt',
];
const sorted = naturalSort(arr);
// sorted = [
// 'test 1.txt',
// 'test 3.txt',
// 'test 11.txt',
// ];filter
Filtering an array with Promise.
- @param
T[]arr - filtering target array. - @param
function(T, number, T[]): Promise<boolean>cb - callback function for filtering. arguments is value, index, array. - @returns
Promise<T[]>
Example
const arr = [1, 2, 3, 4, 5];
const doSomething = () => Promise.resolve();
const res = await filter(arr, async v => {
await doSomething();
return (v % 2) == 1;
});
// res = [1, 3, 5]chunks
Split array into chunks.
- @param
T[]arr - @param
numbersize - @returns
T[][]
Example
const arr = [1, 2, 3, 4, 5, 6, 7];
const res = chunks(arr, 3);
// res = [[1, 2, 3], [4, 5, 6], [7]]Date Methods
parseDate
Parsing the value to date. it's useful handling 'date'(not hours and minutes) purpose.
interface ParsedDate {
date: Date;
year: number;
month: number;
day: number;
toDateString: () => string;
}- @param
string|number|Datevalue - @returns
ParsedDate
Example
const parsed = parseDate('feb 17, 1995 03:24:00');
// parsed = {
// date: new Date('feb 17, 1995 03:24:00'), // Date object
// year: 1995,
// month: 2,
// day: 17,
// }
// parsed.toDateString() // '1995-02-17' ISO date formatgetDates
Returns array of date strings.
- @param
stringvalue - date string. e.g. '2020-01-01' or '2020-01-01~2020-01-31' - @returns
string[]
Example
const dates = getDates('2020-02-01~2020-02-05');
// dates = [
// '2020-02-01',
// '2020-02-02',
// '2020-02-03',
// '2020-02-04',
// '2020-02-05',
// ]diffDays
Returns difference between two dates.
- @param
string|number|Datea - @param
string|number|Dateb - @returns
number
Example
const days = diffDays('2020-02-24', '2020-03-02');
// days = 7