input: Write a function to create a web scraper using Python BeautifulSoup to scrape product data from an online web store. The function should return a list of dictionaries where each dictionary contains the product's name, price, and description. If no products are found, the function should return an empty list.
  assert web_scraper('http://web-store.com') == [{'name': 'Product1', 'price': '$10', 'description': 'Description1'}, {'name': 'Product2', 'price': '$20', 'description': 'Description2'}]
  assert web_scraper('http://no-products.com') == []
output: 
  def web_scraper(url):
      from bs4 import BeautifulSoup
      import requests
      
      response = requests.get(url)
      soup = BeautifulSoup(response.text, 'html.parser')
      
      products = []
      for product in soup.find_all('div', class_='product'):
          name = product.find('h2', class_='name').text
          price = product.find('span', class_='price').text
          description = product.find('p', class_='description').text
          products.append({'name': name, 'price': price, 'description': description})
      
      return products
  