import 'core-js/features/array/find';
import 'core-js/features/array/includes';
import 'core-js/features/object';
import 'core-js/features/object/assign';
import 'core-js/features/promise';
import 'core-js/features/regexp';
import 'core-js/features/string/includes';

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

import { asyncWithLDProvider } from 'launchdarkly-react-client-sdk';
import { AppUtil } from './util/App.util';

export async function getLaunchDarklyId() {
  const launchDarklyId = await AppUtil.getLaunchDarklyClientId();
  return launchDarklyId.clientId;
}

(async () => {
  const LDProvider = await asyncWithLDProvider({
    clientSideID: await getLaunchDarklyId(),
    context: {
      key: 'default',
      name: 'Taoglas Config',
    },
    options: {
      /* ... */
    },
  });
  ReactDOM.render(
    <LDProvider>
      <App />
    </LDProvider>,
    document.getElementById('root')
  );
})();
