remult 0.14.24 → 0.14.27

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.
@@ -7,5 +7,5 @@ export declare function remultExpress(options?: RemultMiddlewareOptions & {
7
7
  openApiDoc: (options: {
8
8
  title: string;
9
9
  }) => any;
10
- addArea: (x: any) => any;
10
+ addArea: (x: any) => void;
11
11
  };
@@ -1,8 +1,9 @@
1
- import { RemultMiddlewareOptions } from './server/expressBridge';
2
- export declare function remultMiddleware(options?: RemultMiddlewareOptions): ((req: any, res: any, next: any) => void) & {
3
- getRemult: (req: any) => Promise<import(".").Remult>;
4
- openApiDoc: (options: {
5
- title: string;
6
- }) => any;
7
- addArea: (x: any) => any;
8
- };
1
+ import { GenericRequest, GenericRequestHandler, GenericResponse, RemultMiddlewareOptions, RemultServer } from './server/expressBridge';
2
+ export declare function remultMiddleware(options?: RemultMiddlewareOptions): RemultMiddleware;
3
+ export interface RemultMiddleware extends GenericRequestHandler, RemultServer {
4
+ handle(req: GenericRequest, gRes?: GenericResponse): Promise<MiddlewareResponse>;
5
+ }
6
+ export interface MiddlewareResponse {
7
+ data?: any;
8
+ statusCode?: number;
9
+ }
@@ -5,7 +5,8 @@ export function remultMiddleware(options) {
5
5
  return Object.assign((req, res, next) => m.handleRequest(req, res, next), {
6
6
  getRemult: (req) => server.getRemult(req),
7
7
  openApiDoc: (options) => server.openApiDoc(options),
8
- addArea: x => server.addArea(x)
8
+ addArea: x => server.addArea(x),
9
+ handle: req => m.handle(req)
9
10
  });
10
11
  }
11
12
  class middleware {
@@ -39,6 +40,31 @@ class middleware {
39
40
  };
40
41
  return route;
41
42
  }
43
+ async handle(req, gRes) {
44
+ return new Promise(res => {
45
+ const response = new class {
46
+ json(data) {
47
+ if (gRes)
48
+ gRes.json(data);
49
+ res({ statusCode: this.statusCode, data });
50
+ }
51
+ status(statusCode) {
52
+ if (gRes)
53
+ gRes.status(statusCode);
54
+ this.statusCode = statusCode;
55
+ return this;
56
+ }
57
+ end() {
58
+ if (gRes)
59
+ gRes.end();
60
+ res({
61
+ statusCode: this.statusCode
62
+ });
63
+ }
64
+ };
65
+ this.handleRequest(req, response, () => res(undefined));
66
+ });
67
+ }
42
68
  handleRequest(req, res, next) {
43
69
  let theUrl = req.url;
44
70
  if (theUrl.startsWith('/')) //next sends a partial url '/api/tasks' and not the full url
@@ -31,7 +31,7 @@ export interface RemultServer {
31
31
  openApiDoc(options: {
32
32
  title: string;
33
33
  }): any;
34
- addArea(rootUrl: string): any;
34
+ addArea(rootUrl: string): void;
35
35
  }
36
36
  export declare type GenericRouter = {
37
37
  route(path: string): SpecificRoute;
@@ -43,7 +43,7 @@ export declare type SpecificRoute = {
43
43
  delete(handler: GenericRequestHandler): SpecificRoute;
44
44
  };
45
45
  export interface GenericRequest {
46
- url: string;
46
+ url?: string;
47
47
  method?: any;
48
48
  body?: any;
49
49
  query?: any;
@@ -12,6 +12,8 @@ const environments = [
12
12
  ["fastify", 3003],
13
13
  ["express", 3004],
14
14
  ["middleware", 3005],
15
+ ["optine", 3006],
16
+ ["fresh", 8000],
15
17
  ];
16
18
  function test(name, test) {
17
19
  for (const [env, port] of environments) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "remult",
3
- "version": "0.14.24",
3
+ "version": "0.14.27",
4
4
  "description": "A CRUD framework for full-stack TypeScript",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -7,5 +7,5 @@ export declare function remultExpress(options?: RemultMiddlewareOptions & {
7
7
  openApiDoc: (options: {
8
8
  title: string;
9
9
  }) => any;
10
- addArea: (x: any) => any;
10
+ addArea: (x: any) => void;
11
11
  };
@@ -1,8 +1,9 @@
1
- import { RemultMiddlewareOptions } from './server/expressBridge';
2
- export declare function remultMiddleware(options?: RemultMiddlewareOptions): ((req: any, res: any, next: any) => void) & {
3
- getRemult: (req: any) => Promise<import(".").Remult>;
4
- openApiDoc: (options: {
5
- title: string;
6
- }) => any;
7
- addArea: (x: any) => any;
8
- };
1
+ import { GenericRequest, GenericRequestHandler, GenericResponse, RemultMiddlewareOptions, RemultServer } from './server/expressBridge';
2
+ export declare function remultMiddleware(options?: RemultMiddlewareOptions): RemultMiddleware;
3
+ export interface RemultMiddleware extends GenericRequestHandler, RemultServer {
4
+ handle(req: GenericRequest, gRes?: GenericResponse): Promise<MiddlewareResponse>;
5
+ }
6
+ export interface MiddlewareResponse {
7
+ data?: any;
8
+ statusCode?: number;
9
+ }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.remultMiddleware = void 0;
4
+ var tslib_1 = require("tslib");
4
5
  var expressBridge_1 = require("./server/expressBridge");
5
6
  function remultMiddleware(options) {
6
7
  var m = new middleware();
@@ -8,7 +9,8 @@ function remultMiddleware(options) {
8
9
  return Object.assign(function (req, res, next) { return m.handleRequest(req, res, next); }, {
9
10
  getRemult: function (req) { return server.getRemult(req); },
10
11
  openApiDoc: function (options) { return server.openApiDoc(options); },
11
- addArea: function (x) { return server.addArea(x); }
12
+ addArea: function (x) { return server.addArea(x); },
13
+ handle: function (req) { return m.handle(req); }
12
14
  });
13
15
  }
14
16
  exports.remultMiddleware = remultMiddleware;
@@ -43,6 +45,39 @@ var middleware = /** @class */ (function () {
43
45
  };
44
46
  return route;
45
47
  };
48
+ middleware.prototype.handle = function (req, gRes) {
49
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
50
+ var _this = this;
51
+ return tslib_1.__generator(this, function (_a) {
52
+ return [2 /*return*/, new Promise(function (res) {
53
+ var response = new /** @class */ (function () {
54
+ function class_1() {
55
+ }
56
+ class_1.prototype.json = function (data) {
57
+ if (gRes)
58
+ gRes.json(data);
59
+ res({ statusCode: this.statusCode, data: data });
60
+ };
61
+ class_1.prototype.status = function (statusCode) {
62
+ if (gRes)
63
+ gRes.status(statusCode);
64
+ this.statusCode = statusCode;
65
+ return this;
66
+ };
67
+ class_1.prototype.end = function () {
68
+ if (gRes)
69
+ gRes.end();
70
+ res({
71
+ statusCode: this.statusCode
72
+ });
73
+ };
74
+ return class_1;
75
+ }());
76
+ _this.handleRequest(req, response, function () { return res(undefined); });
77
+ })];
78
+ });
79
+ });
80
+ };
46
81
  middleware.prototype.handleRequest = function (req, res, next) {
47
82
  var theUrl = req.url;
48
83
  if (theUrl.startsWith('/')) //next sends a partial url '/api/tasks' and not the full url
@@ -31,7 +31,7 @@ export interface RemultServer {
31
31
  openApiDoc(options: {
32
32
  title: string;
33
33
  }): any;
34
- addArea(rootUrl: string): any;
34
+ addArea(rootUrl: string): void;
35
35
  }
36
36
  export declare type GenericRouter = {
37
37
  route(path: string): SpecificRoute;
@@ -43,7 +43,7 @@ export declare type SpecificRoute = {
43
43
  delete(handler: GenericRequestHandler): SpecificRoute;
44
44
  };
45
45
  export interface GenericRequest {
46
- url: string;
46
+ url?: string;
47
47
  method?: any;
48
48
  body?: any;
49
49
  query?: any;
@@ -15,6 +15,8 @@ var environments = [
15
15
  ["fastify", 3003],
16
16
  ["express", 3004],
17
17
  ["middleware", 3005],
18
+ ["optine", 3006],
19
+ ["fresh", 8000],
18
20
  ];
19
21
  function test(name, test) {
20
22
  var e_1, _a;