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 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
@@ -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 app.bind(app, context_js_1.requestContext.value, context_js_1.responseContext.value);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc0FwcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9leHByZXNzQXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUE2QztBQUM3Qyw2Q0FBNEQ7QUFFckQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUE0QixFQUFFLEVBQUU7SUFDMUQsTUFBTSxHQUFHLEdBQUcsSUFBQSxpQkFBTyxHQUFFLENBQUE7SUFDckIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ1YsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSwyQkFBYyxDQUFDLEtBQUssRUFBRSw0QkFBZSxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQ2xFLENBQUMsQ0FBQTtBQUpZLFFBQUEsVUFBVSxjQUl0QiJ9
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQTREO0FBQXBELDRHQUFBLGNBQWMsT0FBQTtBQUFFLDZHQUFBLGVBQWUsT0FBQTtBQUN2QywyQ0FBNkQ7QUFBckQsNEdBQUEsY0FBYyxPQUFBO0FBQUUscUdBQUEsT0FBTyxPQUFBO0FBQUUscUdBQUEsT0FBTyxPQUFBO0FBQ3hDLHFDQU9rQjtBQU5qQiw0R0FBQSxpQkFBaUIsT0FBQTtBQUNqQiwwR0FBQSxlQUFlLE9BQUE7QUFDZix1R0FBQSxZQUFZLE9BQUE7QUFDWix5R0FBQSxjQUFjLE9BQUE7QUFDZCwwR0FBQSxlQUFlLE9BQUE7QUFDZixnSEFBQSxxQkFBcUIsT0FBQTtBQUV0Qix1Q0FBaUM7QUFBekIsa0dBQUEsTUFBTSxPQUFBO0FBQ2QsdUNBQTJFO0FBQW5FLHlHQUFBLGFBQWEsT0FBQTtBQUFFLHNHQUFBLFVBQVUsT0FBQTtBQUFFLG9HQUFBLFFBQVEsT0FBQTtBQUFFLHVHQUFBLFdBQVcsT0FBQTtBQUN4RCxpREFBMEM7QUFBbEMsMkdBQUEsVUFBVSxPQUFBIn0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQTREO0FBQXBELDRHQUFBLGNBQWMsT0FBQTtBQUFFLDZHQUFBLGVBQWUsT0FBQTtBQUN2QywyQ0FPcUI7QUFOcEIsNEdBQUEsY0FBYyxPQUFBO0FBQ2QscUdBQUEsT0FBTyxPQUFBO0FBQ1AscUdBQUEsT0FBTyxPQUFBO0FBQ1AsdUdBQUEsU0FBUyxPQUFBO0FBQ1QseUdBQUEsV0FBVyxPQUFBO0FBQ1gscUdBQUEsT0FBTyxPQUFBO0FBRVIscUNBT2tCO0FBTmpCLDRHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDBHQUFBLGVBQWUsT0FBQTtBQUNmLHVHQUFBLFlBQVksT0FBQTtBQUNaLHlHQUFBLGNBQWMsT0FBQTtBQUNkLDBHQUFBLGVBQWUsT0FBQTtBQUNmLGdIQUFBLHFCQUFxQixPQUFBO0FBRXRCLHVDQUFpQztBQUF6QixrR0FBQSxNQUFNLE9BQUE7QUFDZCx1Q0FBMkU7QUFBbkUseUdBQUEsYUFBYSxPQUFBO0FBQUUsc0dBQUEsVUFBVSxPQUFBO0FBQUUsb0dBQUEsUUFBUSxPQUFBO0FBQUUsdUdBQUEsV0FBVyxPQUFBO0FBQ3hELGlEQUEwQztBQUFsQywyR0FBQSxVQUFVLE9BQUEifQ==
@@ -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 app.bind(app, requestContext.value, responseContext.value);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwcmVzc0FwcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9leHByZXNzQXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBdUIsTUFBTSxTQUFTLENBQUE7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFFNUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBNEIsRUFBRSxFQUFFO0lBQzFELE1BQU0sR0FBRyxHQUFHLE9BQU8sRUFBRSxDQUFBO0lBQ3JCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNWLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDbEUsQ0FBQyxDQUFBIn0=
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQzdELE9BQU8sRUFDTixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLFlBQVksRUFDWixjQUFjLEVBQ2QsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixNQUFNLFdBQVcsQ0FBQTtBQUNsQixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sWUFBWSxDQUFBO0FBQ2pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUMsTUFBTSxZQUFZLENBQUE7QUFDM0UsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFBIn0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDNUQsT0FBTyxFQUNOLGNBQWMsRUFDZCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFNBQVMsRUFDVCxXQUFXLEVBQ1gsT0FBTyxFQUNQLE1BQU0sY0FBYyxDQUFBO0FBQ3JCLE9BQU8sRUFDTixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLFlBQVksRUFDWixjQUFjLEVBQ2QsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixNQUFNLFdBQVcsQ0FBQTtBQUNsQixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sWUFBWSxDQUFBO0FBQ2pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUMsTUFBTSxZQUFZLENBQUE7QUFDM0UsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFBIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dx-server",
3
- "version": "0.0.1-pre-1",
3
+ "version": "0.0.1-pre-3",
4
4
  "main": "./cjs/index.js",
5
5
  "repository": "git@github.com:tranvansang/dx-server.git",
6
6
  "author": "Sang Tran <t@sang.jp>",