drizzle-team / drizzle-team/drizzle-orm
[BUG]: Loosing ability to add more than one join/where/etc call when using a generic type definition on a method
- Dominant language
- TypeScript
- Stars
- 35.8k
- Forks
- 1.6k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 4
Description
### What version of `drizzle-orm` are you using?
0.29.1
### What version of `drizzle-kit` are you using?
0.20.7
### Describe the Bug
I need to be able to create a method that returns a select query with the selected fields coming from the argument in the method. I can't seem to get this to work as I want. What happens, is that I cannot do more than one chained function call after the `from` call.
Please see the provided [example](https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAbwFBzgYSgUwIY0wBQHMBlTAG0wGMYAxKCEAIQFdgyATTKAWQk4BoUcIgBVsAIwoB1YDAAWaCGWYgAdgGdBqUhWqZ2NYOXaahYQmMmYtcdV2DYyNvAA8YggL5wAZvRBwAInYoYAAvUIoAWmgQAHpzSMpoTACAbiRQSFhEOGCwiMw4L18GQLzwqJjY1T5MSMh1GEIsdTSM8Gh4BDhMAEd+OGIARQAZIp8-MpCKupi2zM6cgHFMGB0qGEsKADlsEELiyaDpguioON7mLgBPSPFWDi51WLtdGAA6GGuwTFb0pEwLiy8CSGngIGwwFUcAAvHBzFtMAAKAIQqEBAbIVDAdgALls9kcKJxAQAlDZVHtMPjXDAUZT9mTPKT-oDgXBQY04AArCBQgCMsPhFgkFBRvIFGMQQhx+LsISJARJ5KEaNUAEk8QSFWQUWqAPrK95YbxcTCqSi-JFI0mwgB8cDV7xxKtQYHoYBpgLpAXdEDATKQHhZSABQMWnPgEtUACYhQjRciAtGY1KsXBZdqHLqlexA6g1Zq5YScwajSazRarTb7Y7IapnexXfCPV63Ci-QGVcH-pHcuIheUCkiEF5sOo4NhVNcQ0hYgAqecoedwERyYATgDu0AA1upl7FQ33t1Ad1DCELsJvIfB2OIhO9XhsR0JsVqnTibKgGdS61D3j+X48nyqj8vgrbAQK7ydkBKbgf6+IptBHo2MGD4lCASJqqSD4UN4MAAFIgUi0b8gMfRYfWjYDKR7yFk2OGoO8eGEcRKbkb0lH-p+kGxnR9aaqSjFwO8m5yGaSIUU6gGBERciqGSs4LkucAroYUBcrgeDgDAB5IF8PyDOQGyJoYxjqAAPCIACibhQNgPRuOaJi2DAISqBecKqJgABuXAOjCQhIgZmAQN4f6qKSADaAT6gEAC6MVJMoaitPFcAAGRwAASlQ0DsFZtludgAzDCMFnMKoO41Juqh2navYQGCjrXN4lXUMATWCnCFn4I5eCqC5+DYLA2YWes1CmUYHDqPVSLeNNJj4vgtownaQh3q+IlPtQ82LeowlMRhXGRVtzGYPhRFQiRIFkT0nEfuwNG3fxUKCYdIksVdqg3VCMYcSd1G8TGr0agxZ1iRJUlUTJARyQpQmNc1UXmm51z8ulcJXjeLVtRaMCdaBL5vvij0UlSpMw1SNikfBnq8fyyH+jTIExnTiGs0zYDMkj6hKJgzEQIQkmqGjjMuqGynLkZoLsJOMDaWAumqYefYgK17UE01cY9X13rOROE14AY+12nt5nLat62oJtqBMTtdILeZH3vMd2FnV9bG3QDZMM6D70exdrHXex92AzxSH0UJEPiVgkkPVT+wDHDEDyYpvPwCjotQNcMaY5O16yLjmuEzGxMZu+VGfkIP6U-+gFCLTEG0TBjes+zwNczzR5NXzFCC8LqM5yDEtzou0toOOBMeXAZ6DQ5J57gM9zwPI5o+Ptk5YHAWCXMAWByzAEBwOIhRgOOdjsHpSBqxr+OEwAzEKvX9QbRlvPoZkzWbTszZb9pBS2neR8xldq-xMKSV2fgTq2nHOgLAuACAkFAbQPwLA2CcB4LUCyW1UBBHEBiXBcAVhrBQYiXY+wLIhTChFO0QFUD4HoYEc+o1HABC2tbOALtPYh29mHX2tEo7cKDt9X6sYfZVyep3IRMcoYJ3rtTWSqcEazj7FnNGD987YyLurPGHUmoP3LpmMmNcKYRQAtTNuAoO4txQlY2MNjOatx7D3DQ-MB4iw0Y2HCY8VIrhGKsAA5BOSgCC8CTkdKsOQfA4BHwzGQZQjR7LhLXi2CAVgQDvFXOJOAlVOALW8nLSg45CgbknGQa81wJzuguqaA+GZ4B2EwCATQPQ-LQnkBAZghA5BwGuF0reZ8L7ng3uZWJx9Un7E6XLKcctwETnUNE5gHA4A1HgKfXJg0LpQn0O8a+fYHZ0FKD1IQNBX6DUNigz++0bAiHOUNEUVgZDyEUClDQFkpzXDoUgM2QgYCJnxCIGw8z8Q0EEFbP53xQrhXmbCGEcIAh5O2YU9hds4AAH5+wgLeDaKBDBgqJg+viJEwCHbmxmpA46-yrCwInBgHAeAiBGyOUwB4mDeCcBwWitF+DCHcrtiQo25CqRUKhTQ6lFBvn8tQGCoheCWEEzYUQu0qje7gjvvo1QAAWZ+esnIXPfhsa55kf77X-mtIQhzoFqgGPM4S51LpewFBI7iUjBECXBkxHhP1Q7Q1dc9P6-tPUiUhnHP1DZYbw3Tq4rk6ic5aq0YXdVeitbaqMZXf1pj9h1wjZY1ATcEJ+1bvm9uzcnF2JcTfXu7iyBC08fG7xQA).
### Expected behavior
I would expect to be able to join multiple tables, add where clauses etc.
### Environment & setup
Reproduces in this [example](https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAbwFBzgYSgUwIY0wBQHMBlTAG0wGMYAxKCEAIQFdgyATTKAWQk4BoUcIgBVsAIwoB1YDAAWaCGWYgAdgGdBqUhWqZ2NYOXaahYQmMmYtcdV2DYyNvAA8YggL5wAZvRBwAInYoYAAvUIoAWmgQAHpzSMpoTACAbiRQSFhEOGCwiMw4L18GQLzwqJjY1T5MSMh1GEIsdTSM8Gh4BDhMAEd+OGIARQAZIp8-MpCKupi2zM6cgHFMGB0qGEsKADlsEELiyaDpguioON7mLgBPSPFWDi51WLtdGAA6GGuwTFb0pEwLiy8CSGngIGwwFUcAAvHBzFtMAAKAIQqEBAbIVDAdgALls9kcKJxAQAlDZVHtMPjXDAUZT9mTPKT-oDgXBQY04AArCBQgCMsPhFgkFBRvIFGMQQhx+LsISJARJ5KEaNUAEk8QSFWQUWqAPrK95YbxcTCqSi-JFI0mwgB8cDV7xxKtQYHoYBpgLpAXdEDATKQHhZSABQMWnPgEtUACYhQjRciAtGY1KsXBZdqHLqlexA6g1Zq5YScwajSazRarTb7Y7IapnexXfCPV63Ci-QGVcH-pHcuIheUCkiEF5sOo4NhVNcQ0hYgAqecoedwERyYATgDu0AA1upl7FQ33t1Ad1DCELsJvIfB2OIhO9XhsR0JsVqnTibKgGdS61D3j+X48nyqj8vgrbAQK7ydkBKbgf6+IptBHo2MGD4lCASJqqSD4UN4MAAFIgUi0b8gMfRYfWjYDKR7yFk2OGoO8eGEcRKbkb0lH-p+kGxnR9aaqSjFwO8m5yGaSIUU6gGBERciqGSs4LkucAroYUBcrgeDgDAB5IF8PyDOQGyJoYxjqAAPCIACibhQNgPRuOaJi2DAISqBecKqJgABuXAOjCQhIgZmAQN4f6qKSADaAT6gEAC6MVJMoaitPFcAAGRwAASlQ0DsFZtludgAzDCMFnMKoO41Juqh2navYQGCjrXN4lXUMATWCnCFn4I5eCqC5+DYLA2YWes1CmUYHDqPVSLeNNJj4vgtownaQh3q+IlPtQ82LeowlMRhXGRVtzGYPhRFQiRIFkT0nEfuwNG3fxUKCYdIksVdqg3VCMYcSd1G8TGr0agxZ1iRJUlUTJARyQpQmNc1UXmm51z8ulcJXjeLVtRaMCdaBL5vvij0UlSpMw1SNikfBnq8fyyH+jTIExnTiGs0zYDMkj6hKJgzEQIQkmqGjjMuqGynLkZoLsJOMDaWAumqYefYgK17UE01cY9X13rOROE14AY+12nt5nLat62oJtqBMTtdILeZH3vMd2FnV9bG3QDZMM6D70exdrHXex92AzxSH0UJEPiVgkkPVT+wDHDEDyYpvPwCjotQNcMaY5O16yLjmuEzGxMZu+VGfkIP6U-+gFCLTEG0TBjes+zwNczzR5NXzFCC8LqM5yDEtzou0toOOBMeXAZ6DQ5J57gM9zwPI5o+Ptk5YHAWCXMAWByzAEBwOIhRgOOdjsHpSBqxr+OEwAzEKvX9QbRlvPoZkzWbTszZb9pBS2neR8xldq-xMKSV2fgTq2nHOgLAuACAkFAbQPwLA2CcB4LUCyW1UBBHEBiXBcAVhrBQYiXY+wLIhTChFO0QFUD4HoYEc+o1HABC2tbOALtPYh29mHX2tEo7cKDt9X6sYfZVyep3IRMcoYJ3rtTWSqcEazj7FnNGD987YyLurPGHUmoP3LpmMmNcKYRQAtTNuAoO4txQlY2MNjOatx7D3DQ-MB4iw0Y2HCY8VIrhGKsAA5BOSgCC8CTkdKsOQfA4BHwzGQZQjR7LhLXi2CAVgQDvFXOJOAlVOALW8nLSg45CgbknGQa81wJzuguqaA+GZ4B2EwCATQPQ-LQnkBAZghA5BwGuF0reZ8L7ng3uZWJx9Un7E6XLKcctwETnUNE5gHA4A1HgKfXJg0LpQn0O8a+fYHZ0FKD1IQNBX6DUNigz++0bAiHOUNEUVgZDyEUClDQFkpzXDoUgM2QgYCJnxCIGw8z8Q0EEFbP53xQrhXmbCGEcIAh5O2YU9hds4AAH5+wgLeDaKBDBgqJg+viJEwCHbmxmpA46-yrCwInBgHAeAiBGyOUwB4mDeCcBwWitF+DCHcrtiQo25CqRUKhTQ6lFBvn8tQGCoheCWEEzYUQu0qje7gjvvo1QAAWZ+esnIXPfhsa55kf77X-mtIQhzoFqgGPM4S51LpewFBI7iUjBECXBkxHhP1Q7Q1dc9P6-tPUiUhnHP1DZYbw3Tq4rk6ic5aq0YXdVeitbaqMZXf1pj9h1wjZY1ATcEJ+1bvm9uzcnF2JcTfXu7iyBC08fG7xQA).
Contributor guide
Assessment
This issue has not been assessed yet.