Skip to main content

๐Ÿ‘‹parsed-path

< ๐Ÿ‘‹ >
parsed
path

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


Installationโ€‹

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 Intro

Quicklinks to some of the most-visited pages: Getting started

Examples and tutorials can be found here: API Reference


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 node module for parsing the path rules. For additional information about the supported prefixes visit their docs.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ dir โ”‚ base โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ root โ”‚ โ”‚ name โ”‚ ext โ”‚
parsed` /``home``user``dir``file``.tsx `
parsed` C:\\`` path``dir``file``.tsx `
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”˜

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