package Ġorg . jetbrains . du kat . js . type . export Resolution Ċ Ċ import Ġorg . jetbrains . du kat . js . type . constraint . properties . Object Constraint Ċ import Ġorg . jetbrains . du kat . js . type . constraint . resolution . as Default To Declarations Ċ import Ġorg . jetbrains . du kat . js . type . property Owner . Scope Ċ import Ġorg . jetbrains . du kat . panic . raise Concern Ċ import Ġorg . jetbrains . du kat . ts model . TopLevel Declaration Ċ Ċ class ĠCommon JS Context Ġ: ĠType Analysis Context Ġ{ ĊĠĠĠ Ġprivate Ġval Ġbasic Context Ġ= ĠBasic JS Context () ĊĊĠĠĠ Ġoverride Ġfun Ġget Environment (): ĠScope Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġenv Ġ= Ġbasic Context . get Environment () ĊĊĠĠĠĠĠĠĠ Ġval Ġmodule Object Ġ= ĠObject Constraint ( env ) ĊĠĠĠĠĠĠĠ Ġval Ġexports Object Ġ= ĠObject Constraint ( env ) ĊĊĠĠĠĠĠĠĠ Ġmodule Object [" exports "] Ġ= Ġexports Object ĊĠĠĠĠĠĠĠ Ġenv [" module "] Ġ= Ġmodule Object ĊĠĠĠĠĠĠĠ Ġenv [" exports "] Ġ= Ġexports Object ĊĊĠĠĠĠĠĠĠ Ġreturn Ġenv ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Exports From ( environment : ĠScope , Ġdefault Export Name : ĠString ): ĠList < TopLevel Declaration > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodule Object Ġ= Ġenvironment [" module "] ĊĊĠĠĠĠĠĠĠ Ġif Ġ( module Object Ġis ĠObject Constraint ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexports Object Ġ= Ġmodule Object [" exports "] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( exports Object Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( exports Object Ġis ĠObject Constraint Ġ&& Ġexports Object . call Signature Constraints . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbasic Context . get Exports From ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠScope ( null ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexports Object . property Names . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ it ] Ġ= Ġexports Object [ it ] !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Export Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexports Object . as Default To Declarations ( default Export Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġraise Concern (" No Ġexports Ġfound !") Ġ{ Ġempty List () Ġ} ĊĠĠĠ Ġ} Ċ }