next-ssr-middleware 0.9.2 → 0.10.0-rc.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.
Files changed (40) hide show
  1. package/ReadMe.md +137 -137
  2. package/dist/API.d.ts +10 -0
  3. package/dist/API.js +65 -0
  4. package/dist/API.js.map +1 -0
  5. package/dist/SSR/compose.js.map +1 -0
  6. package/dist/SSR/index.d.ts +3 -0
  7. package/dist/SSR/index.js +7 -0
  8. package/dist/SSR/index.js.map +1 -0
  9. package/dist/SSR/middleware/index.js.map +1 -0
  10. package/dist/SSR/middleware/local.js.map +1 -0
  11. package/dist/SSR/middleware/remote.js.map +1 -0
  12. package/dist/SSR/shim.js.map +1 -0
  13. package/dist/index.d.ts +2 -3
  14. package/dist/index.js +2 -3
  15. package/dist/index.js.map +1 -1
  16. package/package.json +20 -8
  17. package/source/API.ts +67 -0
  18. package/source/SSR/index.ts +3 -0
  19. package/source/index.ts +2 -3
  20. package/tsconfig.json +1 -0
  21. package/dist/compose.js.map +0 -1
  22. package/dist/middleware/index.js.map +0 -1
  23. package/dist/middleware/local.js.map +0 -1
  24. package/dist/middleware/remote.js.map +0 -1
  25. package/dist/shim.js.map +0 -1
  26. /package/dist/{compose.d.ts → SSR/compose.d.ts} +0 -0
  27. /package/dist/{compose.js → SSR/compose.js} +0 -0
  28. /package/dist/{middleware → SSR/middleware}/index.d.ts +0 -0
  29. /package/dist/{middleware → SSR/middleware}/index.js +0 -0
  30. /package/dist/{middleware → SSR/middleware}/local.d.ts +0 -0
  31. /package/dist/{middleware → SSR/middleware}/local.js +0 -0
  32. /package/dist/{middleware → SSR/middleware}/remote.d.ts +0 -0
  33. /package/dist/{middleware → SSR/middleware}/remote.js +0 -0
  34. /package/dist/{shim.d.ts → SSR/shim.d.ts} +0 -0
  35. /package/dist/{shim.js → SSR/shim.js} +0 -0
  36. /package/source/{compose.ts → SSR/compose.ts} +0 -0
  37. /package/source/{middleware → SSR/middleware}/index.ts +0 -0
  38. /package/source/{middleware → SSR/middleware}/local.ts +0 -0
  39. /package/source/{middleware → SSR/middleware}/remote.ts +0 -0
  40. /package/source/{shim.ts → SSR/shim.ts} +0 -0
