deliverr / data-knex-snowflake-dialect

knex.js dialect for the Snowflake data warehouse
MIT License
13 stars 26 forks source link

Type error when trying to connect to snowflake #23

Closed Michael-Xie closed 3 years ago

Michael-Xie commented 3 years ago

Expected Result

Actual Result

Steps to reproduce

  1. Run Azure function
    
    // eslint-disable-next-line import/no-unresolved
    import { AzureFunction, Context, HttpRequest } from '@azure/functions';
    import { SnowflakeDialect } from 'knex-snowflake-dialect';

const knex = require('knex')({ client: SnowflakeDialect as any, connection: process.env.SNOWFLAKE_CONNECTION_STRING, pool: { min: 1, max: 1, }, });

const httpTrigger: AzureFunction = async function ( context: Context, req: HttpRequest, ): Promise { try { if (!req.body) throw new Error('no request body');

    const db = knex;
    console.log({ db });

    const result = {};

    context.res = {
        status: 200,
        body: result,
    };
} catch (err) {
    context.log.error(err);
    context.res = {
        status: 500,
        body: err,
    };
}

};

export default httpTrigger;

**Visual Proof (screenshots, videos, text)**

node_modules/knex/types/index.d.ts:1130:16 - error TS1110: Type expected.

1130 column1: ${TTable1}.${TKey1},


node_modules/knex/types/index.d.ts:1131:14 - error TS1005: ';' expected.

1131       column2: `${TTable2}.${TKey2}`
                  ~

node_modules/knex/types/index.d.ts:1132:5 - error TS1128: Declaration or statement expected.

1132     ): QueryBuilder<TRecord2, TResult2>;
         ~

node_modules/knex/types/index.d.ts:1132:6 - error TS1128: Declaration or statement expected.

1132     ): QueryBuilder<TRecord2, TResult2>;
          ~

node_modules/knex/types/index.d.ts:1132:40 - error TS1005: '(' expected.

1132     ): QueryBuilder<TRecord2, TResult2>;
                                            ~

node_modules/knex/types/index.d.ts:1134:33 - error TS1005: '?' expected.

1134       TTable1 extends TableNames,
                                     ~

node_modules/knex/types/index.d.ts:1135:15 - error TS1005: ';' expected.

1135       TTable2 extends TableNames,

node_modules/knex/types/index.d.ts:1136:13 - error TS1005: ';' expected.

1136 TKey1 extends StrKey<ResolveTableType<TableType>> & StrKey,


node_modules/knex/types/index.d.ts:1136:66 - error TS1005: '(' expected.

1136       TKey1 extends StrKey<ResolveTableType<TableType<TTable1>>> & StrKey<TRecord1>,
                                                                      ~

node_modules/knex/types/index.d.ts:1136:84 - error TS1109: Expression expected.

1136       TKey1 extends StrKey<ResolveTableType<TableType<TTable1>>> & StrKey<TRecord1>,
                                                                                        ~

node_modules/knex/types/index.d.ts:1137:13 - error TS1005: ',' expected.

1137       TKey2 extends StrKey<ResolveTableType<TableType<TTable2>>>,

node_modules/knex/types/index.d.ts:1137:65 - error TS1109: Expression expected.

1137 TKey2 extends StrKey<ResolveTableType<TableType>>, ~

node_modules/knex/types/index.d.ts:1138:43 - error TS1109: Expression expected.

1138 TRecord1 = ResolveTableType, ~

node_modules/knex/types/index.d.ts:1139:65 - error TS1109: Expression expected.

1139 TRecord2 = TRecord1 & ResolveTableType<TableType>, ~

node_modules/knex/types/index.d.ts:1141:5 - error TS1109: Expression expected.

1141 >( ~

node_modules/knex/types/index.d.ts:1142:16 - error TS1005: ')' expected.

1142 tableName: TTable2, ~

node_modules/knex/types/index.d.ts:1143:14 - error TS1005: ',' expected.

1143 column1: ${TTable2}.${TKey2}, ~

node_modules/knex/types/index.d.ts:1144:14 - error TS1005: ',' expected.

1144 column2: ${TTable1}.${TKey1} ~

node_modules/knex/types/index.d.ts:1145:6 - error TS1005: ';' expected.

1145 ): QueryBuilder<TRecord2, TResult2>; ~

node_modules/knex/types/index.d.ts:1145:40 - error TS1005: '(' expected.

1145 ): QueryBuilder<TRecord2, TResult2>; ~

node_modules/knex/types/index.d.ts:1147:36 - error TS1005: '?' expected.

1147 TJoinTargetRecord extends {} = any, ~

node_modules/knex/types/index.d.ts:1148:16 - error TS1005: ';' expected.

1148 TRecord2 extends {} = TRecord & TJoinTargetRecord,


node_modules/knex/types/index.d.ts:1148:27 - error TS1128: Declaration or statement expected.

