@igor.dvlpr/my-file-path v1.0.1
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 IDEFunctions
isMyFilePath
function isMyFilePath<Ext extends string>(
filePath: string,
extension: Ext
): booleanChecks 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
): voidAsserts 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
๐ Provides a universal way of formatting file-paths in Unix-like and Windows operating systems as an alternative to the built-in path.normalize(). ๐งฌ
๐งฒ Provides ways of properly checking if a path exists inside a given array of files/directories both on Windows and UNIX-like operating systems. ๐บ
๐งฐ Provides ways of testing whether a given value can be a valid file/directory name. ๐
๐ง Zep is a zero-dependency, efficient debounce module. โฐ
๐ฑ Odin is an Object wrapper that allows you to create objects and set their attributes - all at once! ๐บ