Open vittis opened 6 months ago
you have to do this by yourself.
...fetch(roomId) only has the Return-Type Entity
, without knowing your action model properties.
you may define a Type:
export type Room = {
id: string,
name: string,
members: string[]
};
and then use it like:
const room = <Room> await roomRepository.fetch(roomId);
Wish there was a better way? other than redefining
This
you have to do this by yourself.
...fetch(roomId) only has the Return-Type
Entity
, without knowing your action model properties.you may define a Type:
export type Room = { id: string, name: string, members: string[] };
and then use it like:
const room = <Room> await roomRepository.fetch(roomId);
I would much prefer if this was inferred from the schema when creating a repository like many other ORMs. It'd result in way fewer bugs and improve DX
💯 - this would be very useful to have
yea i end up having to define so many types eg. entity type, return from rest api type etc..
how can the typed repository fetch not even return the correct type? this is not even even a typescript library
This
you have to do this by yourself. ...fetch(roomId) only has the Return-Type
Entity
, without knowing your action model properties. you may define a Type:export type Room = { id: string, name: string, members: string[] };
and then use it like:
const room = <Room> await roomRepository.fetch(roomId);
I would much prefer if this was inferred from the schema when creating a repository like many other ORMs. It'd result in way fewer bugs and improve DX
this doesnt work though it needs to export type Room extends Entity
else it complains there is insufficient overlap
this is a fake ts library
I might be missing something trivial, but here's my case:
The error is:
That is because looks like there's no type inference. When I type "room." the properties doesn't show up. I tried creating a interface for Room and tried plugging into generics or casting but nothing worked...
I could check if room.members exists and then check if its type is array, is that what I'm supposed to do?