package/ReadMe.md CHANGED
@@ -1,137 +1,137 @@
1
- # Next SSR middleware
2
-
3
- [Koa][1]-like middlewares for [Next.js][2] **Server Side Rendering**
4
-
5
- [![NPM Dependency](https://img.shields.io/librariesio/github/idea2app/Next-SSR-middleware.svg)][3]
6
- [![CI & CD](https://github.com/idea2app/Next-SSR-middleware/actions/workflows/main.yml/badge.svg)][4]
7
-
8
- [![NPM](https://nodei.co/npm/next-ssr-middleware.png?downloads=true&downloadRank=true&stars=true)][5]
9
-
10
- ## Versions
11
-
12
- | SemVer | status | Next.js | MobX | [MobX i18n][6] |
13
- | :----------: | :----------: | :-------: | :---------: | :------------: |
14
- | `>=0.9` | ✅developing | `>=15` | `>=6.11` | `>=0.5` |
15
- | `>=0.7 <0.9` | ❌deprecated | `>=9 <15` | `>=6.11` | `>=0.5` |
16
- | `<0.7` | ❌deprecated | `>=9 <15` | `>=4 <6.11` | `<0.5` |
17
-
18
- ## Middlewares
19
-
20
- 1. Router
21
- 2. Error logger
22
- 3. JWT verifier
23
- 4. Props cache
24
- 5. i18n loader
25
- 6. OAuth 2 signer (with common providers)
26
- 1. GitHub
27
-
28
- ## Usage
29
-
30
- ### Page router
31
-
32
- #### `pages/user/[id].tsx`
33
-
34
- ```tsx
35
- import {
36
- JWTProps,
37
- RouterProps,
38
- jwtVerifier,
39
- cache,
40
- errorLogger,
41
- router,
42
- translator
43
- } from 'next-ssr-middleware';
44
-
45
- import i18n from '../../model/Translation';
46
- import { User, UserModel } from '../../model/User';
47
-
48
- type UserDetailPageProps = User & JWTProps & RouterProps;
49
-
50
- export const getServerSideProps = compose<{ id: string }, UserDetailPageProps>(
51
- jwtVerifier(), // set `JWT_SECRET` in `.env.local` first
52
- cache(),
53
- errorLogger,
54
- router,
55
- translator(i18n),
56
- async ({ params }) => {
57
- const props = await new UserModel().getOne(params!.id);
58
-
59
- return { notFound: !props, props };
60
- }
61
- );
62
-
63
- export default function UserDetailPage({
64
- jwtPayload,
65
- route,
66
- name,
67
- summary
68
- }: UserDetailPageProps) {
69
- return (
70
- <>
71
- <h1>
72
- {name} - {route.params!.id}
73
- </h1>
74
- <p>{summary}</p>
75
- </>
76
- );
77
- }
78
- ```
79
-
80
- ### App router
81
-
82
- #### `middleware.ts`
83
-
84
- ```ts
85
- import { NextRequest, NextResponse } from 'next/server';
86
- import { parseHeaders } from 'next-ssr-middleware';
87
-
88
- export const config = {
89
- // Matcher ignoring `/_next/`, `/api/` & icons
90
- matcher: [
91
- '/((?!api|_next/static|_next/image|favicon.ico|apple-icon|icon).*)'
92
- ]
93
- };
94
- export const middleware = ({ headers }: NextRequest) =>
95
- NextResponse.next({ headers: parseHeaders(headers) });
96
- ```
97
-
98
- #### `app/page.tsx`
99
-
100
- ```tsx
101
- import { compose, withMiddleware, ServerProps } from 'next-ssr-middleware';
102
-
103
- const getServerSideProps = compose(async () => {
104
- const props = await (
105
- await fetch('https://api.github.com/orgs/idea2app')
106
- ).json();
107
-
108
- return { props };
109
- });
110
-
111
- const HomePage = withMiddleware(getServerSideProps, Home);
112
-
113
- export default HomePage;
114
-
115
- async function Home({ params, searchParams, ...props }: ServerProps) {
116
- return (
117
- <>
118
- <h1>Home</h1>
119
- <pre>{JSON.stringify(props, null, 4)}</pre>
120
- </>
121
- );
122
- }
123
- ```
124
-
125
- ## Cases
126
-
127
- 1. https://github.com/idea2app/Next-Bootstrap-ts
128
- 2. https://github.com/kaiyuanshe/kaiyuanshe.github.io
129
- 3. https://github.com/kaiyuanshe/OpenHackathon-Web
130
- 4. https://github.com/kaiyuanshe/OSS-toolbox
131
-
132
- [1]: https://koajs.com/
133
- [2]: https://nextjs.org/
134
- [3]: https://libraries.io/npm/next-ssr-middleware
135
- [4]: https://github.com/idea2app/Next-SSR-middleware/actions/workflows/main.yml
136
- [5]: https://nodei.co/npm/next-ssr-middleware/
137
- [6]: https://github.com/idea2app/MobX-i18n
1
+ # Next SSR middleware
2
+
3
+ [Koa][1]-like middlewares for [Next.js][2] **Server Side Rendering**
4
+
5
+ [![NPM Dependency](https://img.shields.io/librariesio/github/idea2app/Next-SSR-middleware.svg)][3]
6
+ [![CI & CD](https://github.com/idea2app/Next-SSR-middleware/actions/workflows/main.yml/badge.svg)][4]
7
+
8
+ [![NPM](https://nodei.co/npm/next-ssr-middleware.png?downloads=true&downloadRank=true&stars=true)][5]
9
+
10
+ ## Versions
11
+
12
+ | SemVer | status | Next.js | MobX | [MobX i18n][6] |
13
+ | :----------: | :----------: | :-------: | :---------: | :------------: |
14
+ | `>=0.9` | ✅developing | `>=15` | `>=6.11` | `>=0.5` |
15
+ | `>=0.7 <0.9` | ❌deprecated | `>=9 <15` | `>=6.11` | `>=0.5` |
16
+ | `<0.7` | ❌deprecated | `>=9 <15` | `>=4 <6.11` | `<0.5` |
17
+
18
+ ## Middlewares
19
+
20
+ 1. Router
21
+ 2. Error logger
22
+ 3. JWT verifier
23
+ 4. Props cache
24
+ 5. i18n loader
25
+ 6. OAuth 2 signer (with common providers)
26
+ 1. GitHub
27
+
28
+ ## Usage
29
+
30
+ ### Page router
31
+
32
+ #### `pages/user/[id].tsx`
33
+
34
+ ```tsx
35
+ import {
36
+ JWTProps,
37
+ RouterProps,
38
+ jwtVerifier,
39
+ cache,
40
+ errorLogger,
41
+ router,
42
+ translator
43
+ } from 'next-ssr-middleware';
44
+
45
+ import i18n from '../../model/Translation';
46
+ import { User, UserModel } from '../../model/User';
47
+
48
+ type UserDetailPageProps = User & JWTProps & RouterProps;
49
+
50
+ export const getServerSideProps = compose<{ id: string }, UserDetailPageProps>(
51
+ jwtVerifier(), // set `JWT_SECRET` in `.env.local` first
52
+ cache(),
53
+ errorLogger,
54
+ router,
55
+ translator(i18n),
56
+ async ({ params }) => {
57
+ const props = await new UserModel().getOne(params!.id);
58
+
59
+ return { notFound: !props, props };
60
+ }
61
+ );
62
+
63
+ export default function UserDetailPage({
64
+ jwtPayload,
65
+ route,
66
+ name,
67
+ summary
68
+ }: UserDetailPageProps) {
69
+ return (
70
+ <>
71
+ <h1>
72
+ {name} - {route.params!.id}
73
+ </h1>
74
+ <p>{summary}</p>
75
+ </>
76
+ );
77
+ }
78
+ ```
79
+
80
+ ### App router
81
+
82
+ #### `middleware.ts`
83
+
84
+ ```ts
85
+ import { NextRequest, NextResponse } from 'next/server';
86
+ import { parseHeaders } from 'next-ssr-middleware';
87
+
88
+ export const config = {
89
+ // Matcher ignoring `/_next/`, `/api/` & icons
90
+ matcher: [
91
+ '/((?!api|_next/static|_next/image|favicon.ico|apple-icon|icon).*)'
92
+ ]
93
+ };
94
+ export const middleware = ({ headers }: NextRequest) =>
95
+ NextResponse.next({ headers: parseHeaders(headers) });
96
+ ```
97
+
98
+ #### `app/page.tsx`
99
+
100
+ ```tsx
101
+ import { compose, withMiddleware, ServerProps } from 'next-ssr-middleware';
102
+
103
+ const getServerSideProps = compose(async () => {
104
+ const props = await (
105
+ await fetch('https://api.github.com/orgs/idea2app')
106
+ ).json();
107
+
108
+ return { props };
109
+ });
110
+
111
+ const HomePage = withMiddleware(getServerSideProps, Home);
112
+
113
+ export default HomePage;
114
+
115
+ async function Home({ params, searchParams, ...props }: ServerProps) {
116
+ return (
117
+ <>
118
+ <h1>Home</h1>
119
+ <pre>{JSON.stringify(props, null, 4)}</pre>
120
+ </>
121
+ );
122
+ }
123
+ ```
124
+
125
+ ## Cases
126
+
127
+ 1. https://github.com/idea2app/Next-Bootstrap-ts
128
+ 2. https://github.com/kaiyuanshe/kaiyuanshe.github.io
129
+ 3. https://github.com/kaiyuanshe/OpenHackathon-Web
130
+ 4. https://github.com/kaiyuanshe/OSS-toolbox
131
+
132
+ [1]: https://koajs.com/
133
+ [2]: https://nextjs.org/
134
+ [3]: https://libraries.io/npm/next-ssr-middleware
135
+ [4]: https://github.com/idea2app/Next-SSR-middleware/actions/workflows/main.yml
136
+ [5]: https://nodei.co/npm/next-ssr-middleware/
137
+ [6]: https://github.com/idea2app/MobX-i18n
package/dist/API.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ import Router, { RouterOptions, RouterParamContext } from '@koa/router';
2
+ import Koa, { Middleware } from 'koa';
3
+ export type KoaOption = ConstructorParameters<typeof Koa>[0];
4
+ export type KoaCallback = ReturnType<(typeof Koa)['prototype']['callback']>;
5
+ export declare function withKoa<S, C>(...middlewares: Middleware<S, C>[]): KoaCallback;
6
+ export declare function withKoa<S, C>(option: KoaOption, ...middlewares: Middleware<S, C>[]): KoaCallback;
7
+ export declare const pageApiRouteOf: (path: string) => string;
8
+ export declare const createRouter: <S, C extends RouterParamContext<S>>(moduleURI: string, option?: RouterOptions) => Router<S, C>;
9
+ export declare function withKoaRouter<S, C extends RouterParamContext<S>>(router: Router<S, C>, ...middlewares: Middleware<S, C>[]): KoaCallback;
10
+ export declare function withKoaRouter<S, C extends RouterParamContext<S>>(option: KoaOption, router: Router<S, C>, ...middlewares: Middleware<S, C>[]): KoaCallback;
package/dist/API.js ADDED
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRouter = exports.pageApiRouteOf = void 0;
4
+ exports.withKoa = withKoa;
5
+ exports.withKoaRouter = withKoaRouter;
6
+ var tslib_1 = require("tslib");
7
+ var bodyparser_1 = tslib_1.__importDefault(require("@koa/bodyparser"));
8
+ var router_1 = tslib_1.__importDefault(require("@koa/router"));
9
+ var koa_1 = tslib_1.__importDefault(require("koa"));
10
+ function withKoa() {
11
+ var _a, e_1, _b;
12
+ var parameters = [];
13
+ for (var _i = 0; _i < arguments.length; _i++) {
14
+ parameters[_i] = arguments[_i];
15
+ }
16
+ var option;
17
+ var middlewares = [];
18
+ if (typeof parameters[0] === 'function') {
19
+ option = undefined;
20
+ middlewares = parameters;
21
+ }
22
+ else
23
+ _a = tslib_1.__read(parameters), option = _a[0], middlewares = _a.slice(1);
24
+ var app = new koa_1.default(option).use((0, bodyparser_1.default)());
25
+ try {
26
+ for (var middlewares_1 = tslib_1.__values(middlewares), middlewares_1_1 = middlewares_1.next(); !middlewares_1_1.done; middlewares_1_1 = middlewares_1.next()) {
27
+ var middleware = middlewares_1_1.value;
28
+ app.use(middleware);
29
+ }
30
+ }
31
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
32
+ finally {
33
+ try {
34
+ if (middlewares_1_1 && !middlewares_1_1.done && (_b = middlewares_1.return)) _b.call(middlewares_1);
35
+ }
36
+ finally { if (e_1) throw e_1.error; }
37
+ }
38
+ return app.callback();
39
+ }
40
+ var pageApiRouteOf = function (path) {
41
+ var _a, _b, _c;
42
+ return (_c = (_b = (_a = path
43
+ .match(/pages(\/api\/.+)\.(j|t)s/)) === null || _a === void 0 ? void 0 : _a[1]) === null || _b === void 0 ? void 0 : _b.split('/[')[0]) === null || _c === void 0 ? void 0 : _c.replace(/\/index$/, '');
44
+ };
45
+ exports.pageApiRouteOf = pageApiRouteOf;
46
+ var createRouter = function (moduleURI, option) { return new router_1.default(tslib_1.__assign(tslib_1.__assign({}, option), { prefix: (0, exports.pageApiRouteOf)(moduleURI) })); };
47
+ exports.createRouter = createRouter;
48
+ function withKoaRouter() {
49
+ var _a, _b;
50
+ var parameters = [];
51
+ for (var _i = 0; _i < arguments.length; _i++) {
52
+ parameters[_i] = arguments[_i];
53
+ }
54
+ var option;
55
+ var router;
56
+ var middlewares = [];
57
+ if (typeof parameters[1] === 'function')
58
+ _a = tslib_1.__read(parameters), router = _a[0], middlewares = _a.slice(1);
59
+ else
60
+ _b = tslib_1.__read(parameters), option = _b[0], router = _b[1], middlewares = _b.slice(2);
61
+ return withKoa.apply(void 0, tslib_1.__spreadArray([option,
62
+ router.routes(),
63
+ router.allowedMethods()], tslib_1.__read(middlewares), false));
64
+ }
65
+ //# sourceMappingURL=API.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"API.js","sourceRoot":"","sources":["../source/API.ts"],"names":[],"mappings":";;;AAaA,0BAcC;AAsBD,sCAiBC;;AAlED,uEAAyC;AACzC,+DAAwE;AACxE,oDAAsC;AAWtC,SAAgB,OAAO;;IAAO,oBAAoB;SAApB,UAAoB,EAApB,qBAAoB,EAApB,IAAoB;QAApB,+BAAoB;;IAC9C,IAAI,MAA6B,CAAC;IAClC,IAAI,WAAW,GAAuB,EAAE,CAAC;IAEzC,IAAI,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,GAAG,SAAS,CAAC;QACnB,WAAW,GAAG,UAAU,CAAC;IAC7B,CAAC;;QAAM,KAAA,eAA2B,UAAU,CAAA,EAApC,MAAM,QAAA,EAAK,WAAW,cAAA,CAAe;IAE7C,IAAM,GAAG,GAAG,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAA,oBAAU,GAAE,CAAC,CAAC;;QAE9C,KAAyB,IAAA,gBAAA,iBAAA,WAAW,CAAA,wCAAA;YAA/B,IAAM,UAAU,wBAAA;YAAiB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAAA;;;;;;;;;IAE1D,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAEM,IAAM,cAAc,GAAG,UAAC,IAAY;;IACvC,OAAA,MAAA,MAAA,MAAA,IAAI;SACC,KAAK,CAAC,0BAA0B,CAAC,0CAAG,CAAC,CAAC,0CACrC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,0CACd,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;CAAA,CAAC;AAJrB,QAAA,cAAc,kBAIO;AAE3B,IAAM,YAAY,GAAG,UACxB,SAAiB,EACjB,MAAsB,IACrB,OAAA,IAAI,gBAAM,uCAAY,MAAM,KAAE,MAAM,EAAE,IAAA,sBAAc,EAAC,SAAS,CAAC,IAAG,EAAlE,CAAkE,CAAC;AAH3D,QAAA,YAAY,gBAG+C;AAWxE,SAAgB,aAAa;;IACzB,oBAAoB;SAApB,UAAoB,EAApB,qBAAoB,EAApB,IAAoB;QAApB,+BAAoB;;IAEpB,IAAI,MAA6B,CAAC;IAClC,IAAI,MAAoB,CAAC;IACzB,IAAI,WAAW,GAAuB,EAAE,CAAC;IAEzC,IAAI,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU;QACnC,KAAA,eAA2B,UAAU,CAAA,EAApC,MAAM,QAAA,EAAK,WAAW,cAAA,CAAe;;QACrC,KAAA,eAAmC,UAAU,CAAA,EAA5C,MAAM,QAAA,EAAE,MAAM,QAAA,EAAK,WAAW,cAAA,CAAe;IAEnD,OAAO,OAAO,sCACV,MAAM;QACN,MAAM,CAAC,MAAM,EAAE;QACf,MAAM,CAAC,cAAc,EAAE,kBACpB,WAAW,WAChB;AACN,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../source/SSR/compose.ts"],"names":[],"mappings":";;AAaA,0BAcC;;AAdD,SAAgB,OAAO;IAAvB,iBAcC;IAVC,qBAAkC;SAAlC,UAAkC,EAAlC,qBAAkC,EAAlC,IAAkC;QAAlC,gCAAkC;;IAChC,OAAO,CAAC,UAAA,OAAO;QACL,IAAA,KAAA,eAAmB,WAAW,CAAA,EAA7B,KAAK,QAAA,EAAK,IAAI,cAAe,CAAC;QAErC,IAAM,IAAI,GAAG;;;;4BACR,qBAAM,CAAA,MAAA,IAAI,CAAC,KAAK,EAAE,0CAAG,OAAO,EAAE,IAAI,CAAC,CAAA,EAAA;4BAApC,sBAAA,CAAC,SAAmC,CAAC;4BACpC,EAAE,KAAK,EAAE,EAAE,EAAkC,EAAA;;;aAAA,CAAC;QAEnD,OAAO,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC,CAAM,CAAC;AACZ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './compose';
2
+ export * from './middleware';
3
+ export * from './shim';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./compose"), exports);
5
+ tslib_1.__exportStar(require("./middleware"), exports);
6
+ tslib_1.__exportStar(require("./shim"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/SSR/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,uDAA6B;AAC7B,iDAAuB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/SSR/middleware/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,mDAAyB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../../source/SSR/middleware/local.ts"],"names":[],"mappings":";;AASA,kCAmBC;AASD,wBAgBC;AAMD,kCAoBC;AAUD,sBAsCC;AAED,gCAcC;;AA/ID,6CAAiE;AACjE,iCAAmC;AACnC,uCAAkE;AAGlE,2CAA0C;AAI1C,SAAsB,WAAW,CAI7B,OAAqC,EACrC,IAAgD;;;;;;;oBAGrC,qBAAM,IAAI,EAAE,EAAA;wBAAnB,sBAAO,SAAY,EAAC;;;oBAEpB,OAAO,CAAC,KAAK,CAAC,OAAK,CAAC,CAAC;oBAErB,IAAI,OAAK,YAAY,kBAAS,EAAE,CAAC;wBACrB,WAAW,OAAK,CAAC,QAAQ,OAAnB,CAAoB;wBAElC,IAAI,QAAM,KAAK,GAAG;4BAAE,sBAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAO,EAAE,EAAC;oBAClE,CAAC;oBACD,MAAM,OAAK,CAAC;;;;;CAEnB;AASD,SAAsB,MAAM,CACxB,OAAqC,EACrC,IAAgD;;;;;wBAE/B,qBAAM,IAAI,EAAE,EAAA;;oBAAvB,OAAO,GAAG,CAAC,SAAY,CAAC,IAAK,EAAmC,EAChE,WAAW,GAA6B,OAAO,YAApC,EAAE,MAAM,GAAqB,OAAO,OAA5B,EAAE,KAAK,GAAc,OAAO,MAArB,EAAE,OAAO,GAAK,OAAO,QAAZ;oBAEzC,sBAAO,sCACA,OAAO,KACV,KAAK,wCACE,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAC5C,KAAK,EAAE,IAAI,CAAC,KAAK,CACb,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,aAAA,EAAE,MAAM,QAAA,EAAE,KAAK,OAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAC1D,MAEuC,EAAC;;;;CACpD;AAMD,SAAgB,WAAW,CACvB,QAAkB,EAClB,SAAwB,EACxB,OAA2B;IAH/B,iBAoBC;IAnBG,yBAAA,EAAA,kBAAkB;IAClB,0BAAA,EAAA,wBAAwB;IACxB,wBAAA,EAAA,YAA2B;IAE3B,OAAO,wFAAO,EAAyB,EAAE,IAAI;;YAA7B,WAAqB,EAAd,GAAG,SAAA,EAAE,OAAO,aAAA;;;;oBACzB,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAEhC,IAAI,CAAC;wBACG,UAAU,GAAG,IAAA,qBAAM,EAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpE,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC9B,CAAC;oBACY,qBAAM,IAAI,EAAE,EAAA;;oBAAnB,IAAI,GAAG,SAAY;oBAEzB,IAAI,OAAO,IAAI,IAAI,IAAI,UAAU;wBAC7B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;oBAE1C,sBAAO,IAAI,EAAC;;;SACf,CAAC;AACN,CAAC;AAQD,IAAM,iBAAiB,GAA+B,EAAE,CAAC;AAEzD,SAAgB,KAAK,CACjB,WAAyB,EACzB,WAAiB;IAFrB,iBAsCC;IArCG,4BAAA,EAAA,cAAc,EAAE,GAAG,oBAAM;IACzB,4BAAA,EAAA,cAAc,iBAAG;IAEjB,SAAS,UAAU;;;YACf,KAAmC,IAAA,KAAA,iBAAA,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA,gBAAA;gBAAzD,IAAA,KAAA,2BAAoB,EAAnB,GAAG,QAAA,EAAI,SAAS,kBAAA;gBACxB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,WAAW;oBACpC,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;aAAA;;;;;;;;;IAC1C,CAAC;IAED,OAAO,CAAC,UAAO,OAAO,EAAE,IAAI;;;YAChB,WAAW,GAAU,OAAO,YAAjB,EAAE,GAAG,GAAK,OAAO,IAAZ,CAAa;YAC/B,KAAK,GAAG,CAAC,iBAAiB,CAAC,WAAW,MAA7B,iBAAiB,CAAC,WAAW,IAAM,EAAE,EAAC,EACjD,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,UAAU,EACrD,KAAK,GAAG,sBAAe,WAAW,CAAE,CAAC;YACjC,IAAI,GAAoB,KAAK,KAAzB,EAAE,KAAkB,KAAK,UAAV,EAAb,SAAS,mBAAG,CAAC,KAAA,CAAW;YAEtC,IAAI,CAAC,CAAC,IAAI,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEpB,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE;qBAChB,IAAI,CAAC,UAAA,IAAI;oBACN,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;oBAClB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;oBAE3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAEnB,OAAO,IAAI,CAAC;gBAChB,CAAC,CAAC;qBACD,OAAO,CAAC;oBACL,OAAO,KAAK,CAAC,MAAM,CAAC;oBACpB,UAAU,EAAE,CAAC;oBAEb,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;YACX,CAAC;YACD,sBAAO,IAAI,IAAI,KAAK,CAAC,MAAM,EAAC;;SAC/B,CAAqB,CAAC;AAC3B,CAAC;AAED,SAAgB,UAAU,CACtB,IAAsC;IAD1C,iBAcC;IAXG,OAAO,wFACH,EAA2D,EAC3D,IAAgD;;YAD9C,WAAyB,EAAlB,OAAO,aAAA,EAAE,OAAO,aAAA;;;;oBAGjB,KAAkB,OAAO,SAAZ,EAAb,QAAQ,mBAAG,EAAE,KAAA,EACjB,SAAS,GAAG,IAAA,+BAAmB,EAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;oBAEtE,qBAAM,IAAI,CAAC,aAAa,CAAC,uBAAC,QAAQ,kBAAK,SAAS,UAAE,MAAM,CAAC,OAAO,CAAC,CAAC,EAAA;;oBAAlE,SAAkE,CAAC;oBAEnE,sBAAO,IAAI,EAAE,EAAC;;;SACjB,CAAC;AACN,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../source/SSR/middleware/remote.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shim.js","sourceRoot":"","sources":["../../source/SSR/shim.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- export * from './compose';
2
- export * from './middleware';
3
- export * from './shim';
1
+ export * from './API';
2
+ export * from './SSR';
package/dist/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./compose"), exports);
5
- tslib_1.__exportStar(require("./middleware"), exports);
6
- tslib_1.__exportStar(require("./shim"), exports);
4
+ tslib_1.__exportStar(require("./API"), exports);
5
+ tslib_1.__exportStar(require("./SSR"), exports);
7
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,uDAA6B;AAC7B,iDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,gDAAsB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "next-ssr-middleware",
3
- "version": "0.9.2",
3
+ "version": "0.10.0-rc.1",
4
4
  "license": "LGPL-3.0-or-later",
5
5
  "author": "shiy2008@gmail.com",
6
6
  "description": "Koa-like middlewares for Next.js Server Side Rendering",
@@ -22,27 +22,39 @@
22
22
  "types": "dist/index.d.ts",
23
23
  "main": "dist/index.js",
24
24
  "dependencies": {
25
- "jsonwebtoken": "^9.0.2",
26
25
  "tslib": "^2.8.1",
27
26
  "web-utility": "^4.4.3"
28
27
  },
28
+ "optionalDependencies": {
29
+ "@types/jsonwebtoken": "^9.0.9",
30
+ "@types/koa": "^2.15.0",
31
+ "@types/koa__router": "^12.0.4",
32
+ "@types/react": ">=18"
33
+ },
29
34
  "peerDependencies": {
30
- "@types/react": ">=18",
35
+ "@koa/bodyparser": ">=5",
36
+ "@koa/router": ">=13",
37
+ "jsonwebtoken": ">=9",
38
+ "koa": ">=2",
31
39
  "mobx-i18n": ">=0.5 <1",
32
- "next": ">=9.3"
40
+ "next": ">=9.3",
41
+ "react": ">=18"
33
42
  },
34
43
  "devDependencies": {
35
- "@types/jsonwebtoken": "^9.0.9",
36
- "@types/node": "^22.14.1",
44
+ "@koa/bodyparser": "^5.1.1",
45
+ "@koa/router": "^13.1.0",
46
+ "@types/node": "^22.15.2",
37
47
  "@types/react": "^19.1.2",
38
48
  "husky": "^9.1.7",
49
+ "jsonwebtoken": "^9.0.2",
50
+ "koa": "^2.16.1",
39
51
  "koajax": "^3.1.2",
40
52
  "lint-staged": "^15.5.1",
41
53
  "mobx-i18n": "^0.6.0",
42
- "next": "^15.3.0",
54
+ "next": "^15.3.1",
43
55
  "open-cli": "^8.0.0",
44
56
  "prettier": "^3.5.3",
45
- "typedoc": "^0.28.2",
57
+ "typedoc": "^0.28.3",
46
58
  "typescript": "~5.8.3"
47
59
  },
48
60
  "prettier": {
package/source/API.ts ADDED
@@ -0,0 +1,67 @@
1
+ import BodyParser from '@koa/bodyparser';
2
+ import Router, { RouterOptions, RouterParamContext } from '@koa/router';
3
+ import Koa, { Middleware } from 'koa';
4
+
5
+ export type KoaOption = ConstructorParameters<typeof Koa>[0];
6
+
7
+ export type KoaCallback = ReturnType<(typeof Koa)['prototype']['callback']>;
8
+
9
+ export function withKoa<S, C>(...middlewares: Middleware<S, C>[]): KoaCallback;
10
+ export function withKoa<S, C>(
11
+ option: KoaOption,
12
+ ...middlewares: Middleware<S, C>[]
13
+ ): KoaCallback;
14
+ export function withKoa<S, C>(...parameters: any[]) {
15
+ let option: KoaOption | undefined;
16
+ let middlewares: Middleware<S, C>[] = [];
17
+
18
+ if (typeof parameters[0] === 'function') {
19
+ option = undefined;
20
+ middlewares = parameters;
21
+ } else [option, ...middlewares] = parameters;
22
+
23
+ const app = new Koa(option).use(BodyParser());
24
+
25
+ for (const middleware of middlewares) app.use(middleware);
26
+
27
+ return app.callback();
28
+ }
29
+
30
+ export const pageApiRouteOf = (path: string) =>
31
+ path
32
+ .match(/pages(\/api\/.+)\.(j|t)s/)?.[1]
33
+ ?.split('/[')[0]
34
+ ?.replace(/\/index$/, '');
35
+
36
+ export const createRouter = <S, C extends RouterParamContext<S>>(
37
+ moduleURI: string,
38
+ option?: RouterOptions
39
+ ) => new Router<S, C>({ ...option, prefix: pageApiRouteOf(moduleURI) });
40
+
41
+ export function withKoaRouter<S, C extends RouterParamContext<S>>(
42
+ router: Router<S, C>,
43
+ ...middlewares: Middleware<S, C>[]
44
+ ): KoaCallback;
45
+ export function withKoaRouter<S, C extends RouterParamContext<S>>(
46
+ option: KoaOption,
47
+ router: Router<S, C>,
48
+ ...middlewares: Middleware<S, C>[]
49
+ ): KoaCallback;
50
+ export function withKoaRouter<S, C extends RouterParamContext<S>>(
51
+ ...parameters: any[]
52
+ ) {
53
+ let option: KoaOption | undefined;
54
+ let router: Router<S, C>;
55
+ let middlewares: Middleware<S, C>[] = [];
56
+
57
+ if (typeof parameters[1] === 'function')
58
+ [router, ...middlewares] = parameters;
59
+ else [option, router, ...middlewares] = parameters;
60
+
61
+ return withKoa(
62
+ option,
63
+ router.routes(),
64
+ router.allowedMethods(),
65
+ ...middlewares
66
+ );
67
+ }
@@ -0,0 +1,3 @@
1
+ export * from './compose';
2
+ export * from './middleware';
3
+ export * from './shim';
package/source/index.ts CHANGED
@@ -1,3 +1,2 @@
1
- export * from './compose';
2
- export * from './middleware';
3
- export * from './shim';
1
+ export * from './API';
2
+ export * from './SSR';
package/tsconfig.json CHANGED
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "compilerOptions": {
3
+ "esModuleInterop": true,
3
4
  "downlevelIteration": true,
4
5
  "importHelpers": true,
5
6
  "lib": ["ESNext", "DOM", "DOM.Iterable"],
@@ -1 +0,0 @@
1
- {"version":3,"file":"compose.js","sourceRoot":"","sources":["../source/compose.ts"],"names":[],"mappings":";;AAaA,0BAcC;;AAdD,SAAgB,OAAO;IAAvB,iBAcC;IAVC,qBAAkC;SAAlC,UAAkC,EAAlC,qBAAkC,EAAlC,IAAkC;QAAlC,gCAAkC;;IAChC,OAAO,CAAC,UAAA,OAAO;QACL,IAAA,KAAA,eAAmB,WAAW,CAAA,EAA7B,KAAK,QAAA,EAAK,IAAI,cAAe,CAAC;QAErC,IAAM,IAAI,GAAG;;;;4BACR,qBAAM,CAAA,MAAA,IAAI,CAAC,KAAK,EAAE,0CAAG,OAAO,EAAE,IAAI,CAAC,CAAA,EAAA;4BAApC,sBAAA,CAAC,SAAmC,CAAC;4BACpC,EAAE,KAAK,EAAE,EAAE,EAAkC,EAAA;;;aAAA,CAAC;QAEnD,OAAO,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC,CAAM,CAAC;AACZ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/middleware/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,mDAAyB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../source/middleware/local.ts"],"names":[],"mappings":";;AASA,kCAmBC;AASD,wBAgBC;AAMD,kCAoBC;AAUD,sBAsCC;AAED,gCAcC;;AA/ID,6CAAiE;AACjE,iCAAmC;AACnC,uCAAkE;AAGlE,2CAA0C;AAI1C,SAAsB,WAAW,CAI7B,OAAqC,EACrC,IAAgD;;;;;;;oBAGrC,qBAAM,IAAI,EAAE,EAAA;wBAAnB,sBAAO,SAAY,EAAC;;;oBAEpB,OAAO,CAAC,KAAK,CAAC,OAAK,CAAC,CAAC;oBAErB,IAAI,OAAK,YAAY,kBAAS,EAAE,CAAC;wBACrB,WAAW,OAAK,CAAC,QAAQ,OAAnB,CAAoB;wBAElC,IAAI,QAAM,KAAK,GAAG;4BAAE,sBAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAO,EAAE,EAAC;oBAClE,CAAC;oBACD,MAAM,OAAK,CAAC;;;;;CAEnB;AASD,SAAsB,MAAM,CACxB,OAAqC,EACrC,IAAgD;;;;;wBAE/B,qBAAM,IAAI,EAAE,EAAA;;oBAAvB,OAAO,GAAG,CAAC,SAAY,CAAC,IAAK,EAAmC,EAChE,WAAW,GAA6B,OAAO,YAApC,EAAE,MAAM,GAAqB,OAAO,OAA5B,EAAE,KAAK,GAAc,OAAO,MAArB,EAAE,OAAO,GAAK,OAAO,QAAZ;oBAEzC,sBAAO,sCACA,OAAO,KACV,KAAK,wCACE,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAC5C,KAAK,EAAE,IAAI,CAAC,KAAK,CACb,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,aAAA,EAAE,MAAM,QAAA,EAAE,KAAK,OAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAC1D,MAEuC,EAAC;;;;CACpD;AAMD,SAAgB,WAAW,CACvB,QAAkB,EAClB,SAAwB,EACxB,OAA2B;IAH/B,iBAoBC;IAnBG,yBAAA,EAAA,kBAAkB;IAClB,0BAAA,EAAA,wBAAwB;IACxB,wBAAA,EAAA,YAA2B;IAE3B,OAAO,wFAAO,EAAyB,EAAE,IAAI;;YAA7B,WAAqB,EAAd,GAAG,SAAA,EAAE,OAAO,aAAA;;;;oBACzB,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAEhC,IAAI,CAAC;wBACG,UAAU,GAAG,IAAA,qBAAM,EAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;oBACpE,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC9B,CAAC;oBACY,qBAAM,IAAI,EAAE,EAAA;;oBAAnB,IAAI,GAAG,SAAY;oBAEzB,IAAI,OAAO,IAAI,IAAI,IAAI,UAAU;wBAC7B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;oBAE1C,sBAAO,IAAI,EAAC;;;SACf,CAAC;AACN,CAAC;AAQD,IAAM,iBAAiB,GAA+B,EAAE,CAAC;AAEzD,SAAgB,KAAK,CACjB,WAAyB,EACzB,WAAiB;IAFrB,iBAsCC;IArCG,4BAAA,EAAA,cAAc,EAAE,GAAG,oBAAM;IACzB,4BAAA,EAAA,cAAc,iBAAG;IAEjB,SAAS,UAAU;;;YACf,KAAmC,IAAA,KAAA,iBAAA,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA,gBAAA;gBAAzD,IAAA,KAAA,2BAAoB,EAAnB,GAAG,QAAA,EAAI,SAAS,kBAAA;gBACxB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,WAAW;oBACpC,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;aAAA;;;;;;;;;IAC1C,CAAC;IAED,OAAO,CAAC,UAAO,OAAO,EAAE,IAAI;;;YAChB,WAAW,GAAU,OAAO,YAAjB,EAAE,GAAG,GAAK,OAAO,IAAZ,CAAa;YAC/B,KAAK,GAAG,CAAC,iBAAiB,CAAC,WAAW,MAA7B,iBAAiB,CAAC,WAAW,IAAM,EAAE,EAAC,EACjD,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,UAAU,EACrD,KAAK,GAAG,sBAAe,WAAW,CAAE,CAAC;YACjC,IAAI,GAAoB,KAAK,KAAzB,EAAE,KAAkB,KAAK,UAAV,EAAb,SAAS,mBAAG,CAAC,KAAA,CAAW;YAEtC,IAAI,CAAC,CAAC,IAAI,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEpB,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE;qBAChB,IAAI,CAAC,UAAA,IAAI;oBACN,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;oBAClB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;oBAE3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAEnB,OAAO,IAAI,CAAC;gBAChB,CAAC,CAAC;qBACD,OAAO,CAAC;oBACL,OAAO,KAAK,CAAC,MAAM,CAAC;oBACpB,UAAU,EAAE,CAAC;oBAEb,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;YACX,CAAC;YACD,sBAAO,IAAI,IAAI,KAAK,CAAC,MAAM,EAAC;;SAC/B,CAAqB,CAAC;AAC3B,CAAC;AAED,SAAgB,UAAU,CACtB,IAAsC;IAD1C,iBAcC;IAXG,OAAO,wFACH,EAA2D,EAC3D,IAAgD;;YAD9C,WAAyB,EAAlB,OAAO,aAAA,EAAE,OAAO,aAAA;;;;oBAGjB,KAAkB,OAAO,SAAZ,EAAb,QAAQ,mBAAG,EAAE,KAAA,EACjB,SAAS,GAAG,IAAA,+BAAmB,EAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;oBAEtE,qBAAM,IAAI,CAAC,aAAa,CAAC,uBAAC,QAAQ,kBAAK,SAAS,UAAE,MAAM,CAAC,OAAO,CAAC,CAAC,EAAA;;oBAAlE,SAAkE,CAAC;oBAEnE,sBAAO,IAAI,EAAE,EAAC;;;SACjB,CAAC;AACN,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../source/middleware/remote.ts"],"names":[],"mappings":";;AAyBA,oCA2CC;AA6BD,oCA8CC;;AA/ID,2CAA2C;AAsB3C,IAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;AACzD,IAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAW,MAAM,CAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC;AAEpE,SAAgB,YAAY,CAAkD,EAK/D;IALf,iBA2CC;QA1CG,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,WAAW,iBAAA,EACX,gBAAkB,EAAlB,QAAQ,mBAAG,OAAO,KAAA;IAElB,OAAO,wFAAO,EAA8C,EAAE,IAAI;;YAAlD,WAA8B,EAAvB,GAAG,SAAA,EAAE,OAAO,aAAA,EAAE,OAAO,aAAA,EAAI,KAAK,WAAA,EAAE,GAAG,SAAA;;;;oBAChD,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC7C,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;yBAE3D,KAAK,CAAC,IAAI,EAAV,wBAAU;oBACI,qBAAM,WAAW,CAAC,KAAqB,CAAC,EAAA;;oBAAhD,UAAQ,SAAwC,EAChD,YAAY,GAAK,OAAO,aAAZ;oBAClB,IAAI,CAAC;wBACD,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,UAAG,QAAQ,cAAI,OAAK,aAAU,CAAC,CAAC;oBAChE,CAAC;oBAAC,WAAM,CAAC;wBACL,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAK,CAAC,CAAC;oBACtC,CAAC;oBACD,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC5B,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE;wBAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAEnE,sBAAO;4BACH,QAAQ,EAAE,EAAE,WAAW,EAAE,OAAO,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;4BACzD,KAAK,EAAE,EAAO;yBACjB,EAAC;;yBAEF,KAAK,EAAL,wBAAK;oBACQ,qBAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,KAAK,GAAG,EAAE,CAAC,CAAA,EAAA;;oBAAtC,IAAI,GAAG,SAA+B;oBACjC,qBAAM,IAAI,EAAE,EAAA;;oBAAnB,IAAI,GAAG,SAAY;oBACjB,KAAK,GACP,OAAO,IAAI,IAAI,CAAC,CAAC,uCAAM,IAAI,CAAC,KAAK,KAAE,KAAK,OAAA,EAAE,IAAI,MAAA,IAAG,CAAC,CAAE,EAAQ,CAAC;oBAEjE,4DAAY,IAAI,KAAE,KAAK,OAAA,KAAG;wBAG9B,sBAAO;wBACH,QAAQ,EAAE;4BACN,WAAW,EAAE,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;4BACpC,SAAS,EAAE,KAAK;yBACnB;wBACD,KAAK,EAAE,EAAO;qBACjB,EAAC;;;SACL,CAAC;AACN,CAAC;AA6BD,SAAgB,YAAY,CAAkD,EAO1D;IAPpB,iBA8CC;QA7CG,mBAAkC,EAAlC,WAAW,mBAAG,oBAAoB,KAAA,EAClC,kBAAqC,EAArC,UAAU,mBAAG,wBAAwB,KAAA,EACrC,SAAS,eAAA,EACT,aAAa,mBAAA,EACb,MAAM,YAAA,EACN,oBAAmB,EAAnB,YAAY,mBAAG,IAAI,KAAA;IAEnB,OAAO,YAAY,CAAO;QACtB,SAAS,EAAE,UAAA,YAAY;YACnB,OAAA,mDAA4C,IAAA,0BAAY,EAAC;gBACrD,SAAS,WAAA;gBACT,KAAK,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,GAAG,CAAC;gBACxB,YAAY,cAAA;gBACZ,YAAY,cAAA;aACf,CAAC,CAAE;QALJ,CAKI;QACR,WAAW,EAAE,wEAAO,EAAQ;;gBAAN,IAAI,UAAA;;;4BACL,qBAAM,KAAK,CACxB,IAAI,GAAG,CAAC,0BAA0B,EAAE,WAAW,CAAC,EAChD;4BACI,MAAM,EAAE,MAAM;4BACd,OAAO,EAAE;gCACL,MAAM,EAAE,kBAAkB;gCAC1B,cAAc,EAAE,kBAAkB;6BACrC;4BACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,WAAA,EAAE,aAAa,eAAA,EAAE,IAAI,MAAA,EAAE,CAAC;yBAC3D,CACJ,EAAA;;wBAVK,QAAQ,GAAG,SAUhB;wBAC+B,qBAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;wBAA/C,KAA0B,SAAqB,EAA7C,KAAK,WAAA,EAAE,YAAY,kBAAA;wBAE3B,IAAI,KAAK;4BAAE,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAErC,sBAAO,YAAY,EAAC;;;aACvB;QACD,WAAW,EAAE,UAAM,KAAK;;;;4BACH,qBAAM,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;4BACtD,OAAO,EAAE;gCACL,aAAa,EAAE,iBAAU,KAAK,CAAE;gCAChC,MAAM,EAAE,kBAAkB;6BAC7B;yBACJ,CAAC,EAAA;;wBALI,QAAQ,GAAG,SAKf;wBACF,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG;4BAAE,sBAAO,QAAQ,CAAC,IAAI,EAAE,EAAC;wBAElD,MAAM,IAAI,QAAQ,CAAC,6BAA6B,CAAC,CAAC;;;aACrD;KACJ,CAAC,CAAC;AACP,CAAC"}
package/dist/shim.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"shim.js","sourceRoot":"","sources":["../source/shim.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes