1.0.1 โ€ข Published 8 months ago

@igor.dvlpr/my-file-path v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

My file path

๐ŸŒŸ An npm module that strongly types file paths! ๐ŸฅŠ

๐Ÿ•ต๐Ÿผ Usage

Install it by executing:

npm i "@igor.dvlpr/my-file-path"

๐Ÿคน๐Ÿผ API

The module exposes a generic type and 3 generic functions.

Type

type FilePath<ext extends string>

Use this type for compile-time safety.

index.ts

type JsonFile = FilePath<'json'>

const filePathJson: JsonFile = 'abc.json' // works in the IDE
const filePathTxt: JsonFile = 'abc.txt' // will not work in the IDE

Functions

isMyFilePath

function isMyFilePath<Ext extends string>(
  filePath: string,
  extension: Ext
): boolean

Checks whether the provided filepath conforms with the provided file extension.

Generic parameter:

Ext - the file extension to use with the generic, without a leading dot.

Function parameters:

filePath - the filepath to check. extension - the file extension to perform the check with.

Will not throw. Returns a boolean.

createMyFilePath

function createMyFilePath<Ext extends string>(
  filePath: string,
  extension: Ext
): FilePath<Ext>

Checks whether the provided filepath conforms with the provided file extension and returns it if true. Otherwise it returns an empty string.

Generic parameter:

Ext - the file extension to use with the generic, without a leading dot.

Function parameters:

filePath - the filepath to check. extension - the file extension to perform the check with.

Will not throw. Returns a FilePath<Ext>.

assertMyFilePath

function assertMyFilePath<Ext extends string>(
  filePath: string,
  extension: Ext,
  errorMessage?: string
): void

Asserts whether the provided filepath conforms with the provided file extension.

Generic parameter:

Ext - the file extension to use with the generic, without a leading dot.

Function parameters:

filePath - the filepath to check. extension - the file extension to perform the check with. errorMessage - the error message to throw.

Will throw if the filepath doesn't conform the provided extension. Returns a void.

๐Ÿชช License

Licensed under the MIT license which is available here, MIT license.


๐Ÿงฌ Related

uPath

๐ŸŽ Provides a universal way of formatting file-paths in Unix-like and Windows operating systems as an alternative to the built-in path.normalize(). ๐Ÿงฌ

pathexists

๐Ÿงฒ Provides ways of properly checking if a path exists inside a given array of files/directories both on Windows and UNIX-like operating systems. ๐Ÿ—บ

valid-path

๐Ÿงฐ Provides ways of testing whether a given value can be a valid file/directory name. ๐Ÿœ

Zep

๐Ÿง  Zep is a zero-dependency, efficient debounce module. โฐ

Odin

๐Ÿ”ฑ Odin is an Object wrapper that allows you to create objects and set their attributes - all at once! ๐Ÿ”บ