text: /* eslint import/prefer-default-export: 0 */
  
  import jsonp from 'jsonp';
  import querystring from 'querystring';
  
  let timeout;
  let currentValue;
  
  export function fetch(value, callback) {
    if (timeout) {
      clearTimeout(timeout);
      timeout = null;
    }
    currentValue = value;
  
    function fake() {
      const str = querystring.encode({
        code: 'utf-8',
        q: value,
      });
      jsonp(`http://suggest.taobao.com/sug?${str}`, (err, d) => {
        if (currentValue === value) {
          const result = d.result;
          const data = [];
          result.forEach(r => {
            data.push({
              value: r[1],
              text: r[0],
            });
          });
          callback(data);
        }
      });
    }
  
    timeout = setTimeout(fake, 300);
  }
  