public virtual void Remove(string cartId, global::haxe.lang.Function callback)
        {
                        #line 38 "/my-component/src/shoppingcart/CartRepository.hx"
            {
                                #line 38 "/my-component/src/shoppingcart/CartRepository.hx"
                int _g = 0;
                                #line 38 "/my-component/src/shoppingcart/CartRepository.hx"
                global::Array <object> _g1 = this.carts;
                                #line 38 "/my-component/src/shoppingcart/CartRepository.hx"
                while ((_g < _g1.length))
                {
                                        #line 38 "/my-component/src/shoppingcart/CartRepository.hx"
                    global::shoppingcart.CartModel cart = ((global::shoppingcart.CartModel)(_g1[_g]));
                                        #line 38 "/my-component/src/shoppingcart/CartRepository.hx"
                    ++_g;
                    if ((cart.id == cartId))
                    {
                                                #line 40 "/my-component/src/shoppingcart/CartRepository.hx"
                        this.carts.@remove(cart);
                        callback.__hx_invoke0_o();
                                                #line 42 "/my-component/src/shoppingcart/CartRepository.hx"
                        return;
                    }
                }
            }

                        #line 45 "/my-component/src/shoppingcart/CartRepository.hx"
            callback.__hx_invoke0_o();
        }
 public virtual void Create(string storeId, global::haxe.lang.Function callback)
 {
                 #line 12 "/my-component/src/shoppingcart/ShoppingCartLogic.hx"
     global::shoppingcart.CartModel cart = new global::shoppingcart.CartModel();
     cart.storeId = storeId;
                 #line 14 "/my-component/src/shoppingcart/ShoppingCartLogic.hx"
     this.cartRepo.Add(cart, new global::shoppingcart.ShoppingCartLogic_Create_14__Fun(callback));
 }
 public virtual void Add(global::shoppingcart.CartModel cart, global::haxe.lang.Function callback)
 {
     unchecked {
                         #line 30 "/my-component/src/shoppingcart/CartRepository.hx"
         string cartId = global::Std.@string(this.counter);
         this.counter += 1;
                         #line 32 "/my-component/src/shoppingcart/CartRepository.hx"
         cart.id = cartId;
         this.carts.push(cart);
                         #line 34 "/my-component/src/shoppingcart/CartRepository.hx"
         callback.__hx_invoke1_o(default(double), cartId);
     }
                 #line default
 }
 protected static void __hx_ctor_shoppingcart_CartModel(global::shoppingcart.CartModel __hx_this)
 {
 }