Use the best bits of ES6 to parse your path without stress šŸ‘‹

Downloads in past


0.1.192 years ago3 years agoMinified + gzip package size for parsed-path in KB


< šŸ‘‹ >

Use the best bits of ES6 to parse your path without stress šŸ‘‹
 version  Downloads  jsDelivr  minified size  types includes  license  module formats  codecov  style: styled-components


npm install parsed-path or yarn add parsed-path

Documentation and Examples

See the documentation for more information about parsed-path.

More info about the project can be found here: Tutorial Introintro
Quicklinks to some of the most-visited pages: Getting startedget
Examples and tutorials can be found here: API Referenceapi

What does it look like?

Utilising tagged template literals (a recent addition to JavaScript), parsed-path allows you to write pathname. This two example creates simple pathname. a Root and a File, with some parsed form to it:
import parsed from 'parsed-path';

const Root = parsed`/`;

const Path = Root`home``user``dir`;

You can pass a function to a template literal to adapt it based on its props. When setting the back prop to true, we are moving to its parent dir.
const Back = Path`
  ${(props: any) => props.back && '..'}

Parsed-path tagged pathform to parse your pathname. It also removes the mapping between pathname and pathform ā€“ using path as a low-level parsing construct could not be easier!
const File = Back`ignore.ts``
  name: file;
  ext: ${(props: any) => props.xml && '.tsx'};

<File back /> to equal /home/user/file.ts
<File xml /> to equal /home/user/dir/file.tsx

Parsed-path uses nodenode module for parsing the path rules. For additional information about the supported prefixes visit their docsdocs.

ā”‚           dir        ā”‚    base    ā”‚
ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”¬               ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”¤
ā”‚ root ā”‚               ā”‚ name ā”‚ ext ā”‚
parsed`    /``home``user``dir``file``.tsx `
parsed` C:\\``      path``dir``file``.tsx `

This is a live editorlive, so play around with the code to get a feel for what it's like to work with parsed-path!