Vincit / objection.js

An SQL-friendly ORM for Node.js

Home Page:https://vincit.github.io/objection.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TypeScript return type from $relatedQuery is not optional for optional relation

ryan-gray-db opened this issue · comments

I have a model with a relation that's optional, however when I use $relatedQuery to get the relation, the return type is not optional. I put together a small project to demonstrate!

Snippet from project:

const Example = async () => {
    const customer = await Customer.query().findById("123").throwIfNotFound();
    /**
     * The program relation on customer is an optional relation. I would expect this to be returned from $relatedQuery
     * as optional, but the typing is just Program
     */
    const program = await customer.$relatedQuery("program");
    console.log(program.id);
}

Example project:
https://github.com/ryan-gray-db/objection-relation