wrappedjs
TypeScript icon, indicating that this package has built-in type declarations

2.0.8 • Public • Published

Stay inline with WrappedJS

Inline tools for JavaScript and TypeScript.

This package provides wrapped versions of basic JavaScript code blocks like switch and try-catch, making them usable in a more inline fashion for flexible usage inside function parameters, chained calls, or simply in a single line of code. I created it out of frustration with not being able to use switch inline—hope it softens your coding experience :).


Installation

You can install the package via npm:

npm install wrappedjs

Features

  • Inline switch statement: Use a switch-like behavior with more flexibility, including a separator for grouping cases together.
  • Inline try-catch block: A wrapped version of try-catch that simplifies error handling for async functions or promises.

Usage

select

This function acts as a flexible switch-case statement and can be used inline, similar to a ternary operator. It allows you to define multiple keys for a single case using a separator.

Example 1: Using a separator

const result = select('case1', {
    'case1:case2': 'value1',
    'case3': 'value2'
}, ':');

console.log(result); // Output: 'value1'

Example 2: Using multiple keys for the same value (more efficient)

const result = select('case1', {
    'case1': 'value1',
    'case2': 'value1',
    'case3': 'value2'
});

console.log(result); // Output: 'value1'

Example 3: Using the from method

const result = select('case1')
    .from({
        'case1': 'value1',
        'case2': 'value2'
    });

console.log(result); // Output: 'value1'

try_catch

This function wraps your try-catch block, making it more concise and easier to use inline. It returns a tuple containing either the result or the error.

Example:

const [error, result] = await try_catch(async () => {
    // Some async code that might fail
    return await fetchData();
});

if (error) {
    console.error('Error:', error);
} else {
    console.log('Result:', result);
}

License

MIT License. Feel free to use, modify, and distribute this package under the terms of the MIT License.


Repository

GitHub Repository


Author

Miguel Ríos Marcos miguel12105marcos@gmail.com
GitHub: @mriioos
npm: @miguelrios


Package Sidebar

Install

npm i wrappedjs

Weekly Downloads

1

Version

2.0.8

License

ISC

Unpacked Size

12.5 kB

Total Files

4

Last publish

Collaborators

  • miguelrios