var cartLS = (function (a) {
    "use strict";
    function b(a, b, c) {
        return b in a ? Object.defineProperty(a, b, { value: c, enumerable: !0, configurable: !0, writable: !0 }) : (a[b] = c), a;
    }
    function c(a, b) {
        var c = Object.keys(a);
        if (Object.getOwnPropertySymbols) {
            var d = Object.getOwnPropertySymbols(a);
            b &&
                (d = d.filter(function (b) {
                    return Object.getOwnPropertyDescriptor(a, b).enumerable;
                })),
                c.push.apply(c, d);
        }
        return c;
    }
    function d(a) {
        for (var b, d = 1; d < arguments.length; d++)
            (b = null == arguments[d] ? {} : arguments[d]),
                d % 2
                    ? c(b, !0).forEach(function (c) {
                          f(a, c, b[c]);
                      })
                    : Object.getOwnPropertyDescriptors
                    ? Object.defineProperties(a, Object.getOwnPropertyDescriptors(b))
                    : c(b).forEach(function (c) {
                          Object.defineProperty(a, c, Object.getOwnPropertyDescriptor(b, c));
                      });
        return a;
    }
    var e = (function (a, b) {
            return (b = { exports: {} }), a(b, b.exports), b.exports;
        })(function (a) {
            function b(a) {
                return (
                    (b =
                        "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
                            ? function (a) {
                                  return typeof a;
                              }
                            : function (a) {
                                  return a && "function" == typeof Symbol && a.constructor === Symbol && a !== Symbol.prototype ? "symbol" : typeof a;
                              }),
                    b(a)
                );
            }
            function c(d) {
                return (
                    (a.exports =
                        "function" == typeof Symbol && "symbol" === b(Symbol.iterator)
                            ? (c = function (a) {
                                  return b(a);
                              })
                            : (c = function (a) {
                                  return a && "function" == typeof Symbol && a.constructor === Symbol && a !== Symbol.prototype ? "symbol" : b(a);
                              })),
                    c(d)
                );
            }
            a.exports = c;
        }),
        f = b,
        g = "__cart",
        h = null,
        i = function (a) {
            h = a;
        },
        j = function (a) {
            return JSON.parse(localStorage.getItem(a || g)) || [];
        },
        k = function (a, b) {
            localStorage.setItem(b || g, JSON.stringify(a)), h && h(j(b || g));
        },
        l = function (a) {
            localStorage.removeItem(a || g), h && h(j(a || g));
        },
        m = function (a) {
            return j().find(function (b) {
                return b.id === a;
            });
        },
        n = function (a) {
            return !!m(a);
        },
        o = function (a) {
            return k(
                j().filter(function (b,i) {
                    return i !== a;
                })
            );
        },
        p = function (a, b, c) {
            return k(
                j().map(function (e,i) {
                    return i === a ? d({}, e, f({}, b, c)) : e;
                })
            );
        },
        pid = function (a, b, c) {
            return k(
                j().map(function (e,i) {
                    return e.id === a ? d({}, e, f({}, b, c)) : e;
                })
            );
        },
        q = function (a) {
            return a.id && a.price;
        },
        r = function (a) {
            return s(a) ? a.price * a.quantity : 0;
        },
        s = function (a) {
            return a && a.price && a.quantity;
        },
        t = function (a) {
            return a && "function" == typeof a;
        };
    return (
        (a.add = function (a, b) {
            

            if(a.attr ==1  && localStorage.getItem(g) )
            {
      
      //console.log("if m  gya");
        
      
     
     var attr_obj = a.attr_array;
     
    
var attr_array_2 = JSON.parse(attr_obj);

      var json_cart = JSON.parse(localStorage.getItem(g));
     
     if(json_cart.length)
     {
        // console.log("gya json m",json_cart.length);
         
         if(n(a.id))
         {
            
            //console.log(n(a.id));
          var  need_arr = [];
            
           for (var prop2 in json_cart) {
              
                   if(json_cart[prop2].id === a.id)
      
                 {
                      need_arr.push(json_cart[prop2]);
                 }
      }
                
               
            var add = false; 
            var check = false;
            
            json_cart.map(function (json_cart_map,i) {
                      
                      if(json_cart_map.id == a.id )
                      {
                if(add===false)
                {
                    
                    
                    if(json_cart_map.attr_array == JSON.stringify(attr_array_2) )
                    {
                         
                        // console.log(true);

                         json_cart_map.quantity +=   1;
                        
                         json_cart[i] = json_cart_map;
                        
                       //  console.log(json_cart);
                        
                         localStorage.setItem( g , JSON.stringify(json_cart));
                         
                         check = true ;
                          
                         add = true;
                         
                    }
                    
                    
                } 
                      }
            })
            if(check=== false)
            {
                add=true;
                       // console.log(false);
                        k(j().concat(d({}, a, { quantity: b || 1 })));
            }
                
         }
         else{
             return  k(j().concat(d({}, a, { quantity: b || 1 })));
         }
         
     }
     else{
     
        return  k(j().concat(d({}, a, { quantity: b || 1 })));
     }


            }
            else{
                //console.log("if m nhi gya",a);
            return q(a) ? (n(a.id) ? pid(a.id, "quantity", m(a.id).quantity + (b || 1)) : k(j().concat(d({}, a, { quantity: b || 1 })))) : null;
            }
        }),
        (a.destroy = function () {
            return l();
        }),
        (a.exists = n),
        (a.get = m),
        (a.list = j),
        (a.onChange = function (a) {
           // console.log(a);
            return t(a) ? i(a) : console.log(e(a));
        }),
        (a.quantity = function (a, b) {
         //   console.log("a.quantity",a);
            
            if(b == 0)
            {
             //return n(a) && 0 < m(a).quantity + b ? null : o(a);   
            }
           
          else{
               
                      var json_cart = JSON.parse(localStorage.getItem(g));
                       
                      json_cart[a].quantity  = json_cart[a].quantity + b  ;
                       
                       p(a, "quantity", json_cart[a].quantity); 
                        
                      // console.log(json_cart);
                        
                         
                       
                      localStorage.setItem( g , JSON.stringify(json_cart));
                      
                     
          }
            // else{
            //     return n(a) && 0 < m(a).quantity + b ? p(a, "quantity", m(a).quantity + b) : o(a);   
            // }
            
        }),
        (a.remove = o),
        (a.subtotal = r),
        (a.total = function (a) {
            return j().reduce(function (b, c) {
                return t(a) ? a(b, c) : (b += r(c));
            }, 0);
        }),
        (a.update = p),
        a
    );
})({}); //# sourceMappingURL=cart-localstorage.min.js.map

