addConstructor was added to the cordova module in cordova-js for backwards compatibility.
hasResource and addResource do not exist in cordova-js.
As far some guidance on how to move over, I would recommend employing cordova's define and require in cordova-js. For a hasResource equivalent, I would check if cordova.require('mymoduleid') throws an exception. If so, then go ahead and use cordova.define. If not, it's already defined, as the user does in your above example, simply return out. In the same vein, cordova.define can be used as a replacement for addResource.
The only other change would be to the call to exec. Users can go with either calling cordova.exec directly, or if they want to use the same require syntax they can roll with cordova.require('cordova/exec').