npm stats
  • Search
  • About
  • Repo
  • Sponsor
  • more
    • Search
    • About
    • Repo
    • Sponsor

Made by Antonio Ramirez

extract-path

2.0.0

@ruyadorno

npmHomeRepoSnykSocket
Downloads:42153
$ npm install extract-path
DailyWeeklyMonthlyYearly

extract-path

NPM version Build Status coveralls-image MIT license

Extract a valid fs path from a string.

extract-path is a node library that will attempt to find a possible valid file system path for a given input, validate its existance within the file system and return the matching value upon confirmation.

Table of Contents

  • About
  • Install
  • Usage
  • API
  • Credit
  • Contribute
  • License

About

The main use case for the lib is to be able to take valid path values out of verbose outputs such as those generated by a git status command:

  • modified: src/Router.js resolves to src/Router.js
  • ?? src/utils/__tests__/file.test.js resolves to src/utils/__tests__/file.test.js

This library was primarily put together for usage in iPipeTo which allows for its users to easily extract a path out of a random input value. Some extra effort was made to ensure extract-path works well as a separated lib in the hope that it can be useful for different use cases out there. Feel free to refer to iPipeTo source code as a implementation example if ever needed.

Install

npm install extract-path

Usage

// example.js
const extractPath = require('extract-path');

extractPath('Selected file: ~/Documents/foo.js ...')
	.then(path => {
		console.log(path);
		// ~/Documents/foo.js
	});

API

The API only exposes a single function, that receives a string and returns a Promise which resolves with a single, valid string value or undefined if there was no possible match.

extractPath(str, opts)

  • str string value to be parsed in order to extract a valid fs path
  • opts [optional] object containing the following:
    • validateFileExists boolean wether the module should validate the file exists, defaults to true
    • resolveWithFallback boolean uses a fallback system that matches the entire input if a path couldn't be infered from the input, defaults to true

Credit

extract-path is heavily inspired by the work done in PathPicker parsing algorithm and regular expressions.

Related

iPipeTo - Interactive Pipe To: The missing cli interactive workflow

Contribute

Please do! This is an open source project. If you have a bug or want to discuss something, open an issue.

License

MIT © 2018 Ruy Adorno