1.0.6 • Published 1 year ago

undefined-to-null v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

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

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago