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

1.0.2 • Public • Published

🫡 Default Values 🫡

Default Values is released under the MIT license. Default values passed the testing Current npm package version.

This library aims to provide the most necessary default values. Stop creating variables all over the code!

Installation

For npm

npm install default-values

For yarn

yarn add default-values

Includes

  • empty array: 'EMPTY_ARRAY' or 'E_ARR';
  • empty object: 'EMPTY_OBJECT' or 'E_OBJ';
  • empty callback: 'EMPTY_CALLBACK' or 'E_CB';

What's the problem?

We all use some default values. And we can do it as follows:

const myValue = someValue ?? {}; // {} - defualt value
// or
myValue ??= []; // [] - default value
// or ...

But sometimes we need to have a stable reference to the default value for some tasks. Let's look at the following React component.

const ParentComponent = () => {
  // ...
  const list = listOrNull ?? [];
  return <MemoHeavyList list={list} />
}

If the variable 'listOrNull' is null, then each time the Parent Component function is called, the variable 'list' will have a new reference to an empty array, which will cause the 'MemoHeavyList' component rerender.

We can solve this problem as follows:

import {EMPTY_ARRAY} from 'default-values'

const ParentComponent = () => {
  // ...
  const list = listOrNull ?? EMPTY_ARRAY; // EMPTY_ARRAY instead of [];
  return <MemoHeavyList list={list} />
}

For such cases, the library provides various typical variables that can be used as default values.

👨‍💻 Author

Sergey Rozhkov

🎯 Was it helpful?

Do you like it and find it helpful? You can help this project in the following way:

  • Put the star.
  • 💡 Suggest your ideas.
  • 😉 Open a founded issue.

📄 License

Default Values is MIT licensed, as found in the LICENSE file.

Package Sidebar

Install

npm i default-values

Weekly Downloads

242

Version

1.0.2

License

MIT

Unpacked Size

6.56 kB

Total Files

8

Last publish

Collaborators

  • rozhkov