denoland / deno

A modern runtime for JavaScript and TypeScript.
https://deno.com
MIT License
93.33k stars 5.17k forks source link

Compatibility node-firebird #21419

Open paulhendrix opened 6 months ago

paulhendrix commented 6 months ago

Version: Deno 1.38.3

Package: npm: node-firebird

import * as fb from "npm:node-firebird";

let options = {};
options.host = "localhost";
options.port = 3050;
options.database = "test1";
options.user = "SYSDBA";
options.password = "masterkey";

fb.attach(options, function (err, db) {
  console.log("debug1");
});

callback is never called, under node.js works ok

paulhendrix commented 2 months ago

I managed to trace the internal error that occurs, and the cause is a missing function 'removeAllListeners'. Now, how can we fix it?

TypeError: cb.response.removeAllListeners is not a function at exports.Connection.Connection.attach (file:///test/firebird/problem_deno/node_modules/.deno/node-firebird@1.1.8/node_modules/node-firebird/lib/index.js:3687:21) at file:///test/firebird/problem_deno/node_modules/.deno/node-firebird@1.1.8/node_modules/node-firebird/lib/index.js:1757:25 at cb (file:///test/firebird/problem_deno/node_modules/.deno/node-firebird@1.1.8/node_modules/node-firebird/lib/index.js:3615:13) at doCallback (file:///test/firebird/problem_deno/node_modules/.deno/node-firebird@1.1.8/node_modules/node-firebird/lib/index.js:1368:5) at file:///test/firebird/problem_deno/node_modules/.deno/node-firebird@1.1.8/node_modules/node-firebird/lib/index.js:3140:21 at decodeResponse (file:///test/firebird/problem_deno/node_modules/.deno/node-firebird@1.1.8/node_modules/node-firebird/lib/index.js:3419:24) at Socket. (file:///test/firebird/problem_deno/node_modules/.deno/node-firebird@1.1.8/node_modules/node-firebird/lib/index.js:3115:13) at Socket.emit (ext:deno_node/_stream.mjs:1851:9) at addChunk (ext:deno_node/_stream.mjs:2873:16) at readableAddChunk (ext:deno_node/_stream.mjs:2852:13) {stack: 'TypeError: cb.response.removeAllListeners is …eAddChunk (ext:deno_node/_stream.mjs:2852:13)', message: 'cb.response.removeAllListeners is not a function', __callSiteEvals: Array(10)}