1 | ;
|
2 |
|
3 | Object.defineProperty(exports, '__esModule', { value: true });
|
4 |
|
5 | /**
|
6 | * Maintains a stack of the current service in scope.
|
7 | * This is used to provide the correct service to spawn().
|
8 | */
|
9 | var serviceStack = [];
|
10 | var provide = function (service, fn) {
|
11 | serviceStack.push(service);
|
12 | var result = fn(service);
|
13 | serviceStack.pop();
|
14 | return result;
|
15 | };
|
16 | var consume = function (fn) {
|
17 | return fn(serviceStack[serviceStack.length - 1]);
|
18 | };
|
19 |
|
20 | exports.consume = consume;
|
21 | exports.provide = provide;
|