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
string
pattern
- @param
GlobOptions
options
- @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
string
path
- @param
Separator
separator default: '/'
- @returns
string
trimDir
Append last slash to directory.
- @param
string
dir
- @param
Separator
separator default: '/'
setDir
Set directory part of path.
- @param
string
path
- @param
string
dir
- @param
Separator
separator default: '/'
- @returns
string
Example
const { setDir } = require('file-path-helper');
const newPath = setDir('dir/old/file.txt', 'new');
Set directory part of path.
getLastNumber
Get last number from path.
- @param
string
path
- @returns
string
Example
const { getLastNumber } = require('file-path-helper');
const num = getLastNumber('my-favorite-13.txt');
removeLastNumber
Remove last number from file name.
- @param
string
file
- @returns
string
Example
const { removeLastNumber } = require('file-path-helper');
const file = removeLastNumber('my-favorite-13.txt');
autoIncrease
This method returns Promise object.
If the same file exists, It's returns filename what increased number.
- @param
string
path
- @returns
Promise<string>
auto increased path.
Example
const { autoIncrease } = require('file-path-helper');
const file = await autoIncrease('dogs.txt');
resolveOutputFile
Resolve output filename using templates such as {name}
, {source}
or {ext}
.
- @param
string
output
- @param
string
source
- @returns
string
Example
const { resolveOutputFile } = require('file-path-helper');
const output = resolveOutputFile('{name}-fixed.{ext}', 'dogs.txt');
bytesToSize
Converts bytes to human readable size. e.g. 10 MB
1.25 GB
- @param
number
bytes
- @param
number
decimals - default: 2
- @returns
string
Example
const { bytesToSize } = require('file-path-helper');
const fileSize = bytesToSize(2048);
parseSize
Parses string that includes file size and operator.
interface Size {
bytes: number;
operator: string;
}
- @param
string
size - e.g 1kb
10.5 MB
>1gb
=< 10 kb
- @returns
Size
Example
const { parseSize } = require('file-path-helper');
const size = parseSize('> 1mb');
String Methods
truncate
Truncate string what given length.
- @param
string
str
- @param
number
length
- @param
string
ellipsis - default: '…'
- @returns
string
Example
const { truncate } = require('file-path-helper');
const str = truncate('1234567890', 6);
sanitize
Sanitize string for filename safe.
- @param
string
str
- @returns
string
replacer - default: ''
Example
const { sanitize } = require('file-path-helper');
const str = sanitize(' he*llo/_<wo:rld');
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);
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;
});
chunks
Split array into chunks.
- @param
T[]
arr
- @param
number
size
- @returns
T[][]
Example
const arr = [1, 2, 3, 4, 5, 6, 7];
const res = chunks(arr, 3);
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
|Date
value
- @returns
ParsedDate
Example
const parsed = parseDate('feb 17, 1995 03:24:00');
getDates
Returns array of date strings.
- @param
string
value - 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');
diffDays
Returns difference between two dates.
- @param
string
|number
|Date
a
- @param
string
|number
|Date
b
- @returns
number
Example
const days = diffDays('2020-02-24', '2020-03-02');
License
MIT License