@vm-lib/react-object-mapper

This library is used for copying properties from a source object to a destination object

Usage no npm install needed!

<script type="module">
  import vmLibReactObjectMapper from 'https://cdn.skypack.dev/@vm-lib/react-object-mapper';
</script>

README

NPM npm

react-object-mapper

This library is used for copying properties from a source object to a destination object, with configurations options based on which the library chooses to copy, skip or merge certain properties.

Download

react-object-mapper is available at npm and you can download it to your react project by running the following command.

npm install --save @vm-lib/react-object-mapper

Import

import ObjectMapper from "@vm-lib/react-object-mapper/om/ObjectMapper";

Basic Usage

In it's most basic form, the object mapper can be used to make a deep copy of an object.

ObjectMapper.copyProperties(<srcObj>, <targetObj> [,<objectMappingObj>])

copyProperties always returns a new object. It takes at a minimum a source_object & a target_object as params. The target object can be an empty object for the basic copy, or can be an existing object into which properties from the source_object have to be copied or merged..

import ObjectMapper from "@vm-lib/react-object-mapper/om/ObjectMapper";

let src = {
  prop1: "val1",
  prop2: "val2",
};
let target = {};
let enrichedObj = ObjectMapper.copyProperties(src, target);
// ----------- Output -----------
// enrichedObj =
{
    prop1:"val1",
    prop2:"val2",
}

Sandbox

The sandbox is available here: react-object-mapper-sandbox

Options

  1. Copy All [Default Mode]
let src = {
  prop1: "val1",
  prop2: "val2",
};
let target = {};

let enrichedObj = ObjectMapper.copyProperties(src, target, {
  [ObjectMapper.PROP_PROPERTIES]: ObjectMapper.PROPS_MAP_DEFAULT,
});
//the output object
{
    prop1:"val1",
    prop2:"val2",
}
  1. Copy only specific properties [Strict Mode]
  2. Merge i.e. copy only those properties from the source whose values are empty in the target

License

Apache-2