undefined-to-null
v1.0.6
Published
Convert undefined properties of an object to null and back again.
Downloads
3
Readme
undefined-to-null
Convert undefined properties of an object to null and back again.
Why would I want this?
There are a fair number of arguments for using undefined over null. However, some libraries, endpoints, and other tools require null, either because of the preference of that developer or a detail of how the properties are handled. Basically, I got tired of having to write
someFunctionThatNeedsNull({
// Some value that might be undefined needs to be coerced to null.
a: potentiallyUndefinedValue ?? null,
// Potentially undefined value that could otherwise use shorthand notation can't, because it has to be coerced to null.
b: b ?? null,
// Optional chaining needs to be coerced to null.
c: potentiallyNullOrUndefinedValue?.someProperty ?? null,
// The results of inlined functions that return undefined need to bo coerced to null.
d:
someArrayOfElements.find((element) => elementIsTheOneIWant(element)) ??
null,
});
and am willing to write
someFunctionThatNeedsNull(
undefinedToNull({
a: potentiallyUndefinedValue,
b,
c: potentiallyNullOrUndefinedValue?.someProperty,
// Bonus: Prettier doesn't force this to multiple lines now.
d: someArrayOfElements.find((element) => elementIsTheOneIWant(element)),
}),
);
Install
npm install undefined-to-null
Or, with yarn
:
$ yarn add undefined-to-null
Or pnpm
:
$ pnpm install undefined-to-null
Usage
import {nullToUndefined, undefinedToNull} from 'undefined-to-null';
const output = undefinedToNull({foo: undefined});
assert(output.foo === null);
// And back again.
const backAgain = nullToUndefined(output);
assert(backAgain.foo === undefined);
// It's no trick, the property's still there.
assert('foo' in backAgain);
API
nullToUndefined(input, recursive)
Converts the value of null properties of input
to undefined.
input
Type: Object
The input object whose null properties will be converted to undefined.
recursive
Type: Boolean
Whether to recursively convert null properties to undefined.
undefinedToNull(input, recursive)
input
Type: Object
The input object whose undefined properties will be converted to null.
recursive
Type: Boolean
Whether to recursively convert null properties to undefined.
License
MIT © Matthew Fernando Garcia