@my-devkit/firebase 1.0.157 → 1.0.158
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aggregate.js +30 -52
- package/dist/aggregate.js.map +1 -1
- package/dist/app-factory.js +139 -261
- package/dist/app-factory.js.map +1 -1
- package/dist/bus.js +44 -101
- package/dist/bus.js.map +1 -1
- package/dist/context.js +69 -132
- package/dist/context.js.map +1 -1
- package/dist/decorators/controller/body.js +6 -6
- package/dist/decorators/controller/body.js.map +1 -1
- package/dist/decorators/controller/body.spec.js +55 -90
- package/dist/decorators/controller/body.spec.js.map +1 -1
- package/dist/decorators/controller/controller.js +3 -3
- package/dist/decorators/controller/controller.js.map +1 -1
- package/dist/decorators/controller/controller.spec.js +14 -48
- package/dist/decorators/controller/controller.spec.js.map +1 -1
- package/dist/decorators/controller/get.js +4 -4
- package/dist/decorators/controller/get.js.map +1 -1
- package/dist/decorators/controller/get.spec.js +30 -62
- package/dist/decorators/controller/get.spec.js.map +1 -1
- package/dist/decorators/controller/index.js +5 -1
- package/dist/decorators/controller/index.js.map +1 -1
- package/dist/decorators/controller/param.js +6 -6
- package/dist/decorators/controller/param.js.map +1 -1
- package/dist/decorators/controller/param.spec.js +48 -82
- package/dist/decorators/controller/param.spec.js.map +1 -1
- package/dist/decorators/controller/post.js +4 -4
- package/dist/decorators/controller/post.js.map +1 -1
- package/dist/decorators/controller/post.spec.js +69 -102
- package/dist/decorators/controller/post.spec.js.map +1 -1
- package/dist/decorators/controller/query.js +6 -6
- package/dist/decorators/controller/query.js.map +1 -1
- package/dist/decorators/controller/query.spec.js +48 -82
- package/dist/decorators/controller/query.spec.js.map +1 -1
- package/dist/decorators/handler/command-handler.js +7 -7
- package/dist/decorators/handler/command-handler.js.map +1 -1
- package/dist/decorators/handler/command-handler.spec.js +95 -178
- package/dist/decorators/handler/command-handler.spec.js.map +1 -1
- package/dist/decorators/handler/event-handler.js +7 -7
- package/dist/decorators/handler/event-handler.js.map +1 -1
- package/dist/decorators/handler/event-handler.spec.js +98 -181
- package/dist/decorators/handler/event-handler.spec.js.map +1 -1
- package/dist/decorators/handler/index.js +5 -1
- package/dist/decorators/handler/index.js.map +1 -1
- package/dist/decorators/index.js +5 -1
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/injectable.js +2 -2
- package/dist/decorators/injectable.js.map +1 -1
- package/dist/decorators/module.js +2 -2
- package/dist/decorators/module.js.map +1 -1
- package/dist/decorators/transactional-client.js +2 -2
- package/dist/decorators/transactional-client.js.map +1 -1
- package/dist/execution-mode-enum.js +1 -1
- package/dist/execution-mode-enum.js.map +1 -1
- package/dist/firestore-client.js +179 -277
- package/dist/firestore-client.js.map +1 -1
- package/dist/handler-helper.js +57 -140
- package/dist/handler-helper.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/injector.js +14 -25
- package/dist/injector.js.map +1 -1
- package/dist/interfaces/from-array.d.ts +1 -1
- package/dist/interfaces/index.js +5 -1
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/newable.d.ts +1 -1
- package/dist/reflect.d.ts +3 -3
- package/dist/reflect.js +51 -57
- package/dist/reflect.js.map +1 -1
- package/dist/request-method.enum.js +1 -1
- package/dist/request-method.enum.js.map +1 -1
- package/dist/sanity-check/controller.js +29 -64
- package/dist/sanity-check/controller.js.map +1 -1
- package/dist/sanity-check/module.js +11 -14
- package/dist/sanity-check/module.js.map +1 -1
- package/dist/server/index.js +5 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/middlewares/authentication-middleware.js +45 -93
- package/dist/server/middlewares/authentication-middleware.js.map +1 -1
- package/dist/server/middlewares/create-context-middleware.js +8 -39
- package/dist/server/middlewares/create-context-middleware.js.map +1 -1
- package/dist/server/middlewares/error-middleware.js +30 -62
- package/dist/server/middlewares/error-middleware.js.map +1 -1
- package/dist/server/middlewares/headers-middleware.js +11 -42
- package/dist/server/middlewares/headers-middleware.js.map +1 -1
- package/dist/server/middlewares/index.js +5 -1
- package/dist/server/middlewares/index.js.map +1 -1
- package/dist/server/middlewares/not-found-middleware.js +4 -34
- package/dist/server/middlewares/not-found-middleware.js.map +1 -1
- package/dist/server/server.d.ts +1 -1
- package/dist/server/server.js +73 -103
- package/dist/server/server.js.map +1 -1
- package/dist/zip-helper.js +32 -12
- package/dist/zip-helper.js.map +1 -1
- package/package.json +28 -25
- package/src/decorators/handler/command-handler.spec.ts +7 -6
- package/src/decorators/handler/event-handler.spec.ts +9 -8
- package/src/reflect.ts +1 -1
- package/src/server/server.ts +2 -2
- package/tsconfig.json +11 -17
- package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/handler-helper.js
CHANGED
|
@@ -8,152 +8,69 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
12
|
exports.HandlerHelper = void 0;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return
|
|
51
|
-
switch (_a.label) {
|
|
52
|
-
case 0: return [4 /*yield*/, callback(aggregate)];
|
|
53
|
-
case 1:
|
|
54
|
-
result = _a.sent();
|
|
55
|
-
this.client.createDocument(aggregate);
|
|
56
|
-
return [4 /*yield*/, this.publishEvents(aggregate)];
|
|
57
|
-
case 2:
|
|
58
|
-
_a.sent();
|
|
59
|
-
return [2 /*return*/, result];
|
|
60
|
-
}
|
|
61
|
-
});
|
|
13
|
+
const core_1 = require("@my-devkit/core");
|
|
14
|
+
const context_1 = require("./context");
|
|
15
|
+
const execution_mode_enum_1 = require("./execution-mode-enum");
|
|
16
|
+
const firestore_client_1 = require("./firestore-client");
|
|
17
|
+
class HandlerHelper {
|
|
18
|
+
static create(aggregate, callback) {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const result = yield callback(aggregate);
|
|
21
|
+
this.client.createDocument(aggregate);
|
|
22
|
+
yield this.publishEvents(aggregate);
|
|
23
|
+
return result;
|
|
62
24
|
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return [4 /*yield*/, this.publishEvents(aggregate)];
|
|
82
|
-
case 3:
|
|
83
|
-
_a.sent();
|
|
84
|
-
return [3 /*break*/, 5];
|
|
85
|
-
case 4:
|
|
86
|
-
core_1.Logger.debug("".concat(aggregate._type, " ").concat(aggregate.id, " didn't change, ").concat(aggregate.events.length, " events skipped"));
|
|
87
|
-
aggregate.clearEvents();
|
|
88
|
-
_a.label = 5;
|
|
89
|
-
case 5: return [2 /*return*/, result];
|
|
90
|
-
}
|
|
91
|
-
});
|
|
25
|
+
}
|
|
26
|
+
static update(aggregateOrId, callback) {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const aggregate = yield this.getAggregate(aggregateOrId);
|
|
29
|
+
if (aggregate.events.length > 0) {
|
|
30
|
+
core_1.Logger.warn(`${aggregate._type} ${aggregate.id} has ${aggregate.events.length} events!!`);
|
|
31
|
+
}
|
|
32
|
+
const hashBefore = aggregate.hash;
|
|
33
|
+
const result = yield callback(aggregate);
|
|
34
|
+
if (aggregate.hash !== hashBefore) {
|
|
35
|
+
this.client.updateDocument(aggregate);
|
|
36
|
+
yield this.publishEvents(aggregate);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
core_1.Logger.debug(`${aggregate._type} ${aggregate.id} didn't change, ${aggregate.events.length} events skipped`);
|
|
40
|
+
aggregate.clearEvents();
|
|
41
|
+
}
|
|
42
|
+
return result;
|
|
92
43
|
});
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
aggregate = _a.sent();
|
|
102
|
-
return [4 /*yield*/, callback(aggregate)];
|
|
103
|
-
case 2:
|
|
104
|
-
result = _a.sent();
|
|
105
|
-
this.client.deleteDocument(aggregate);
|
|
106
|
-
return [4 /*yield*/, this.publishEvents(aggregate)];
|
|
107
|
-
case 3:
|
|
108
|
-
_a.sent();
|
|
109
|
-
return [2 /*return*/, result];
|
|
110
|
-
}
|
|
111
|
-
});
|
|
44
|
+
}
|
|
45
|
+
static delete(aggregateOrId, callback) {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
const aggregate = yield this.getAggregate(aggregateOrId);
|
|
48
|
+
const result = yield callback(aggregate);
|
|
49
|
+
this.client.deleteDocument(aggregate);
|
|
50
|
+
yield this.publishEvents(aggregate);
|
|
51
|
+
return result;
|
|
112
52
|
});
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return __generator(this, function (_a) {
|
|
125
|
-
switch (_a.label) {
|
|
126
|
-
case 0:
|
|
127
|
-
events = aggregate.events;
|
|
128
|
-
aggregate.clearEvents();
|
|
129
|
-
_i = 0, events_1 = events;
|
|
130
|
-
_a.label = 1;
|
|
131
|
-
case 1:
|
|
132
|
-
if (!(_i < events_1.length)) return [3 /*break*/, 4];
|
|
133
|
-
event = events_1[_i];
|
|
134
|
-
return [4 /*yield*/, context_1.Context.bus.publish(event, execution_mode_enum_1.ExecutionMode.Synchronous)];
|
|
135
|
-
case 2:
|
|
136
|
-
_a.sent();
|
|
137
|
-
_a.label = 3;
|
|
138
|
-
case 3:
|
|
139
|
-
_i++;
|
|
140
|
-
return [3 /*break*/, 1];
|
|
141
|
-
case 4: return [2 /*return*/];
|
|
142
|
-
}
|
|
143
|
-
});
|
|
53
|
+
}
|
|
54
|
+
static get client() {
|
|
55
|
+
return context_1.Context.resolve(firestore_client_1.FirestoreClient);
|
|
56
|
+
}
|
|
57
|
+
static publishEvents(aggregate) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
const events = aggregate.events;
|
|
60
|
+
aggregate.clearEvents();
|
|
61
|
+
for (const event of events) {
|
|
62
|
+
yield context_1.Context.bus.publish(event, execution_mode_enum_1.ExecutionMode.Synchronous);
|
|
63
|
+
}
|
|
144
64
|
});
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
return [2 /*return*/, aggregateOrId];
|
|
153
|
-
});
|
|
65
|
+
}
|
|
66
|
+
static getAggregate(aggregateOrId) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
if (typeof aggregateOrId === 'string' || aggregateOrId instanceof String) {
|
|
69
|
+
return this.client._find(`/aggregates/${aggregateOrId}`);
|
|
70
|
+
}
|
|
71
|
+
return aggregateOrId;
|
|
154
72
|
});
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
}());
|
|
73
|
+
}
|
|
74
|
+
}
|
|
158
75
|
exports.HandlerHelper = HandlerHelper;
|
|
159
76
|
//# sourceMappingURL=handler-helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-helper.js","sourceRoot":"","sources":["../src/handler-helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handler-helper.js","sourceRoot":"","sources":["../src/handler-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAyC;AAGzC,uCAAoC;AACpC,+DAAsD;AACtD,yDAAqD;AAErD,MAAa,aAAa;IACf,MAAM,CAAO,MAAM,CAAyB,SAAY,EAAE,QAA8B;;YAC3F,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAEpC,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;IAEM,MAAM,CAAO,MAAM,CAAyB,aAAyB,EAAE,QAA8B;;YACxG,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACzD,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,aAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE,QAAQ,SAAS,CAAC,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;aAC7F;YACD,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC;YAElC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEzC,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC/B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBACtC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;aACvC;iBAAM;gBACH,aAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE,mBAAmB,SAAS,CAAC,MAAM,CAAC,MAAM,iBAAiB,CAAC,CAAC;gBAC5G,SAAS,CAAC,WAAW,EAAE,CAAC;aAC3B;YAED,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;IAEM,MAAM,CAAO,MAAM,CAAyB,aAAyB,EAAE,QAA8B;;YACxG,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAEzD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAEpC,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;IAEO,MAAM,KAAK,MAAM;QACrB,OAAO,iBAAO,CAAC,OAAO,CAAC,kCAAe,CAAC,CAAC;IAC5C,CAAC;IAEO,MAAM,CAAO,aAAa,CAAsB,SAAY;;YAChE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAChC,SAAS,CAAC,WAAW,EAAE,CAAC;YAExB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBACxB,MAAM,iBAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,mCAAa,CAAC,WAAW,CAAC,CAAC;aAC/D;QACL,CAAC;KAAA;IAEO,MAAM,CAAO,YAAY,CAAsB,aAAyB;;YAC5E,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,YAAY,MAAM,EAAE;gBACtE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAI,eAAe,aAAa,EAAE,CAAC,CAAC;aAC/D;YACD,OAAO,aAAa,CAAC;QACzB,CAAC;KAAA;CACJ;AA5DD,sCA4DC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,gDAA8B;AAC9B,4CAA0B;AAC1B,+CAA6B;AAC7B,wDAAsC;AACtC,qDAAmC;AACnC,mDAAiC;AACjC,iDAA+B;AAC/B,+CAA6B"}
|
package/dist/injector.js
CHANGED
|
@@ -1,42 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
3
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
4
|
-
if (ar || !(i in from)) {
|
|
5
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
6
|
-
ar[i] = from[i];
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.Injector = void 0;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
const reflect_1 = require("./reflect");
|
|
5
|
+
class Injector {
|
|
6
|
+
constructor() {
|
|
16
7
|
this.instances = new Map();
|
|
17
8
|
this.transactionalClients = [];
|
|
18
9
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
var injectableId = (0, reflect_1.reflect)(target).getInjectableId();
|
|
10
|
+
resolve(target) {
|
|
11
|
+
const injectableId = (0, reflect_1.reflect)(target).getInjectableId();
|
|
22
12
|
if (!injectableId) {
|
|
23
|
-
throw new Error(
|
|
13
|
+
throw new Error(`${target.name} is not injectable`);
|
|
24
14
|
}
|
|
25
15
|
if (!this.instances.has(injectableId)) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
16
|
+
const tokens = (0, reflect_1.reflect)(target).getParameters();
|
|
17
|
+
const injections = tokens.map(token => this.resolve(token));
|
|
18
|
+
const instance = new target(...injections);
|
|
29
19
|
this.instances.set(injectableId, instance);
|
|
30
20
|
if ((0, reflect_1.reflect)(target).isTransactionalClient()) {
|
|
31
21
|
this.transactionalClients.push(instance);
|
|
32
22
|
}
|
|
33
23
|
}
|
|
34
24
|
return this.instances.get(injectableId);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
}());
|
|
25
|
+
}
|
|
26
|
+
getTransactionalClients() {
|
|
27
|
+
return [...this.transactionalClients];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
41
30
|
exports.Injector = Injector;
|
|
42
31
|
//# sourceMappingURL=injector.js.map
|
package/dist/injector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"injector.js","sourceRoot":"","sources":["../src/injector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"injector.js","sourceRoot":"","sources":["../src/injector.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC,MAAa,QAAQ;IAArB;QACY,cAAS,GAAG,IAAI,GAAG,EAAe,CAAC;QACnC,yBAAoB,GAA2B,EAAE,CAAC;IAyB9D,CAAC;IAvBU,OAAO,CAAI,MAAe;QAC7B,MAAM,YAAY,GAAG,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;QACvD,IAAI,CAAC,YAAY,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,oBAAoB,CAAC,CAAC;SACvD;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACnC,MAAM,MAAM,GAAG,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAM,KAAK,CAAC,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAE3C,IAAI,IAAA,iBAAO,EAAC,MAAM,CAAC,CAAC,qBAAqB,EAAE,EAAE;gBACzC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAM,QAAQ,CAAC,CAAC;aACjD;SACJ;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAEM,uBAAuB;QAC1B,OAAO,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC1C,CAAC;CACJ;AA3BD,4BA2BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type FromArray<T extends ReadonlyArray<unknown>> = T extends ReadonlyArray<infer FromArray> ? FromArray : never;
|
package/dist/interfaces/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,yCAAuB;AACvB,yDAAuC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type Newable<T> = new () => T;
|
package/dist/reflect.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import { Command, Event } from '@my-devkit/core';
|
|
3
|
-
import { ExecutionMode } from 'execution-mode-enum';
|
|
3
|
+
import { ExecutionMode } from './execution-mode-enum';
|
|
4
4
|
import { Type } from './interfaces';
|
|
5
5
|
import { RequestMethod } from './request-method.enum';
|
|
6
6
|
import { Server } from './server';
|
|
@@ -56,7 +56,7 @@ export interface HandlerConfiguration {
|
|
|
56
56
|
commandHandlers: Map<string, CommandHandler>;
|
|
57
57
|
eventHandlers: Map<string, EventHandler>;
|
|
58
58
|
}
|
|
59
|
-
export
|
|
59
|
+
export type RequestArgumentInjector<T = any> = (req: Server.Request) => T;
|
|
60
60
|
export declare function reflect<T extends ReflectTarget<any>>(target: T, methodName?: string | symbol): ReflectHelper<T>;
|
|
61
|
-
|
|
61
|
+
type ReflectTarget<T> = T | (new (...args: any[]) => T);
|
|
62
62
|
export {};
|
package/dist/reflect.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.reflect = void 0;
|
|
4
4
|
require("reflect-metadata");
|
|
5
|
-
|
|
5
|
+
const core_1 = require("@my-devkit/core");
|
|
6
6
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
class ReflectHelper {
|
|
8
|
+
constructor(target, methodName) {
|
|
9
9
|
this.target = target;
|
|
10
10
|
this.methodName = methodName;
|
|
11
11
|
this.HANDLER_META_DATA = '__handler__';
|
|
@@ -13,22 +13,22 @@ var ReflectHelper = /** @class */ (function () {
|
|
|
13
13
|
this.INJECTABLE_META_DATA = '__injectable__';
|
|
14
14
|
this.TRANSACTIONAL_CLIENT_META_DATA = '__transactional_client__';
|
|
15
15
|
}
|
|
16
|
-
|
|
16
|
+
getParameters() {
|
|
17
17
|
return Reflect.getMetadata('design:paramtypes', this.target, this.methodName) || [];
|
|
18
|
-
}
|
|
19
|
-
|
|
18
|
+
}
|
|
19
|
+
registerInjectable() {
|
|
20
20
|
this.defineMetaData(this.INJECTABLE_META_DATA, (0, core_1.guid)());
|
|
21
|
-
}
|
|
22
|
-
|
|
21
|
+
}
|
|
22
|
+
getInjectableId() {
|
|
23
23
|
return this.getMetaData(this.INJECTABLE_META_DATA);
|
|
24
|
-
}
|
|
25
|
-
|
|
24
|
+
}
|
|
25
|
+
registerTransactionalClient() {
|
|
26
26
|
this.defineMetaData(this.TRANSACTIONAL_CLIENT_META_DATA, core_1.guid);
|
|
27
|
-
}
|
|
28
|
-
|
|
27
|
+
}
|
|
28
|
+
isTransactionalClient() {
|
|
29
29
|
return this.hasMetaData(this.TRANSACTIONAL_CLIENT_META_DATA);
|
|
30
|
-
}
|
|
31
|
-
|
|
30
|
+
}
|
|
31
|
+
getControllerConfiguration() {
|
|
32
32
|
if (!this.hasMetaData(this.CONTROLLER_META_DATA)) {
|
|
33
33
|
this.defineMetaData(this.CONTROLLER_META_DATA, {
|
|
34
34
|
basePath: null,
|
|
@@ -36,18 +36,18 @@ var ReflectHelper = /** @class */ (function () {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
return this.getMetaData(this.CONTROLLER_META_DATA);
|
|
39
|
-
}
|
|
40
|
-
|
|
39
|
+
}
|
|
40
|
+
registerController(basePath) {
|
|
41
41
|
this.getControllerConfiguration().basePath = basePath;
|
|
42
|
-
}
|
|
43
|
-
|
|
42
|
+
}
|
|
43
|
+
registerControllerRoute(route) {
|
|
44
44
|
this.getControllerRoute().path = route.path;
|
|
45
45
|
this.getControllerRoute().requestMethod = route.requestMethod;
|
|
46
|
-
}
|
|
47
|
-
|
|
46
|
+
}
|
|
47
|
+
registerControllerRouteArgumentInjector(injector, index) {
|
|
48
48
|
this.getControllerRoute().argumentInjectors[index] = injector;
|
|
49
|
-
}
|
|
50
|
-
|
|
49
|
+
}
|
|
50
|
+
getHandlerConfiguration() {
|
|
51
51
|
if (!this.hasMetaData(this.HANDLER_META_DATA)) {
|
|
52
52
|
this.defineMetaData(this.HANDLER_META_DATA, {
|
|
53
53
|
commandHandlers: new Map(),
|
|
@@ -55,24 +55,23 @@ var ReflectHelper = /** @class */ (function () {
|
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
return this.getMetaData(this.HANDLER_META_DATA);
|
|
58
|
-
}
|
|
59
|
-
|
|
58
|
+
}
|
|
59
|
+
registerCommandHandler(command) {
|
|
60
60
|
this.getHandlerConfiguration().commandHandlers.set(this.methodName.toString(), {
|
|
61
61
|
methodName: this.methodName.toString(),
|
|
62
|
-
command
|
|
62
|
+
command
|
|
63
63
|
});
|
|
64
|
-
}
|
|
65
|
-
|
|
64
|
+
}
|
|
65
|
+
registerEventHandler(event, executionMode) {
|
|
66
66
|
this.getHandlerConfiguration().eventHandlers.set(this.methodName.toString(), {
|
|
67
67
|
methodName: this.methodName.toString(),
|
|
68
|
-
executionMode
|
|
69
|
-
event
|
|
68
|
+
executionMode,
|
|
69
|
+
event
|
|
70
70
|
});
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if (!config.routes.find(function (r) { return r.methodName === _this.methodName.toString(); })) {
|
|
71
|
+
}
|
|
72
|
+
getControllerRoute() {
|
|
73
|
+
const config = this.getControllerConfiguration();
|
|
74
|
+
if (!config.routes.find(r => r.methodName === this.methodName.toString())) {
|
|
76
75
|
config.routes.push({
|
|
77
76
|
methodName: this.methodName.toString(),
|
|
78
77
|
path: null,
|
|
@@ -80,32 +79,27 @@ var ReflectHelper = /** @class */ (function () {
|
|
|
80
79
|
argumentInjectors: []
|
|
81
80
|
});
|
|
82
81
|
}
|
|
83
|
-
return config.routes.find(
|
|
84
|
-
}
|
|
85
|
-
|
|
82
|
+
return config.routes.find(r => r.methodName === this.methodName.toString());
|
|
83
|
+
}
|
|
84
|
+
getMetaData(key) {
|
|
86
85
|
return Reflect.getMetadata(key, this.targetConstructor);
|
|
87
|
-
}
|
|
88
|
-
|
|
86
|
+
}
|
|
87
|
+
defineMetaData(key, data) {
|
|
89
88
|
Reflect.defineMetadata(key, data, this.targetConstructor);
|
|
90
|
-
}
|
|
91
|
-
|
|
89
|
+
}
|
|
90
|
+
hasMetaData(key) {
|
|
92
91
|
return Reflect.hasMetadata(key, this.targetConstructor);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
enumerable: false,
|
|
105
|
-
configurable: true
|
|
106
|
-
});
|
|
107
|
-
return ReflectHelper;
|
|
108
|
-
}());
|
|
92
|
+
}
|
|
93
|
+
get targetConstructor() {
|
|
94
|
+
if (this.target['prototype']) {
|
|
95
|
+
return this.target['prototype'].constructor;
|
|
96
|
+
}
|
|
97
|
+
if (this.target.constructor) {
|
|
98
|
+
return this.target.constructor;
|
|
99
|
+
}
|
|
100
|
+
return this.target;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
109
103
|
function reflect(target, methodName) {
|
|
110
104
|
return new ReflectHelper(target, methodName);
|
|
111
105
|
}
|
package/dist/reflect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reflect.js","sourceRoot":"","sources":["../src/reflect.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAE1B,
|
|
1
|
+
{"version":3,"file":"reflect.js","sourceRoot":"","sources":["../src/reflect.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,5 +5,5 @@ var RequestMethod;
|
|
|
5
5
|
(function (RequestMethod) {
|
|
6
6
|
RequestMethod["GET"] = "GET";
|
|
7
7
|
RequestMethod["POST"] = "POST";
|
|
8
|
-
})(RequestMethod
|
|
8
|
+
})(RequestMethod || (exports.RequestMethod = RequestMethod = {}));
|
|
9
9
|
//# sourceMappingURL=request-method.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-method.enum.js","sourceRoot":"","sources":["../src/request-method.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,8BAAa,CAAA;AACjB,CAAC,EAHW,aAAa,
|
|
1
|
+
{"version":3,"file":"request-method.enum.js","sourceRoot":"","sources":["../src/request-method.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,8BAAa,CAAA;AACjB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB"}
|