@igor.dvlpr/windev
v1.2.2
Published
🍃 Provides ways of checking whether a path is a legacy Windows device. 💾
Downloads
22
Maintainers
Readme
\\.\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 toModern 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 moduleimport
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
, andLPT9
. Also avoid these names followed immediately by an extension; for example,NUL.txt
is not recommended.”
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