jcc-express-mvc 1.6.17 → 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.
@@ -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;IAoClD;;;;;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"}
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"}
@@ -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
- return new concrete(...injections);
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
@@ -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;CAWrB"}
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("io-on", socket.on.bind(socket));
30
- this.bind("io-off", socket.off.bind(socket));
31
- this.bind("io-once", socket.once.bind(socket));
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;
@@ -1,11 +1,9 @@
1
- import { Socket } from "socket.io";
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 on: Socket["on"];
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;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,cAAe,SAAQ,eAAe;IAKrC,SAAS,CAAC,GAAG,EAAE,WAAW;IAJtC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAET,GAAG,EAAE,WAAW;IAOtC,QAAQ,IAAI,IAAI;IAEhB,IAAI,IAAI,IAAI;CACb"}
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.on = this.app.resolve("io-on", [], false);
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() { }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jcc-express-mvc",
3
- "version": "1.6.17",
3
+ "version": "1.6.18",
4
4
  "description": "express mvc structure",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",