UNPKG

906 BJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const util_1 = require("./util");
4const dependencies = Symbol("dependencies");
5function defineAccessor(target, prop) {
6 Object.defineProperty(target, prop, {
7 configurable: false,
8 enumerable: false,
9 get() {
10 let { module, route } = this[dependencies][prop];
11 return module(route);
12 }
13 });
14}
15function addDependency(dependency) {
16 return (target, prop) => {
17 if (target[dependencies] === undefined) {
18 target[dependencies] = util_1.dict();
19 }
20 target[dependencies][prop] = dependency;
21 defineAccessor(target, prop);
22 };
23}
24class Injectable {
25 inject(route = void 0) {
26 return addDependency({
27 module: this,
28 route
29 });
30 }
31}
32exports.Injectable = Injectable;
33//# sourceMappingURL=di.js.map
\No newline at end of file