Do your store functions easily
thor && thor.weapon && thor.weapon.stormbreaker
objectutils.get(thor,'weapon.stormbreaker')
if(!thor.info ) {
thor.info={}
}
if(!thor.info.name){
thor.info.name={}
}
thor.info.name.actorname = "Chris Hemsworth"
objectutils.put(avengers,"thor.info.name.actorname","Chris Hemsworth")
if(thor && thor.weapon && thor.weapon.stormbreaker){
delete thor.weapon.stormbreaker
}
objectutils.delete(thor,'weapon.stormbreaker')
import {objectutils} from 'hc-objectutils'
var avengers={
thor:{
info:{
name:{
castname:"Thor",
actorname:"Chris Hemsworth",
}
},
weapon:{
stormbreaker:{
activate:function(status){
console.log("Yeah!! its "+(status?"activated":"deactivated"));
}
}
}
}
}
objectutils.get(avengers,"thor.info.name.actorname");
=>Chris Hemsworth
objectutils.get(avengers,["thor","info","name","actorname"]);
=>Chris Hemsworth
objectutils.get(avengers,"thor.weapon.stormbreaker.activate")(true);
=>"Yeah!! its activated"
objectutils.get(avengers,"ironman.info.name.actoname");
=>undefined
This will not change the original object and returns a new object
import {objectutils} from 'hc-objectutils'
var avengers = {
ironman:{
info:{
name:"Tony Stark"
}
}
}
object.put(avengers,"ironman.info.name.actorname","Robert Downey")
=> {
ironman:{
info:{
name:{
actorname:"Robert Downey"
}
}
}
}
object.put(avengers,"ironman.info.name.actorname",function(val){ return val+" Jr"})
=> {
ironman:{
info:{
name:{
actorname:"Robert Downey Jr"
}
}
}
}
object.put(avengers,["ironman","info","name","castname"],"Tony Stark")
=> {
ironman:{
info:{
name:{
actorname:"Robert Downey Jr",
castname:"Tony Stark"
}
}
}
}
/*
console.log(avengers);
=> {
ironman:{
info:{
name:"Tony Stark"
}
}
}
*/
This will not change the original object. This will delete a key from object and returns a new object
import {objectutils} from 'hc-objectutils'
var avengers={
thor:{
info:{
name:{
castname:"Thor",
actorname:"Chris Hemsworth"
}
},
weapon:{
stormbreaker:{
activate:function(status){
console.log("Yeah!! its "+(status?"activated":"deactivated"));
}
}
}
}
}
/*
If the path exists in the given object,then it will delete the key,which is the path, from the object.
If the path doesn't exists,then it won't do any thing.
*/
objectutils.delete(avengers,"thor.info.name.actorname");
=>{
thor:{
info:{
name:{
castname:"Thor"
}
},
weapon:{
stormbreaker:{
activate:function(status){
console.log("Yeah!! its "+(status?"activated":"deactivated"));
}
}
}
}
}
/*
console.log(avengers);
=> {
thor:{
info:{
name:{
castname:"Thor",
actorname:"Chris Hemsworth"
}
},
weapon:{
stormbreaker:{
activate:function(status){
console.log("Yeah!! its "+(status?"activated":"deactivated"));
}
}
}
}
}
*/
This will clone, deeply of any object. ** Note: Don't use this method if object contains any functions **
var avengersClone = objectutils.cloneDeep(avengers)
This will clone, deeply of any object
var avengersClone = objectutils.cloneDeeper(avengers)
This will act like Object.assign but its assigning object deeply.
var avengers ={
ironman:{
info:{
name:{
actorname:"Robert Downey Jr",
castname:"Tony Stark"
}
}
}
};
var assignedObject = objectutils.deepAssign(avengers,{ironman:{info:{name:{actorname:"RDJ"}}}})
console.log(avengers);
=>{
ironman:{
info:{
name:{
actorname:"RDJ",
castname:"Tony Stark"
}
}
}
}
Omits the given keys and returns the target object
var avengers ={
ironman:"RDJ",
thor:"Chris",
hulk:"Mark"
}
objectutils.omit(avengers,["hulk","ironman"],{})
=>{
thor:"Chris"
}
Its opposite to omit.It takeout the keys from the object
var avengers ={
ironman:"RDJ",
thor:"Chris",
hulk:"Mark"
}
objectutils.extract(avengers,["hulk","ironman"],{})
=>{
ironman:"RDJ",
hulk:"Mark"
}
Merge given params into an array
import {arrayutils} from 'hc-storeutils'
arrayutils.merge(["thor","ironman"],["hulk","captain america"],"captain marvel",{name:"blackpanther"});
=>["thor","ironman","hluk","captain america","captain marvel",{name:"blackpanther"}]
Delete the elements and return a new array
var array = [1,200,3,4,5]
arrayutils.delete(array,200);
=>[1,3,4,5]
arrayutils.delete(array,[1,3]);
=>[200,4,5]
arrayutils.delete(array,(val,index)=>{ return(val%2==0)});
=> [200,4]
Omits the given keys from an array of objects
var array = [{id:1,name:"name1"},{id:2,name:"name2"}]
arrayutils.objectOmit(array,["id"])
=> [{name:"name1"},{name:"name2"}]
Extract the given keys from an array of objects
var array = [{id:1,name:"name1"},{id:2,name:"name2"}]
arrayutils.objectExtract(array,["id"])
=> [{id:1},{id:2}]