jcc-express-mvc 1.6.16 → 1.6.18
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/lib/Container/index.d.ts +1 -0
- package/lib/Container/index.d.ts.map +1 -1
- package/lib/Container/index.js +29 -13
- package/lib/Dependancy/index.js +2 -2
- package/lib/Express/ExpressApplication.d.ts.map +1 -1
- package/lib/Express/ExpressApplication.js +4 -3
- package/lib/Jcc-eloquent/lib/BaseModel.js +1 -1
- package/lib/Providers/SocketServiceProvider.d.ts +2 -4
- package/lib/Providers/SocketServiceProvider.d.ts.map +1 -1
- package/lib/Providers/SocketServiceProvider.js +1 -3
- package/lib/Routes/RouteBuilder.d.ts.map +1 -1
- package/lib/Routes/RouteBuilder.js +20 -2
- package/package.json +1 -1
package/lib/Container/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export declare abstract class Container {
|
|
|
11
11
|
alias(abstract: string, alias: string): void;
|
|
12
12
|
resolve<T>(abstract: string, parameters?: any[], callFactory?: boolean): T;
|
|
13
13
|
private isClass;
|
|
14
|
+
private canBeInstantiated;
|
|
14
15
|
build<T>(concrete: any, parameters?: any[]): T;
|
|
15
16
|
/**
|
|
16
17
|
* Call a method with dependency injection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Framework/lib/Container/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiIhE,8BAAsB,SAAS;IAC7B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,OAAO,CAAkC;IAEjD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAE,OAAe,GAAG,IAAI;IAI7D,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS;IAKhE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAIhD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAQ/C,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5C,OAAO,CAAC,CAAC,EACP,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,GAAG,EAAO,EACtB,WAAW,GAAE,OAAc,GAC1B,CAAC;IAsCJ,OAAO,CAAC,OAAO;IAIf,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,GAAE,GAAG,EAAO,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Framework/lib/Container/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiIhE,8BAAsB,SAAS;IAC7B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,OAAO,CAAkC;IAEjD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAE,OAAe,GAAG,IAAI;IAI7D,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS;IAKhE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAIhD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAQ/C,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI5C,OAAO,CAAC,CAAC,EACP,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,GAAG,EAAO,EACtB,WAAW,GAAE,OAAc,GAC1B,CAAC;IAsCJ,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,iBAAiB;IAazB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,GAAE,GAAG,EAAO,GAAG,CAAC;IA8ClD;;;;;OAKG;IACG,UAAU,CAAC,CAAC,GAAG,GAAG,EACtB,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,CAAC,CAAC;IAsCb;;;OAGG;IACH,OAAO,CAAC,aAAa;IAMrB,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAO/B"}
|
package/lib/Container/index.js
CHANGED
|
@@ -163,6 +163,19 @@ class Container {
|
|
|
163
163
|
isClass(func) {
|
|
164
164
|
return typeof func === "function" && /^\s*class\s+/.test(func.toString());
|
|
165
165
|
}
|
|
166
|
+
canBeInstantiated(fn) {
|
|
167
|
+
try {
|
|
168
|
+
new new Proxy(fn, {
|
|
169
|
+
construct(target, args, newTarget) {
|
|
170
|
+
return {};
|
|
171
|
+
},
|
|
172
|
+
})();
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
166
179
|
build(concrete, parameters = []) {
|
|
167
180
|
if (typeof concrete === "function" && !this.isClass(concrete)) {
|
|
168
181
|
return concrete(this, ...parameters);
|
|
@@ -189,7 +202,20 @@ class Container {
|
|
|
189
202
|
else {
|
|
190
203
|
injections = parameters;
|
|
191
204
|
}
|
|
192
|
-
|
|
205
|
+
try {
|
|
206
|
+
if (this.canBeInstantiated(concrete)) {
|
|
207
|
+
return new concrete(...injections);
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
return concrete;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
// console.log(this.canBeInstantiated(concrete));
|
|
215
|
+
// return concrete;
|
|
216
|
+
// console.log({ error: "Error" });
|
|
217
|
+
throw error;
|
|
218
|
+
}
|
|
193
219
|
}
|
|
194
220
|
/**
|
|
195
221
|
* Call a method with dependency injection
|
|
@@ -203,21 +229,11 @@ class Container {
|
|
|
203
229
|
if (methodDeps && methodDeps.length > 0) {
|
|
204
230
|
const resolvedDeps = await Promise.all(methodDeps.map(async (dep) => {
|
|
205
231
|
if (!dep || !dep.name || dep.name === "Object") {
|
|
206
|
-
return
|
|
232
|
+
return { req, res, next };
|
|
207
233
|
}
|
|
208
234
|
const resolved = this.resolve(dep);
|
|
209
235
|
if (resolved instanceof Jcc_eloquent_1.Model) {
|
|
210
|
-
// const param = req.params[Str.kebab(dep.name)];
|
|
211
|
-
// let dd = Object.keys(req.params).filter((param) => {
|
|
212
|
-
// if (param.includes("$" + Str.kebab(dep.name))) {
|
|
213
|
-
// const [column, data] = param.split(/\$/g);
|
|
214
|
-
// return { column, data };
|
|
215
|
-
// }
|
|
216
|
-
// });
|
|
217
236
|
return await (0, util_1.resolveModelBinding)(req, dep, resolved);
|
|
218
|
-
// console.log(dd);
|
|
219
|
-
// console.log(dd.includes(`$${dep.name}`));
|
|
220
|
-
// return param ? await dep.find(param) : resolved;
|
|
221
237
|
}
|
|
222
238
|
if (resolved instanceof FormRequest_1.FormRequest) {
|
|
223
239
|
return new dep(req);
|
|
@@ -225,7 +241,7 @@ class Container {
|
|
|
225
241
|
return resolved;
|
|
226
242
|
}));
|
|
227
243
|
return instance[methodName].apply(instance, [
|
|
228
|
-
{ req, res, next },
|
|
244
|
+
// { req, res, next },
|
|
229
245
|
...resolvedDeps,
|
|
230
246
|
]);
|
|
231
247
|
}
|
package/lib/Dependancy/index.js
CHANGED
|
@@ -11,7 +11,7 @@ function Inject() {
|
|
|
11
11
|
function Method() {
|
|
12
12
|
return (target, propertyKey, descriptor) => {
|
|
13
13
|
const paramTypes = Reflect.getMetadata("design:paramtypes", target, propertyKey) || [];
|
|
14
|
-
const filteParams = paramTypes.filter((param) => param.name != "Object");
|
|
15
|
-
Reflect.defineMetadata("inject:method:deps",
|
|
14
|
+
// const filteParams = paramTypes.filter((param) => param.name != "Object");
|
|
15
|
+
Reflect.defineMetadata("inject:method:deps", paramTypes, target, propertyKey);
|
|
16
16
|
};
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpressApplication.d.ts","sourceRoot":"","sources":["../../../Framework/lib/Express/ExpressApplication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC,qBAAa,kBAAmB,SAAQ,SAAS;;IAO/C,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"ExpressApplication.d.ts","sourceRoot":"","sources":["../../../Framework/lib/Express/ExpressApplication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC,qBAAa,kBAAmB,SAAQ,SAAS;;IAO/C,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,YAAY;CAYrB"}
|
|
@@ -26,9 +26,10 @@ class ExpressApplication extends Container_1.Container {
|
|
|
26
26
|
},
|
|
27
27
|
});
|
|
28
28
|
this.bind("httpListen", httpServer.listen.bind(httpServer));
|
|
29
|
-
this.bind("
|
|
30
|
-
this.bind("io-
|
|
31
|
-
this.bind("io-
|
|
29
|
+
this.bind("socketIo", socket, false);
|
|
30
|
+
// this.bind("io-on", socket.on.bind(socket));
|
|
31
|
+
// this.bind("io-off", socket.off.bind(socket));
|
|
32
|
+
// this.bind("io-once", socket.once.bind(socket));
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
exports.ExpressApplication = ExpressApplication;
|
|
@@ -123,7 +123,7 @@ class BaseModel extends QueryBuilder_1.QueryBuilder {
|
|
|
123
123
|
}
|
|
124
124
|
toJSON() {
|
|
125
125
|
// Apply casts and hide _attributes
|
|
126
|
-
this.applyCasts();
|
|
126
|
+
// this.applyCasts();
|
|
127
127
|
const data = {};
|
|
128
128
|
// Add non-hidden _attributes
|
|
129
129
|
for (const key in this._attributes) {
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DefaultEventsMap, Server } from "socket.io";
|
|
2
2
|
import { Application } from "../Application/Application";
|
|
3
3
|
import { ServiceProvider } from "./ServiceProvider";
|
|
4
4
|
export declare class SocketProvider extends ServiceProvider {
|
|
5
5
|
protected app: Application;
|
|
6
|
-
protected
|
|
7
|
-
protected off: Socket["off"];
|
|
8
|
-
protected once: Socket["once"];
|
|
6
|
+
protected io: Server<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, any>;
|
|
9
7
|
constructor(app: Application);
|
|
10
8
|
register(): void;
|
|
11
9
|
boot(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocketServiceProvider.d.ts","sourceRoot":"","sources":["../../../Framework/lib/Providers/SocketServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"SocketServiceProvider.d.ts","sourceRoot":"","sources":["../../../Framework/lib/Providers/SocketServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,cAAe,SAAQ,eAAe;IAQrC,SAAS,CAAC,GAAG,EAAE,WAAW;IAPtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAClB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,GAAG,CACJ,CAAC;gBAEoB,GAAG,EAAE,WAAW;IAOtC,QAAQ,IAAI,IAAI;IAEhB,IAAI,IAAI,IAAI;CACb"}
|
|
@@ -6,9 +6,7 @@ class SocketProvider extends ServiceProvider_1.ServiceProvider {
|
|
|
6
6
|
constructor(app) {
|
|
7
7
|
super(app);
|
|
8
8
|
this.app = app;
|
|
9
|
-
this.
|
|
10
|
-
this.off = this.app.resolve("io-on", [], false);
|
|
11
|
-
this.once = this.app.resolve("io-on", [], false);
|
|
9
|
+
this.io = this.app.resolve("socketIo", [], false);
|
|
12
10
|
}
|
|
13
11
|
register() { }
|
|
14
12
|
boot() { }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteBuilder.d.ts","sourceRoot":"","sources":["../../../Framework/lib/Routes/RouteBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAIL,cAAc,EACd,eAAe,EAEf,gBAAgB,EAChB,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACb,MAAM,SAAS,CAAC;AAMjB,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAwB;IACjD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAS;IACjC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC;IAC/C,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC;IAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAkB;IAEvC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAOpC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB;WAahD,YAAY,CAAC,GAAG,EAAE,MAAM;WAIxB,sBAAsB,CAClC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,UAAU,GAClB,OAAO,GAAG,UAAU;WAmBT,SAAS,CAAC,MAAM,EAAE,MAAM;IAItC,OAAO,CAAC,MAAM,CAAC,sBAAsB;WAKvB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,EAAE;WA4BpD,aAAa,CAAC,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG;WAIrD,UAAU,CACtB,UAAU,EAAE,cAAc,EAC1B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,YAAY;WAeV,mBAAmB,CAAC,SAAS,EAAE,WAAW;IAIxD,SAAS,CAAC,MAAM,CAAC,QAAQ,CACvB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,cAAc,GAAG,cAAc,EAAE,GAC5C,GAAG;IASN,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAC/B,QAAQ,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,GACpC,eAAe;IAwBlB,OAAO,CAAC,MAAM,CAAC,cAAc;WAgCf,aAAa,CAAC,GAAG,EAAE,kBAAkB;
|
|
1
|
+
{"version":3,"file":"RouteBuilder.d.ts","sourceRoot":"","sources":["../../../Framework/lib/Routes/RouteBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAIL,cAAc,EACd,eAAe,EAEf,gBAAgB,EAChB,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACb,MAAM,SAAS,CAAC;AAMjB,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAwB;IACjD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAS;IACjC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC;IAC/C,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC;IAC5C,OAAO,CAAC,MAAM,CAAC,MAAM,CAAkB;IAEvC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;WAOpC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB;WAahD,YAAY,CAAC,GAAG,EAAE,MAAM;WAIxB,sBAAsB,CAClC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,UAAU,GAClB,OAAO,GAAG,UAAU;WAmBT,SAAS,CAAC,MAAM,EAAE,MAAM;IAItC,OAAO,CAAC,MAAM,CAAC,sBAAsB;WAKvB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,EAAE;WA4BpD,aAAa,CAAC,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG;WAIrD,UAAU,CACtB,UAAU,EAAE,cAAc,EAC1B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,YAAY;WAeV,mBAAmB,CAAC,SAAS,EAAE,WAAW;IAIxD,SAAS,CAAC,MAAM,CAAC,QAAQ,CACvB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,cAAc,GAAG,cAAc,EAAE,GAC5C,GAAG;IASN,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAC/B,QAAQ,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,GACpC,eAAe;IAwBlB,OAAO,CAAC,MAAM,CAAC,cAAc;WAgCf,aAAa,CAAC,GAAG,EAAE,kBAAkB;IAsCnD,WAAkB,SAAS,IAAI,UAAU,CAExC;CACF"}
|
|
@@ -134,9 +134,27 @@ class RouteBuilder {
|
|
|
134
134
|
this.baseRoute = "";
|
|
135
135
|
this.routes.forEach((route) => {
|
|
136
136
|
const middleware = route.middlewares;
|
|
137
|
-
app[route.method](route.url, ...middleware, (0, util_1.asyncHandler)((req, res, next) => {
|
|
137
|
+
app[route.method](route.url, ...middleware, (0, util_1.asyncHandler)(async (req, res, next) => {
|
|
138
138
|
const handler = this.resolveHandler(route.handler, route.Controller);
|
|
139
|
-
|
|
139
|
+
try {
|
|
140
|
+
const result = await handler(req, res, next);
|
|
141
|
+
// console.log(result);
|
|
142
|
+
if (res.headersSent)
|
|
143
|
+
return;
|
|
144
|
+
if (result !== undefined) {
|
|
145
|
+
if (typeof result === "object") {
|
|
146
|
+
return res.json(result);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
return res.send(String(result));
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return res.send("");
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
console.log("first");
|
|
156
|
+
next(error);
|
|
157
|
+
}
|
|
140
158
|
}));
|
|
141
159
|
});
|
|
142
160
|
}
|