1148       TRecord2 extends {} = TRecord & TJoinTargetRecord,
                               ~

node_modules/knex/types/index.d.ts:1150:5 - error TS1109: Expression expected.

1150     >(
         ~

node_modules/knex/types/index.d.ts:1151:16 - error TS1005: ')' expected.

1151       tableName: TableDescriptor | AliasDict | QueryCallback,
                    ~

node_modules/knex/types/index.d.ts:1152:14 - error TS1005: ';' expected.

1152       column1: string,
                  ~

node_modules/knex/types/index.d.ts:1153:14 - error TS1005: ';' expected.

1153       column2: string
                  ~

node_modules/knex/types/index.d.ts:1154:5 - error TS1128: Declaration or statement expected.

1154     ): QueryBuilder<TRecord2, TResult2>;
         ~

node_modules/knex/types/index.d.ts:1154:6 - error TS1128: Declaration or statement expected.

1154     ): QueryBuilder<TRecord2, TResult2>;
          ~

node_modules/knex/types/index.d.ts:1154:40 - error TS1005: '(' expected.

1154     ): QueryBuilder<TRecord2, TResult2>;
                                            ~

node_modules/knex/types/index.d.ts:1156:36 - error TS1005: '?' expected.

1156       TJoinTargetRecord extends {} = any,
                                        ~

node_modules/knex/types/index.d.ts:1157:16 - error TS1005: ';' expected.

1157       TRecord2 extends {} = TRecord & TJoinTargetRecord,

node_modules/knex/types/index.d.ts:1157:27 - error TS1128: Declaration or statement expected.

1157 TRecord2 extends {} = TRecord & TJoinTargetRecord, ~

node_modules/knex/types/index.d.ts:1159:5 - error TS1109: Expression expected.

1159 >( ~

node_modules/knex/types/index.d.ts:1160:16 - error TS1005: ')' expected.

1160 tableName: TableDescriptor | AliasDict | QueryCallback, ~

node_modules/knex/types/index.d.ts:1161:14 - error TS1005: ';' expected.

1161 column1: string, ~

node_modules/knex/types/index.d.ts:1162:10 - error TS1005: ';' expected.

1162 raw: Raw ~

node_modules/knex/types/index.d.ts:1163:5 - error TS1128: Declaration or statement expected.

1163 ): QueryBuilder<TRecord2, TResult2>; ~

node_modules/knex/types/index.d.ts:1163:6 - error TS1128: Declaration or statement expected.

1163 ): QueryBuilder<TRecord2, TResult2>; ~

node_modules/knex/types/index.d.ts:1163:40 - error TS1005: '(' expected.

1163 ): QueryBuilder<TRecord2, TResult2>; ~

node_modules/knex/types/index.d.ts:1165:33 - error TS1005: '?' expected.

1165 TTable1 extends TableNames, ~

node_modules/knex/types/index.d.ts:1166:15 - error TS1005: ';' expected.

1166 TTable2 extends TableNames,


node_modules/knex/types/index.d.ts:1167:13 - error TS1005: ';' expected.

1167       TKey1 extends StrKey<ResolveTableType<TableType<TTable1>>> & StrKey<TRecord1>,

node_modules/knex/types/index.d.ts:1167:66 - error TS1005: '(' expected.

1167 TKey1 extends StrKey<ResolveTableType<TableType>> & StrKey, ~

node_modules/knex/types/index.d.ts:1167:84 - error TS1109: Expression expected.

1167 TKey1 extends StrKey<ResolveTableType<TableType>> & StrKey, ~

node_modules/knex/types/index.d.ts:1168:13 - error TS1005: ',' expected.

1168 TKey2 extends StrKey<ResolveTableType<TableType>>,


node_modules/knex/types/index.d.ts:1168:65 - error TS1109: Expression expected.

1168       TKey2 extends StrKey<ResolveTableType<TableType<TTable2>>>,
                                                                     ~

node_modules/knex/types/index.d.ts:1169:43 - error TS1109: Expression expected.

1169       TRecord1 = ResolveTableType<TRecord>,
                                               ~

node_modules/knex/types/index.d.ts:1170:65 - error TS1109: Expression expected.

1170       TRecord2 = TRecord1 & ResolveTableType<TableType<TTable2>>,
                                                                     ~

node_modules/knex/types/index.d.ts:1172:5 - error TS1109: Expression expected.

1172     >(
         ~

node_modules/knex/types/index.d.ts:1173:16 - error TS1005: ')' expected.

1173       tableName: TTable2,
                    ~

node_modules/knex/types/index.d.ts:1174:14 - error TS1005: ',' expected.

1174       column1: `${TTable1}.${TKey1}`,
                  ~

node_modules/knex/types/index.d.ts:1175:15 - error TS1005: ',' expected.

1175       operator: string,
                   ~

node_modules/knex/types/index.d.ts:1176:14 - error TS1005: ',' expected.

1176       column2: `${TTable2}.${TKey2}`
                  ~

node_modules/knex/types/index.d.ts:1177:6 - error TS1005: ';' expected.

1177     ): QueryBuilder<TRecord2, TResult2>;
          ~

