diff --git a/packages/pg-protocol/src/outbound-serializer.test.ts b/packages/pg-protocol/src/outbound-serializer.test.ts index aac0c57ba..9337c0471 100644 --- a/packages/pg-protocol/src/outbound-serializer.test.ts +++ b/packages/pg-protocol/src/outbound-serializer.test.ts @@ -1,4 +1,6 @@ import assert from 'assert' +import fs from 'fs' +import path from 'path' import { serialize } from './serializer' import BufferList from './testing/buffer-list' @@ -24,6 +26,12 @@ describe('serializer', () => { ) }) + it('emits declarations that do not need a generic Buffer', function () { + // older @types/node releases declare a non-generic Buffer; see #3699 + const declarations = fs.readFileSync(path.join(__dirname, 'serializer.d.ts'), 'utf8') + assert.ok(!declarations.includes('Buffer<'), declarations) + }) + it('builds password message', function () { const actual = serialize.password('!') assert.deepEqual(actual, new BufferList().addCString('!').join(true, 'p')) diff --git a/packages/pg-protocol/src/serializer.ts b/packages/pg-protocol/src/serializer.ts index bbd59623e..651c4bffa 100644 --- a/packages/pg-protocol/src/serializer.ts +++ b/packages/pg-protocol/src/serializer.ts @@ -274,11 +274,11 @@ const serialize = { execute, describe, close, - flush: () => flushBuffer, - sync: () => syncBuffer, - end: () => endBuffer, + flush: (): Buffer => flushBuffer, + sync: (): Buffer => syncBuffer, + end: (): Buffer => endBuffer, copyData, - copyDone: () => copyDoneBuffer, + copyDone: (): Buffer => copyDoneBuffer, copyFail, cancel, }