UNPKG

505 BJavaScriptView Raw
1'use strict';
2
3Object.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 */
9var serviceStack = [];
10var provide = function (service, fn) {
11 serviceStack.push(service);
12 var result = fn(service);
13 serviceStack.pop();
14 return result;
15};
16var consume = function (fn) {
17 return fn(serviceStack[serviceStack.length - 1]);
18};
19
20exports.consume = consume;
21exports.provide = provide;