node_modules/knex/types/index.d.ts:1177:40 - error TS1005: '(' expected.

1177     ): QueryBuilder<TRecord2, TResult2>;
                                            ~

node_modules/knex/types/index.d.ts:1179:33 - error TS1005: '?' expected.

1179       TTable1 extends TableNames,
                                     ~

node_modules/knex/types/index.d.ts:1180:15 - error TS1005: ';' expected.

1180       TTable2 extends TableNames,

node_modules/knex/types/index.d.ts:1181:13 - error TS1005: ';' expected.

1181 TKey1 extends StrKey<ResolveTableType<TableType>> & StrKey,


node_modules/knex/types/index.d.ts:1181:66 - error TS1005: '(' expected.

1181       TKey1 extends StrKey<ResolveTableType<TableType<TTable1>>> & StrKey<TRecord1>,
                                                                      ~

node_modules/knex/types/index.d.ts:1181:84 - error TS1109: Expression expected.

1181       TKey1 extends StrKey<ResolveTableType<TableType<TTable1>>> & StrKey<TRecord1>,
                                                                                        ~

node_modules/knex/types/index.d.ts:1182:13 - error TS1005: ',' expected.

1182       TKey2 extends StrKey<ResolveTableType<TableType<TTable2>>>,

node_modules/knex/types/index.d.ts:1182:65 - error TS1109: Expression expected.

1182 TKey2 extends StrKey<ResolveTableType<TableType>>, ~

node_modules/knex/types/index.d.ts:1183:43 - error TS1109: Expression expected.

1183 TRecord1 = ResolveTableType, ~

node_modules/knex/types/index.d.ts:1184:65 - error TS1109: Expression expected.

1184 TRecord2 = TRecord1 & ResolveTableType<TableType>, ~

node_modules/knex/types/index.d.ts:1186:5 - error TS1109: Expression expected.

1186 >( ~

node_modules/knex/types/index.d.ts:1187:16 - error TS1005: ')' expected.

1187 tableName: TTable2, ~

node_modules/knex/types/index.d.ts:1188:14 - error TS1005: ',' expected.

1188 column1: ${TTable2}.${TKey2}, ~

node_modules/knex/types/index.d.ts:1189:15 - error TS1005: ',' expected.

1189 operator: string, ~

node_modules/knex/types/index.d.ts:1190:14 - error TS1005: ',' expected.

1190 column2: ${TTable1}.${TKey1}, ~

node_modules/knex/types/index.d.ts:1191:6 - error TS1005: ';' expected.

1191 ): QueryBuilder<TRecord2, TResult2>; ~

node_modules/knex/types/index.d.ts:1191:40 - error TS1005: '(' expected.

1191 ): QueryBuilder<TRecord2, TResult2>; ~

node_modules/knex/types/index.d.ts:1193:36 - error TS1005: '?' expected.

1193 TJoinTargetRecord extends {} = any, ~

node_modules/knex/types/index.d.ts:1194:16 - error TS1005: ';' expected.

1194 TRecord2 extends {} = TRecord & TJoinTargetRecord,



node_modules/knex/types/index.d.ts:1194:27 - error TS1128: Declaration or statement expected.

1194       TRecord2 extends {} = TRecord & TJoinTargetRecord,
                               ~

node_modules/knex/types/index.d.ts:1196:5 - error TS1109: Expression expected.

1196     >(
         ~

node_modules/knex/types/index.d.ts:1197:16 - error TS1005: ')' expected.

1197       tableName: TableDescriptor | AliasDict | QueryCallback,
                    ~

node_modules/knex/types/index.d.ts:1198:14 - error TS1005: ';' expected.

1198       column1: string,
                  ~

node_modules/knex/types/index.d.ts:1199:15 - error TS1005: ';' expected.

1199       operator: string,
                   ~

node_modules/knex/types/index.d.ts:1200:14 - error TS1005: ';' expected.

1200       column2: string
                  ~

node_modules/knex/types/index.d.ts:1201:5 - error TS1128: Declaration or statement expected.

1201     ): QueryBuilder<TRecord2, TResult2>;
         ~

node_modules/knex/types/index.d.ts:1201:6 - error TS1128: Declaration or statement expected.

1201     ): QueryBuilder<TRecord2, TResult2>;
          ~

node_modules/knex/types/index.d.ts:1201:40 - error TS1005: '(' expected.

1201     ): QueryBuilder<TRecord2, TResult2>;
                                            ~

node_modules/knex/types/index.d.ts:2421:1 - error TS1128: Declaration or statement expected.

2421 }
```
Michael-Xie commented 3 years ago

resolved this issue when upgrading typescript from 3.3.3 to 4.3.4

another issue came up after this.