https://github.com/tseijp/parsed-path
Use the best bits of ES6 to parse your path without stress π
https://github.com/tseijp/parsed-path
dir directory file filepath filesystem nodejs parse path reactjs stat typescript
Last synced: 3 months ago
JSON representation
Use the best bits of ES6 to parse your path without stress π
- Host: GitHub
- URL: https://github.com/tseijp/parsed-path
- Owner: tseijp
- License: mit
- Created: 2021-04-17T10:52:12.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-12-12T21:31:46.000Z (over 1 year ago)
- Last Synced: 2025-09-28T13:36:41.465Z (9 months ago)
- Topics: dir, directory, file, filepath, filesystem, nodejs, parse, path, reactjs, stat, typescript
- Language: TypeScript
- Homepage: https://tseijp.github.io/parsed-path/
- Size: 1.89 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# πparsed-path
```ruby
< π >
parsed
path
```
Use the best bits of ES6 to parse your path without stress π
[](
https://npmjs.com/package/parsed-path)
[](
https://npmjs.com/package/parsed-path)
[](
https://www.jsdelivr.com/package/npm/parsed-path)
[](
https://bundlephobia.com/result?p=parsed-path@latest)
[](
https://www.npmjs.com/package/parsed-path)
[](
https://www.npmjs.com/package/parsed-path)
[](
#installation)
[](
https://codecov.io/gh/tseijp/parsed-path)
[](
https://github.com/styled-components/styled-components)
## Installation
```ruby
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][intro]**
Quicklinks to some of the most-visited pages: **[Getting started][get]**
Examples and tutorials can be found here: **[API Reference][api]**
## 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:
```js
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.
```js
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!
```js
const File = Back`ignore.ts``
name: file;
ext: ${(props: any) => props.xml && '.tsx'};
`;
```
```jsx
to equal /home/user/file.ts
to equal /home/user/dir/file.tsx
```
`Parsed-path` uses **[node][node]** module for parsing the path rules.
For additional information about the supported prefixes visit their **[docs][docs]**.
```js
ββββββββββββββββββββββββ¬βββββββββββββ
β dir β base β
ββββββββ¬ ββββββββ¬ββββββ€
β root β β name β ext β
parsed` /``home``user``dir``file``.tsx `
parsed` C:\\`` path``dir``file``.tsx `
ββββββββ΄ββββββββββββββββ΄βββββββ΄ββββββ
```
This is a **[live editor][live]**,
so play around with the code to get a feel for
what it's like to work with `parsed-path`!
[intro]: https://tseijp.github.io/parsed-path/docs/intro
[get]: https://tseijp.github.io/parsed-path/docs/get
[api]: https://tseijp.github.io/parsed-path/docs/api
[live]: https://codesandbox.io/s/parsed-path-x66qy
[node]: https://github.com/nodejs/node/blob/master/lib/path.js
[docs]: https://nodejs.org/docs/latest/api/path.html#path_path_parse_path