stf-syrup icon indicating copy to clipboard operation
stf-syrup copied to clipboard

Calling Syrup functions from another class

Open UncertainSpin opened this issue 8 years ago • 0 comments

Hello,

I am attempting to make some modifications to OpenSTF and am encountering some issues when trying to interact between classes. This appears to be due to STF-Syrup's dependency injection blocking functions from an external scope.

In short, I would like to be able to reference functions in bar.js (Uses Syrup) FROM foo.js (Does not use Syrup). I can successfully require and assign bar.js, but instead of a typical class object, I receive a SerialSyrup object that util.inspect shows is constructed like this:

SerialSyrup {
  options: {},
  body: [Function],
  dependencies:
   [ SerialSyrup {
       options: {},
       body: [Function],
       dependencies: [],
       resolved: null } ],
  resolved: null }

Every attempt to reference functions that exist within the "module.exports" block fails with "...is not a function". Is there a way I can reach inside this block, other than totally refactoring foo.js to be a Syrup module and importing bar.js as a dependency?

UncertainSpin avatar Apr 06 '18 16:04 UncertainSpin