Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

file-path-helper

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

file-path-helper

Helpful methods for handling file path.

  • 1.4.5
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

File Path Helper

Helpful methods for handling file path.

Table of contents

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.g 1kb 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

License

MIT License

Keywords

FAQs

Package last updated on 03 Apr 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc