Skip to content

tseijp/parsed-path

Repository files navigation

πŸ‘‹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!