2.0.0 • Published 1 year ago

als-name-params v2.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

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
2.0.0

1 year ago

1.0.0

1 year ago