You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is it possible to write an external (commonjs) module "A", then in another module "B"'s code, declare a variable as being typeof module "A" without using import which ends up require-ing module "A".
The reason I want to do this is that I will be passing a reference to module "A" to the constructor of a class in another module "B", because I want module "A" to be a singleton. But I want to type the argument in the constructor to that of module "A", as if module "A" had been imported using import A = require("A");
The reason I want a singleton module is that this module might contain instances of classes that manage database connections, etc, and I don't really want them re-initialising each time I have to import; I want to be able to pass them around rather than rely on potential "node-module cache" magic.
Is there a way to do this? I've thought of other ways I can achieve want I want but this feels like the simplest, if it's possible.
The text was updated successfully, but these errors were encountered:
Module imports are elided if they are not used in a value position. so if your import of module A is only used in a type position the require call will not be written out.
Hi Folks,
I have a question which is on the same lines. I tried above solution but it did now work for me.
I am importing classes from a webpack module parent import { A, B } from "parent";
I simply want to call constructor for these classes. I tried const a = A( { data: 1} ); This does not give any TS error on compile. But it breaks on runtime javascript saying , Type error A is not a constructor.
Do I need to create custom types and add it in devDependancies ? Or is there a specific way to export my "parent" module like export default.
Hey there,
Is it possible to write an external (commonjs) module "A", then in another module "B"'s code, declare a variable as being typeof module "A" without using import which ends up require-ing module "A".
The reason I want to do this is that I will be passing a reference to module "A" to the constructor of a class in another module "B", because I want module "A" to be a singleton. But I want to type the argument in the constructor to that of module "A", as if module "A" had been imported using import A = require("A");
The reason I want a singleton module is that this module might contain instances of classes that manage database connections, etc, and I don't really want them re-initialising each time I have to import; I want to be able to pass them around rather than rely on potential "node-module cache" magic.
Is there a way to do this? I've thought of other ways I can achieve want I want but this feels like the simplest, if it's possible.
The text was updated successfully, but these errors were encountered: