1*dfe12d45SEvan Baconimport { assertUnexpectedObjectKeys, parseVariadicArguments } from '../utils/variadic'; 2*dfe12d45SEvan Bacon 3*dfe12d45SEvan Baconexport type Options = object; 4*dfe12d45SEvan Bacon 5*dfe12d45SEvan Baconexport async function resolveArgsAsync( 6*dfe12d45SEvan Bacon argv: string[] 7*dfe12d45SEvan Bacon): Promise<{ variadic: string[]; options: Options; extras: string[] }> { 8*dfe12d45SEvan Bacon const { variadic, extras, flags } = parseVariadicArguments(argv); 9*dfe12d45SEvan Bacon 10*dfe12d45SEvan Bacon assertUnexpectedObjectKeys([], flags); 11*dfe12d45SEvan Bacon 12*dfe12d45SEvan Bacon return { 13*dfe12d45SEvan Bacon // Variadic arguments like `npx expo install react react-dom` -> ['react', 'react-dom'] 14*dfe12d45SEvan Bacon variadic, 15*dfe12d45SEvan Bacon options: {}, 16*dfe12d45SEvan Bacon extras, 17*dfe12d45SEvan Bacon }; 18*dfe12d45SEvan Bacon} 19