Skip to content

Commit

Permalink
Make createSqlTag generic
Browse files Browse the repository at this point in the history
  • Loading branch information
mmkal committed Oct 20, 2020
1 parent 3c8f54a commit 40f8dde
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 4 deletions.
5 changes: 3 additions & 2 deletions src/factories/createSqlTag.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import type {
JsonSqlTokenType,
ListSqlTokenType,
PrimitiveValueExpressionType,
QueryResultRowType,
SerializableValueType,
SqlSqlTokenType,
SqlTaggedTemplateType,
Expand All @@ -38,10 +39,10 @@ const log = Logger.child({
namespace: 'sql',
});

export default () => {
export default <T = QueryResultRowType>() => {
/* eslint-disable complexity */
// @ts-ignore
const sql: SqlTaggedTemplateType = (
const sql: SqlTaggedTemplateType<T> = (
parts: ReadonlyArray<string>,
...values: ReadonlyArray<ValueExpressionType>
// eslint-disable-next-line unicorn/consistent-function-scoping
Expand Down
4 changes: 2 additions & 2 deletions src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -320,8 +320,8 @@ export type NamedAssignmentType = {
/**
* see https://twitter.com/kuizinas/status/914139352908943360
*/
export type SqlTaggedTemplateType = {
<T = QueryResultRowType>(template: TemplateStringsArray, ...vals: ValueExpressionType[]): TaggedTemplateLiteralInvocationType<T>;
export type SqlTaggedTemplateType<T = QueryResultRowType> = {
<U = T>(template: TemplateStringsArray, ...vals: ValueExpressionType[]): TaggedTemplateLiteralInvocationType<U>;
array: (
values: ReadonlyArray<PrimitiveValueExpressionType>,
memberType: TypeNameIdentifierType | SqlTokenType,
Expand Down

0 comments on commit 40f8dde

Please sign in to comment.