With this package you can define some setters that are optional. So it change the value for the defined setters, but if you don't pass the key, it doesnt set the key.
npm install @trojs/objects
or
yarn add @trojs/objects
npm run test
or
yarn test
importDefaultMutatorfrom'@trojs/mutator'classExampleMutatorextendsDefaultMutator{setSkuAttribute(sku){return`*${sku}*`}}constresult=ExampleMutator.create({sku: '42',test: 'ok'}){sku: '*42*',test: 'ok'}constresult=ExampleMutator.create({sku: '42'}){sku: '*42*'}constresult=ExampleMutator.create({test: 'ok'}){test: 'ok'}You can also hydrate the object with new data
constresult=ExampleMutator.create({test: 'ok',test2: 'also ok'}){test: 'ok',test2: 'also ok'}result.hydrate({sku: 43}){test: 'ok',test2: 'also ok',sku: '*43*'}result.hydrate({test: 'another text'}){test: 'another text',test2: 'also ok',sku: '*43*'}