UNPKG

401 BJavaScriptView Raw
1/**
2 * Maintains a stack of the current service in scope.
3 * This is used to provide the correct service to spawn().
4 */
5var serviceStack = [];
6var provide = function (service, fn) {
7 serviceStack.push(service);
8 var result = fn(service);
9 serviceStack.pop();
10 return result;
11};
12var consume = function (fn) {
13 return fn(serviceStack[serviceStack.length - 1]);
14};
15
16export { consume, provide };