使用 Typescript 导入 AWS X 射线

AWS X-ray import with Typescript

我目前在我的 lambda 中使用 postgresql-node

import { Client } from 'pg'

我想使用 AWS X-ray 检测 Postgresql 库。 Nodejs 示例有这一行:

var AWSXRay = require('aws-xray-sdk');
var pg = AWSXRay.capturePostgres(require('pg'));

我如何将其中的第二行转换为正确的 Typescript。我提出的所有变体都会产生一些错误或警告。例如,我猜这会起作用:

const pg = AWSXRay.capturePostgres(require('pg'))

但您不仅会收到关于 require 在没有 import 的情况下使用的 ESlint 警告,而且在那之后 pg.Client 会说 pg namespace not found.

好吧,它有点难看,但这似乎有效:

import * as pg from 'pg'
const patchedPg = AWSXRay.capturePostgres(pg)