Quantcast
Channel: Active questions tagged react-native+typescript - Stack Overflow
Viewing all articles
Browse latest Browse all 6287

Typescript returns "and" instead of "or" for parameters of functions

$
0
0

I'm currently developing a React Native app with Typescript.

I have a massive data download from server and a function for saving all data in it's corresponding table.

static insertVariousTable = (table: TypeTables) => {    switch (table) {      case 'clase':        return Clase.insertVarious;      case 'estadoequipo':        return EstadoEquipo.insertVarious;      case 'formapesopatron':        return FormaPesoPatron.insertVarious;    }  };

When I call the function the type is: (note that the return types could be any of them, I mean "or" (|) instead of "and" (&) and that's ok for me)

let insertVarious: ((rows: ClaseType[]) => Promise<unknown>) | ((rows: TypeEstadoEquipo[]) => Promise<unknown>) | ((rows: FormaPesoPatronType[]) => Promise<...>) | undefined

But when I'm trying to call the function with await (inside an async function) it changes the types of the function parameters to "and" (&).

async function download(res:IRes){for (key in res.data) {    if (Object.prototype.hasOwnProperty.call(res.data, key)) {      const tabla = res.data[key];      let insertVarious = DbRequests.insertVariousTable(key);      if (insertVarious) {        await insertVarious(tabla);      }    }  }}

The "await insertVarios(tabla)" parameter type becomes: (with "and" (&))

let insertVarious: (rows: ClaseType[] & TypeEstadoEquipo[] & FormaPesoPatronType[]) => Promise<unknown>

I need the type to be "or" (|) so I can send any of them, how can I fix this?

Please help....

Thanks in advance


Viewing all articles
Browse latest Browse all 6287

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>