@uxf/router 1.5.0 → 1.7.1

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
@@ -44,7 +44,24 @@ const { createServer } = require("http");
44
44
  app.prepare().then(() => {
45
45
  createServer(handler).listen(3000);
46
46
  });
47
+ ```
48
+
49
+ ### Custom request handler
50
+
51
+ ```ts
52
+ import next from "next";
53
+ import { RequestHandler } from "@uxf/router";
54
+ import { getRequestHandler } from "./routes";
55
+
56
+ const app = next();
57
+
58
+ const customHandler: RequestHandler = async (req, res, pathname, queryParams) => {
59
+ const html = await app.renderToHTML(req, res, pathname, queryParams);
60
+
61
+ res.send(html);
62
+ }
47
63
 
64
+ const handler = getRequestHandler(app, customHandler);
48
65
  ```
49
66
 
50
67
  ## On the client
package/Router.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { LinkProps, UxfRouter, UxfSingletonRouter, Config } from "./types";
2
+ import { LinkProps, UxfRouter, UxfSingletonRouter, Config, RequestHandler } from "./types";
3
3
  export declare class Router<T> {
4
4
  private routes;
5
5
  private readonly config;
@@ -8,7 +8,8 @@ export declare class Router<T> {
8
8
  }, config?: Config<T>);
9
9
  private handleDefaultParams;
10
10
  private matchRoute;
11
- getRequestHandler: (app: any) => (req: any, res: any) => any;
11
+ getRequestHandler: (app: any, customHandler?: RequestHandler | undefined) => (req: any, res: any) => any;
12
+ getRouteByUrl: (url: string) => [keyof T, any];
12
13
  private getRoute;
13
14
  getUrls: (routeName: keyof T, params?: object | undefined, anchor?: string | undefined) => {
14
15
  as: string;
package/Router.js CHANGED
@@ -84,7 +84,7 @@ var Router = /** @class */ (function () {
84
84
  var _this = this;
85
85
  if (config === void 0) { config = {}; }
86
86
  this.routes = [];
87
- this.getRequestHandler = function (app) {
87
+ this.getRequestHandler = function (app, customHandler) {
88
88
  var nextHandler = app.getRequestHandler();
89
89
  return function (req, res) {
90
90
  var _a;
@@ -94,14 +94,26 @@ var Router = /** @class */ (function () {
94
94
  return nextHandler(req, res, parsedUrl);
95
95
  }
96
96
  var matchedRoute = _this.matchRoute((_a = parsedUrl.pathname) !== null && _a !== void 0 ? _a : "");
97
- req.__routeName = matchedRoute === null || matchedRoute === void 0 ? void 0 : matchedRoute.route.name;
98
97
  if (matchedRoute) {
99
98
  var matchResult = matchedRoute.matchResult, route = matchedRoute.route;
99
+ if (customHandler) {
100
+ return customHandler(req, res, route.page, __assign(__assign({}, parsedUrl.query), matchResult.params));
101
+ }
100
102
  return app.render(req, res, route.page, __assign(__assign({}, parsedUrl.query), matchResult.params));
101
103
  }
102
104
  return nextHandler(req, res, parsedUrl);
103
105
  };
104
106
  };
107
+ this.getRouteByUrl = function (url) {
108
+ var _a;
109
+ // TODO @vejvis - sjednotit s metodou getRequestHandler
110
+ var parsedUrl = url_1.parse(url, true);
111
+ var matchedRoute = _this.matchRoute((_a = parsedUrl.pathname) !== null && _a !== void 0 ? _a : "");
112
+ if (matchedRoute) {
113
+ return [matchedRoute.route.name, __assign(__assign({}, parsedUrl.query), matchedRoute.matchResult.params)];
114
+ }
115
+ throw new Error("Route for url '" + url + "' not found.");
116
+ };
105
117
  this.getUrls = function (routeName, params, anchor) {
106
118
  var route = _this.getRoute(routeName);
107
119
  return {
@@ -192,4 +204,4 @@ var Router = /** @class */ (function () {
192
204
  return Router;
193
205
  }());
194
206
  exports.Router = Router;
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1JvdXRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBOEU7QUFDOUUsbURBQWlDO0FBQ2pDLGdEQUEwQjtBQUMxQiwyQkFBNEI7QUFDNUIsK0NBQThDO0FBQzlDLGlDQUFnQztBQUdoQztJQUlJLGdCQUFZLE1BQW9DLEVBQUUsTUFBc0I7O1FBQXhFLGlCQUtDO1FBTGlELHVCQUFBLEVBQUEsV0FBc0I7UUFIaEUsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQTJCdEIsc0JBQWlCLEdBQUcsVUFBQyxHQUFRO1lBQ2hDLElBQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBRTVDLE9BQU8sVUFBQyxHQUFRLEVBQUUsR0FBUTs7Z0JBQ3RCLElBQU0sR0FBRyxHQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUM7Z0JBRTVCLElBQU0sU0FBUyxHQUFHLFdBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBRW5DLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQy9ELE9BQU8sV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7aUJBQzNDO2dCQUVELElBQU0sWUFBWSxHQUFHLEtBQUksQ0FBQyxVQUFVLE9BQUMsU0FBUyxDQUFDLFFBQVEsbUNBQUksRUFBRSxDQUFDLENBQUM7Z0JBQy9ELEdBQUcsQ0FBQyxXQUFXLEdBQUcsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQzNDLElBQUksWUFBWSxFQUFF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
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1JvdXRlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBOEU7QUFDOUUsbURBQWlDO0FBQ2pDLGdEQUEwQjtBQUMxQiwyQkFBNEI7QUFDNUIsK0NBQThDO0FBQzlDLGlDQUFnQztBQUdoQztJQUlJLGdCQUFZLE1BQW9DLEVBQUUsTUFBc0I7O1FBQXhFLGlCQUtDO1FBTGlELHVCQUFBLEVBQUEsV0FBc0I7UUFIaEUsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQTJCdEIsc0JBQWlCLEdBQUcsVUFBQyxHQUFRLEVBQUUsYUFBOEI7WUFDaEUsSUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFFNUMsT0FBTyxVQUFDLEdBQVEsRUFBRSxHQUFROztnQkFDdEIsSUFBTSxHQUFHLEdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQztnQkFFNUIsSUFBTSxTQUFTLEdBQUcsV0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFFbkMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDL0QsT0FBTyxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztpQkFDM0M7Z0JBRUQsSUFBTSxZQUFZLEdBQUcsS0FBSSxDQUFDLFVBQVUsT0FBQyxTQUFTLENBQUMsUUFBUSxtQ0FBSSxFQUFFLENBQUMsQ0FBQztnQkFDL0QsSUFBSSxZQUFZLEVBQUU7b0JBQ04sSUFBQSxXQUFXLEdBQVksWUFBWSxZQUF4QixFQUFFLEtBQUssR0FBSyxZQUFZLE1BQWpCLENBQWtCO29C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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/router",
3
- "version": "1.5.0",
3
+ "version": "1.7.1",
4
4
  "description": "UXF Router",
5
5
  "author": "UXFans <dev@uxf.cz>",
6
6
  "homepage": "https://gitlab.com/uxf-npm/router#readme",
@@ -46,25 +46,7 @@
46
46
  "typescript": "^3.8.3"
47
47
  },
48
48
  "peerDependencies": {
49
- "react": "^16.9.0",
50
- "react-dom": "^16.9.0"
51
- },
52
- "release": {
53
- "plugins": [
54
- "@semantic-release/commit-analyzer",
55
- "@semantic-release/release-notes-generator",
56
- [
57
- "@semantic-release/gitlab",
58
- {
59
- "gitlabUrl": "https://gitlab.com/"
60
- }
61
- ],
62
- [
63
- "@semantic-release/npm",
64
- {
65
- "pkgRoot": "dist"
66
- }
67
- ]
68
- ]
49
+ "react": "^16 || ^17",
50
+ "react-dom": "^16 || ^17"
69
51
  }
70
52
  }
package/types.d.ts CHANGED
@@ -1,5 +1,7 @@
1
+ /// <reference types="node" />
1
2
  import { LinkProps as NextLinkProps } from "next/link";
2
3
  import { NextRouter, SingletonRouter } from "next/router";
4
+ import { ParsedUrlQuery } from "querystring";
3
5
  export interface Options {
4
6
  anchor?: string;
5
7
  shallow?: boolean;
@@ -22,3 +24,4 @@ export interface UxfSingletonRouter<T> extends Omit<SingletonRouter, "push" | "r
22
24
  export interface Config<T> {
23
25
  defaultParams?: (route: keyof T, params: any) => any;
24
26
  }
27
+ export declare type RequestHandler = (req: any, res: any, pathname: string, query: ParsedUrlQuery) => Promise<void>;