file-path-helper
v1.4.5
Published
Helpful methods for handling file path.
Downloads
13
Readme
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');
// newPath = 'new/file.txt'
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');
// num = '13'
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');
// file = 'my-favorite.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');
// file = 'dogs (2).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');
// output = 'dogs-fixed.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);
// fileSize = '2 KB'
parseSize
Parses string that includes file size and operator.
interface Size {
bytes: number;
operator: string; // '>', '>=', '=' ...
}
- @param
string
size - e.g1kb
10.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
string
str - @param
number
length - @param
string
ellipsis - default:'…'
- @returns
string
Example
const { truncate } = require('file-path-helper');
const str = truncate('1234567890', 6);
// str = '12345…'
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');
// 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
number
size - @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
|Date
value - @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 format
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');
// 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
|Date
a - @param
string
|number
|Date
b - @returns
number
Example
const days = diffDays('2020-02-24', '2020-03-02');
// days = 7