@igor.dvlpr/windev
TypeScript icon, indicating that this package has built-in type declarations

1.2.2 • Public • Published

\\.\WinDev

🍃 Provides ways of checking whether a path is a legacy Windows device. 💾


💃 Since v.1.1.0 this package provides both a CommonJS module and an ES module, thanks to Modern Module.

What do you need to do to use one or the other?

Nothing. If you need a CommonJS module require it, if you need an ES module import it instead. Simple, right?


When creating files or folders on Windows there are some rules about naming them, one of which is that te usage of legacy Windows devices' names as the folder/file name is prohibited, i.e.:

“Do not use the following reserved names for the name of a file:

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9. Also avoid these names followed immediately by an extension; for example, NUL.txt is not recommended.”

source: Microsot Docs


Be aware that there are some edge-cases that this module also handles, examples #4 and #7 illustrate that. Technically the provided strings in those two examples are not legacy devices but you are still not allowed to create files/directories with those names.


Usage

Install it by running

npm i "@igor.dvlpr/windev"

API

function isWindowsDevice(name: string) => boolean

Checks whether the given directory or file name is a legacy Windows device.


Examples


const { isWindowsDevice } = require('@igor.dvlpr/windev')

console.log(isWindowsDevice()) // prints false
console.log(isWindowsDevice('')) // prints false
console.log(isWindowsDevice('con')) // prints true
console.log(isWindowsDevice('con.txt')) // prints true
console.log(isWindowsDevice('cOm3')) // prints true
console.log(isWindowsDevice('COM7 ')) // prints true
console.log(isWindowsDevice(' COM2 .txt.al')) // prints true
console.log(isWindowsDevice('CONnection')) // prints false

Package Sidebar

Install

npm i @igor.dvlpr/windev

Weekly Downloads

9

Version

1.2.2

License

MIT

Unpacked Size

5.49 kB

Total Files

7

Last publish

Collaborators

  • igor.dvlpr