@uniformdev/next-app-router 20.80.2 → 20.81.1-alpha.4.sha-de16ebeee7

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.
@@ -0,0 +1,48 @@
1
+ import { RouteGetResponseEdgehancedComposition, RouteGetResponse, RouteGetParameters, RouteClient } from '@uniformdev/canvas';
2
+ import { PageState } from '@uniformdev/next-app-router-shared';
3
+
4
+ type ResolvedRouteResult = {
5
+ pageState: PageState;
6
+ route: RouteGetResponseEdgehancedComposition | undefined;
7
+ code: string;
8
+ };
9
+
10
+ type GetRouteOptions = {
11
+ pageState: PageState;
12
+ };
13
+ type GetRouteResult = {
14
+ route: RouteGetResponse | null;
15
+ };
16
+ interface DataClient {
17
+ getRoute(options: GetRouteOptions): Promise<GetRouteResult>;
18
+ }
19
+ type EnhanceRouteOptions = {
20
+ parameters: Omit<RouteGetParameters, 'projectId'>;
21
+ route: RouteGetResponseEdgehancedComposition;
22
+ routeClient: RouteClient;
23
+ keys: Record<string, string> | undefined;
24
+ };
25
+ /**
26
+ * Resolves the route for a page state through the Uniform Route API. Published routes use the
27
+ * Next.js fetch cache, other states bypass it. Extend it and override `enhanceRoute` to modify
28
+ * resolved compositions.
29
+ */
30
+ declare class DefaultDataClient implements DataClient {
31
+ getRoute({ pageState }: GetRouteOptions): Promise<GetRouteResult>;
32
+ protected enhanceRoute(_options: EnhanceRouteOptions): Promise<void>;
33
+ }
34
+
35
+ type ResolveRouteFunction = (options: ResolveRouteFromCodeOptions) => Promise<ResolvedRouteResult>;
36
+ type ResolveRouteFromCodeOptions = {
37
+ code: string;
38
+ dataClient?: DataClient;
39
+ };
40
+ /**
41
+ * Resolves the route of a `[code]` path segment. Redirect routes redirect with Next.js
42
+ * `permanentRedirect` (for 301 and 308 targets) or `redirect`, which throw. A code in the editor
43
+ * state falls back to the draft state when the composition has no editor state, and the returned
44
+ * page state carries the state that resolved.
45
+ */
46
+ declare const resolveRouteFromCode: ResolveRouteFunction;
47
+
48
+ export { type DataClient as D, type EnhanceRouteOptions as E, type GetRouteOptions as G, type ResolveRouteFunction as R, type ResolvedRouteResult as a, DefaultDataClient as b, type GetRouteResult as c, resolveRouteFromCode as r };
@@ -0,0 +1,48 @@
1
+ import { RouteGetResponseEdgehancedComposition, RouteGetResponse, RouteGetParameters, RouteClient } from '@uniformdev/canvas';
2
+ import { PageState } from '@uniformdev/next-app-router-shared';
3
+
4
+ type ResolvedRouteResult = {
5
+ pageState: PageState;
6
+ route: RouteGetResponseEdgehancedComposition | undefined;
7
+ code: string;
8
+ };
9
+
10
+ type GetRouteOptions = {
11
+ pageState: PageState;
12
+ };
13
+ type GetRouteResult = {
14
+ route: RouteGetResponse | null;
15
+ };
16
+ interface DataClient {
17
+ getRoute(options: GetRouteOptions): Promise<GetRouteResult>;
18
+ }
19
+ type EnhanceRouteOptions = {
20
+ parameters: Omit<RouteGetParameters, 'projectId'>;
21
+ route: RouteGetResponseEdgehancedComposition;
22
+ routeClient: RouteClient;
23
+ keys: Record<string, string> | undefined;
24
+ };
25
+ /**
26
+ * Resolves the route for a page state through the Uniform Route API. Published routes use the
27
+ * Next.js fetch cache, other states bypass it. Extend it and override `enhanceRoute` to modify
28
+ * resolved compositions.
29
+ */
30
+ declare class DefaultDataClient implements DataClient {
31
+ getRoute({ pageState }: GetRouteOptions): Promise<GetRouteResult>;
32
+ protected enhanceRoute(_options: EnhanceRouteOptions): Promise<void>;
33
+ }
34
+
35
+ type ResolveRouteFunction = (options: ResolveRouteFromCodeOptions) => Promise<ResolvedRouteResult>;
36
+ type ResolveRouteFromCodeOptions = {
37
+ code: string;
38
+ dataClient?: DataClient;
39
+ };
40
+ /**
41
+ * Resolves the route of a `[code]` path segment. Redirect routes redirect with Next.js
42
+ * `permanentRedirect` (for 301 and 308 targets) or `redirect`, which throw. A code in the editor
43
+ * state falls back to the draft state when the composition has no editor state, and the returned
44
+ * page state carries the state that resolved.
45
+ */
46
+ declare const resolveRouteFromCode: ResolveRouteFunction;
47
+
48
+ export { type DataClient as D, type EnhanceRouteOptions as E, type GetRouteOptions as G, type ResolveRouteFunction as R, type ResolvedRouteResult as a, DefaultDataClient as b, type GetRouteResult as c, resolveRouteFromCode as r };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/next-app-router",
3
- "version": "20.80.2",
3
+ "version": "20.81.1-alpha.4.sha-de16ebeee7",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "scripts": {
6
6
  "build": "tsup",
@@ -33,6 +33,11 @@
33
33
  "require": "./dist/middleware.js",
34
34
  "import": "./dist/middleware.mjs"
35
35
  },
