openstf / stf-syrup

Provides a minimal Promise-based dependency injection framework for Node.js.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Calling Syrup functions from another class

UncertainSpin opened this issue · 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?