als-name-params
v2.0.0
Published
Encode and decode file names with support for custom naming schemes and validation across different operating systems.
Downloads
13
Readme
als-name-params
als-name-params
is a JavaScript library designed for encoding and decoding file names with platform-specific validations. It's especially useful for handling file naming constraints on different operating systems, such as Windows, Linux, and MacOS.
Features
- Encode and decode file names with special characters and reserved names on different platforms.
- Platform-specific file name validation.
- Convert object parameters to valid file names and back, with optional key mapping.
- Comprehensive handling of non-standard and extreme input cases.
Installation
npm install als-name-params
Basic Usage
const { encode, decode, paramsToName, nameToParams } = require('als-name-params');
// Basic encoding and decoding
encode('age>20') // 'age_x3E20'
decode('age_x3E20') // 'age>20'
// Encoding and decoding with platform specificity
encode('con', 'win32') // '_r636F6E'
decode('_r636F6E', 'win32') // 'con'
// Object to file name and reverse, with key mapping
const params = { user: 'Alice', project: 'Demo', version: '1.0' };
const keys = ['user', 'project', 'version'];
const fileName = paramsToName(params, keys, 'linux');
console.log(fileName); // 'Alice.Demo.1[.]0'
const params = nameToParams(fileName, keys, 'linux');
console.log(params); // { user: 'Alice', project: 'Demo', version: '1.0' }
Platform-Specific Encoding/Decoding
als-name-params
supports platform-specific encoding and decoding, which is essential for handling different file naming conventions and restrictions.
encode('aux', 'win32') // Special handling for Windows reserved name
decode('_r617578', 'win32') // Decodes back to 'aux' on Windows
encode('data/info', 'linux') // Handles Linux-specific characters
decode('data_x2Finfo', 'linux') // Decodes for Linux file naming conventions