36
+ "./edge": {
37
+ "types": "./dist/edge.d.ts",
38
+ "require": "./dist/edge.js",
39
+ "import": "./dist/edge.mjs"
40
+ },
36
41
  "./component": {
37
42
  "types": "./dist/component.d.ts",
38
43
  "require": "./dist/component.js",
@@ -68,6 +73,9 @@
68
73
  "middleware": [
69
74
  "./dist/middleware.d.ts"
70
75
  ],
76
+ "edge": [
77
+ "./dist/edge.d.ts"
78
+ ],
71
79
  "component": [
72
80
  "./dist/component.d.ts"
73
81
  ],
@@ -92,6 +100,7 @@
92
100
  "@types/node": "26.0.0",
93
101
  "@types/react": "19.2.17",
94
102
  "@types/react-dom": "19.2.3",
103
+ "@uniformdev/context-edge": "20.81.1-alpha.4.sha-de16ebeee7",
95
104
  "next": "16.3.1",
96
105
  "react": "19.2.1",
97
106
  "react-dom": "19.2.1",
@@ -100,13 +109,13 @@
100
109
  "vitest": "4.1.11"
101
110
  },
102
111
  "dependencies": {
103
- "@uniformdev/canvas-react": "20.80.2",
104
- "@uniformdev/next-app-router-client": "20.80.2",
105
- "@uniformdev/next-app-router-shared": "20.80.2",
106
- "@uniformdev/redirect": "20.80.2",
107
- "@uniformdev/richtext": "20.80.2",
108
- "@uniformdev/webhooks": "20.80.2",
109
- "@vercel/functions": "^3.7.2",
112
+ "@uniformdev/canvas-react": "20.81.1-alpha.4.sha-de16ebeee7",
113
+ "@uniformdev/context": "20.81.1-alpha.4.sha-de16ebeee7",
114
+ "@uniformdev/next-app-router-client": "20.81.1-alpha.4.sha-de16ebeee7",
115
+ "@uniformdev/next-app-router-shared": "20.81.1-alpha.4.sha-de16ebeee7",
116
+ "@uniformdev/redirect": "20.81.1-alpha.4.sha-de16ebeee7",
117
+ "@uniformdev/richtext": "20.81.1-alpha.4.sha-de16ebeee7",
118
+ "@uniformdev/webhooks": "20.81.1-alpha.4.sha-de16ebeee7",
110
119
  "encoding": "^0.1.13",
111
120
  "server-only": "^0.0.1",
112
121
  "svix": "^1.96.0"
@@ -115,12 +124,18 @@
115
124
  "node": ">=20.9.0"
116
125
  },
117
126
  "peerDependencies": {
127
+ "@uniformdev/context-edge": "workspace:^",
118
128
  "next": ">=16.0.7",
119
129
  "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
120
130
  "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0"
121
131
  },
132
+ "peerDependenciesMeta": {
133
+ "@uniformdev/context-edge": {
134
+ "optional": true
135
+ }
136
+ },
122
137
  "publishConfig": {
123
138
  "access": "public"
124
139
  },
125
- "gitHead": "bca4d65db051ab479d8da8b50286457a23725c75"
140
+ "gitHead": "de16ebeee7fd971c982b73bd7ad39cc6a87abf2f"
126
141
  }