dx-server 0.0.1-pre-1 → 0.0.1-pre-3
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/README.md +7 -1
- package/cjs/expressApp.d.ts +1 -1
- package/cjs/expressApp.js +11 -2
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +5 -2
- package/esm/expressApp.d.ts +1 -1
- package/esm/expressApp.js +11 -2
- package/esm/index.d.ts +1 -1
- package/esm/index.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -29,7 +29,6 @@ import {
|
|
|
29
29
|
expressApp,
|
|
30
30
|
} from 'dx-server'
|
|
31
31
|
|
|
32
|
-
// https://nodejs.org/en/docs/guides/anatomy-of-an-http-transaction
|
|
33
32
|
const tcpServer = new Server()
|
|
34
33
|
.on('request', async (req, res) => {
|
|
35
34
|
try {
|
|
@@ -111,3 +110,10 @@ const port = +(process.env.PORT ?? 3000)
|
|
|
111
110
|
await promisify(tcpServer.listen.bind(tcpServer))(port)
|
|
112
111
|
console.log(`server is listening at ${port}`)
|
|
113
112
|
```
|
|
113
|
+
|
|
114
|
+
## TODO
|
|
115
|
+
Until these middlewares are available as native dx-server middlewares, express middlewares can be used with `expressApp()`
|
|
116
|
+
- [ ] native static file serve, like 'static-serve'
|
|
117
|
+
- [ ] logger like morgan
|
|
118
|
+
- [ ] cookie, session
|
|
119
|
+
- [ ] cors
|
package/cjs/expressApp.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type Express } from 'express';
|
|
2
|
-
export declare const expressApp: (setup: (app: Express) => any) => any
|
|
2
|
+
export declare const expressApp: (setup: (app: Express) => any) => (next: () => any) => Promise<void>;
|
package/cjs/expressApp.js
CHANGED
|
@@ -3,10 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.expressApp = void 0;
|
|
4
4
|
const express_1 = require("express");
|
|
5
5
|
const context_js_1 = require("./context.js");
|
|
6
|
+
const jdefer_1 = require("jdefer");
|
|
6
7
|
const expressApp = (setup) => {
|
|
7
8
|
const app = (0, express_1.default)();
|
|
8
9
|
setup(app);
|
|
9
|
-
return
|
|
10
|
+
return (async (next) => {
|
|
11
|
+
const defer = (0, jdefer_1.default)();
|
|
12
|
+
app(context_js_1.requestContext.value, context_js_1.responseContext.value, (err) => {
|
|
13
|
+
if (err)
|
|
14
|
+
return defer.reject(err);
|
|
15
|
+
next();
|
|
16
|
+
});
|
|
17
|
+
return await defer.promise;
|
|
18
|
+
});
|
|
10
19
|
};
|
|
11
20
|
exports.expressApp = expressApp;
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc0FwcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9leHByZXNzQXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUE2QztBQUM3Qyw2Q0FBNEQ7QUFFNUQsbUNBQThCO0FBRXZCLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBNEIsRUFBRSxFQUFFO0lBQzFELE1BQU0sR0FBRyxHQUFHLElBQUEsaUJBQU8sR0FBRSxDQUFBO0lBQ3JCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNWLE9BQU8sQ0FBQyxLQUFLLEVBQUMsSUFBSSxFQUFDLEVBQUU7UUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBQSxnQkFBUyxHQUFFLENBQUE7UUFDekIsR0FBRyxDQUFDLDJCQUFjLENBQUMsS0FBSyxFQUFFLDRCQUFlLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDaEUsSUFBSSxHQUFHO2dCQUFFLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUNqQyxJQUFJLEVBQUUsQ0FBQTtRQUNQLENBQUMsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUE7SUFDM0IsQ0FBQyxDQUFzQixDQUFBO0FBQ3hCLENBQUMsQ0FBQTtBQVhZLFFBQUEsVUFBVSxjQVd0QiJ9
|
package/cjs/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { requestContext, responseContext } from './context.js';
|
|
2
|
-
export { expressContext, setHtml, setJson } from './express.js';
|
|
2
|
+
export { expressContext, setHtml, setJson, setBuffer, setRedirect, setText } from './express.js';
|
|
3
3
|
export { bufferBodyContext, jsonBodyContext, queryContext, rawBodyContext, textBodyContext, urlencodedBodyContext } from './body.js';
|
|
4
4
|
export { router } from './route.js';
|
|
5
5
|
export { catchApiError, catchError, notFound, notFoundApi } from './error.js';
|
package/cjs/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.expressApp = exports.notFoundApi = exports.notFound = exports.catchError = exports.catchApiError = exports.router = exports.urlencodedBodyContext = exports.textBodyContext = exports.rawBodyContext = exports.queryContext = exports.jsonBodyContext = exports.bufferBodyContext = exports.setJson = exports.setHtml = exports.expressContext = exports.responseContext = exports.requestContext = void 0;
|
|
3
|
+
exports.expressApp = exports.notFoundApi = exports.notFound = exports.catchError = exports.catchApiError = exports.router = exports.urlencodedBodyContext = exports.textBodyContext = exports.rawBodyContext = exports.queryContext = exports.jsonBodyContext = exports.bufferBodyContext = exports.setText = exports.setRedirect = exports.setBuffer = exports.setJson = exports.setHtml = exports.expressContext = exports.responseContext = exports.requestContext = void 0;
|
|
4
4
|
var context_js_1 = require("./context.js");
|
|
5
5
|
Object.defineProperty(exports, "requestContext", { enumerable: true, get: function () { return context_js_1.requestContext; } });
|
|
6
6
|
Object.defineProperty(exports, "responseContext", { enumerable: true, get: function () { return context_js_1.responseContext; } });
|
|
@@ -8,6 +8,9 @@ var express_js_1 = require("./express.js");
|
|
|
8
8
|
Object.defineProperty(exports, "expressContext", { enumerable: true, get: function () { return express_js_1.expressContext; } });
|
|
9
9
|
Object.defineProperty(exports, "setHtml", { enumerable: true, get: function () { return express_js_1.setHtml; } });
|
|
10
10
|
Object.defineProperty(exports, "setJson", { enumerable: true, get: function () { return express_js_1.setJson; } });
|
|
11
|
+
Object.defineProperty(exports, "setBuffer", { enumerable: true, get: function () { return express_js_1.setBuffer; } });
|
|
12
|
+
Object.defineProperty(exports, "setRedirect", { enumerable: true, get: function () { return express_js_1.setRedirect; } });
|
|
13
|
+
Object.defineProperty(exports, "setText", { enumerable: true, get: function () { return express_js_1.setText; } });
|
|
11
14
|
var body_js_1 = require("./body.js");
|
|
12
15
|
Object.defineProperty(exports, "bufferBodyContext", { enumerable: true, get: function () { return body_js_1.bufferBodyContext; } });
|
|
13
16
|
Object.defineProperty(exports, "jsonBodyContext", { enumerable: true, get: function () { return body_js_1.jsonBodyContext; } });
|
|
@@ -24,4 +27,4 @@ Object.defineProperty(exports, "notFound", { enumerable: true, get: function ()
|
|
|
24
27
|
Object.defineProperty(exports, "notFoundApi", { enumerable: true, get: function () { return error_js_1.notFoundApi; } });
|
|
25
28
|
var expressApp_js_1 = require("./expressApp.js");
|
|
26
29
|
Object.defineProperty(exports, "expressApp", { enumerable: true, get: function () { return expressApp_js_1.expressApp; } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQTREO0FBQXBELDRHQUFBLGNBQWMsT0FBQTtBQUFFLDZHQUFBLGVBQWUsT0FBQTtBQUN2QywyQ0FPcUI7QUFOcEIsNEdBQUEsY0FBYyxPQUFBO0FBQ2QscUdBQUEsT0FBTyxPQUFBO0FBQ1AscUdBQUEsT0FBTyxPQUFBO0FBQ1AsdUdBQUEsU0FBUyxPQUFBO0FBQ1QseUdBQUEsV0FBVyxPQUFBO0FBQ1gscUdBQUEsT0FBTyxPQUFBO0FBRVIscUNBT2tCO0FBTmpCLDRHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDBHQUFBLGVBQWUsT0FBQTtBQUNmLHVHQUFBLFlBQVksT0FBQTtBQUNaLHlHQUFBLGNBQWMsT0FBQTtBQUNkLDBHQUFBLGVBQWUsT0FBQTtBQUNmLGdIQUFBLHFCQUFxQixPQUFBO0FBRXRCLHVDQUFpQztBQUF6QixrR0FBQSxNQUFNLE9BQUE7QUFDZCx1Q0FBMkU7QUFBbkUseUdBQUEsYUFBYSxPQUFBO0FBQUUsc0dBQUEsVUFBVSxPQUFBO0FBQUUsb0dBQUEsUUFBUSxPQUFBO0FBQUUsdUdBQUEsV0FBVyxPQUFBO0FBQ3hELGlEQUEwQztBQUFsQywyR0FBQSxVQUFVLE9BQUEifQ==
|
package/esm/expressApp.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type Express } from 'express';
|
|
2
|
-
export declare const expressApp: (setup: (app: Express) => any) => any
|
|
2
|
+
export declare const expressApp: (setup: (app: Express) => any) => (next: () => any) => Promise<void>;
|
package/esm/expressApp.js
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import { requestContext, responseContext } from './context.js';
|
|
3
|
+
import makeDefer from 'jdefer';
|
|
3
4
|
export const expressApp = (setup) => {
|
|
4
5
|
const app = express();
|
|
5
6
|
setup(app);
|
|
6
|
-
return
|
|
7
|
+
return (async (next) => {
|
|
8
|
+
const defer = makeDefer();
|
|
9
|
+
app(requestContext.value, responseContext.value, (err) => {
|
|
10
|
+
if (err)
|
|
11
|
+
return defer.reject(err);
|
|
12
|
+
next();
|
|
13
|
+
});
|
|
14
|
+
return await defer.promise;
|
|
15
|
+
});
|
|
7
16
|
};
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc0FwcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9leHByZXNzQXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBdUIsTUFBTSxTQUFTLENBQUE7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFFNUQsT0FBTyxTQUFTLE1BQU0sUUFBUSxDQUFBO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQTRCLEVBQUUsRUFBRTtJQUMxRCxNQUFNLEdBQUcsR0FBRyxPQUFPLEVBQUUsQ0FBQTtJQUNyQixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDVixPQUFPLENBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxFQUFFO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLFNBQVMsRUFBRSxDQUFBO1FBQ3pCLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNoRSxJQUFJLEdBQUc7Z0JBQUUsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ2pDLElBQUksRUFBRSxDQUFBO1FBQ1AsQ0FBQyxDQUFDLENBQUE7UUFDRixPQUFPLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQTtJQUMzQixDQUFDLENBQXNCLENBQUE7QUFDeEIsQ0FBQyxDQUFBIn0=
|
package/esm/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { requestContext, responseContext } from './context.js';
|
|
2
|
-
export { expressContext, setHtml, setJson } from './express.js';
|
|
2
|
+
export { expressContext, setHtml, setJson, setBuffer, setRedirect, setText } from './express.js';
|
|
3
3
|
export { bufferBodyContext, jsonBodyContext, queryContext, rawBodyContext, textBodyContext, urlencodedBodyContext } from './body.js';
|
|
4
4
|
export { router } from './route.js';
|
|
5
5
|
export { catchApiError, catchError, notFound, notFoundApi } from './error.js';
|
package/esm/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { requestContext, responseContext } from './context.js';
|
|
2
|
-
export { expressContext, setHtml, setJson } from './express.js';
|
|
2
|
+
export { expressContext, setHtml, setJson, setBuffer, setRedirect, setText } from './express.js';
|
|
3
3
|
export { bufferBodyContext, jsonBodyContext, queryContext, rawBodyContext, textBodyContext, urlencodedBodyContext } from './body.js';
|
|
4
4
|
export { router } from './route.js';
|
|
5
5
|
export { catchApiError, catchError, notFound, notFoundApi } from './error.js';
|
|
6
6
|
export { expressApp } from './expressApp.js';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDNUQsT0FBTyxFQUNOLGNBQWMsRUFDZCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFNBQVMsRUFDVCxXQUFXLEVBQ1gsT0FBTyxFQUNQLE1BQU0sY0FBYyxDQUFBO0FBQ3JCLE9BQU8sRUFDTixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLFlBQVksRUFDWixjQUFjLEVBQ2QsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixNQUFNLFdBQVcsQ0FBQTtBQUNsQixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sWUFBWSxDQUFBO0FBQ2pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUMsTUFBTSxZQUFZLENBQUE7QUFDM0UsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFBIn0=
|