import {
  useState,
  useEffect
} from 'react';

import {
  CascaderData
} from '@alicloud/console-components';

import {
  TLoading
} from '../types';

export default function useFetchDataSource(): [TLoading, CascaderData[]] {
  const [stateLoading, setStateLoading] = useState<TLoading>(0);
  const [stateDataSource, setStateDataSource] = useState<CascaderData[]>([]);
  
  useEffect(() => {
    setStateLoading(1);
    
    fetch('https://os.alipayobjects.com/rmsportal/ODDwqcDFTLAguOvWEolX.json')
        .then(response => response.json())
        .then(setStateDataSource)
        .then(() => setStateLoading(2))
        .catch(() => setStateLoading(-1));
  }, [setStateDataSource]);
  
  return [stateLoading, stateDataSource];
}
