@lwrjs/view-registry 0.9.0-alpha.17 → 0.9.0-alpha.18

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.
@@ -31,13 +31,13 @@ var import_utils = __toModule(require("./utils.cjs"));
31
31
  var import_path = __toModule(require("path"));
32
32
  var LwrViewHandler = class {
33
33
  constructor(context, globalConfig) {
34
- this.viewRegistry = context.viewRegistry;
35
34
  this.globalConfig = globalConfig;
35
+ this.routeHandlers = context.routeHandlers;
36
+ this.viewRegistry = context.viewRegistry;
36
37
  this.moduleRegistry = context.moduleRegistry;
37
38
  }
38
39
  async getViewContent(viewRequest, route, runtimeEnvironment, runtimeParams = {}) {
39
- const {routeHandler} = route;
40
- if (routeHandler) {
40
+ if (route.routeHandler) {
41
41
  const response = await this.getRouteHandlerResponse(viewRequest, route, runtimeEnvironment, runtimeParams);
42
42
  if ((0, import_utils.isViewResponse)(response)) {
43
43
  return response;
@@ -67,8 +67,7 @@ var LwrViewHandler = class {
67
67
  };
68
68
  }
69
69
  async getViewJson(viewRequest, route, runtimeEnvironment, runtimeParams = {}) {
70
- const {routeHandler} = route;
71
- if (routeHandler) {
70
+ if (route.routeHandler) {
72
71
  const response = await this.getRouteHandlerResponse(viewRequest, route, runtimeEnvironment, runtimeParams);
73
72
  if ((0, import_utils.isViewResponse)(response)) {
74
73
  return response;
@@ -84,9 +83,8 @@ var LwrViewHandler = class {
84
83
  return await (0, import_utils.toJsonFormat)(viewRequest, viewDefinition, route, runtimeEnvironment, runtimeParams, this.moduleRegistry);
85
84
  }
86
85
  async getViewConfiguration(viewRequest, route, runtimeEnvironment, runtimeParams = {}) {
87
- const {routeHandler} = route;
88
86
  let viewDefinition;
89
- if (routeHandler) {
87
+ if (route.routeHandler) {
90
88
  const response = await this.getRouteHandlerResponse(viewRequest, route, runtimeEnvironment, runtimeParams);
91
89
  if ((0, import_utils.isViewResponse)(response)) {
92
90
  return;
@@ -126,12 +124,15 @@ var LwrViewHandler = class {
126
124
  return viewDefinition;
127
125
  }
128
126
  async getRouteHandlerResponse(viewRequest, route, runtimeEnvironment, runtimeParams = {}) {
129
- const {rootDir, assets, contentDir, layoutsDir} = this.globalConfig;
130
- const paths = {rootDir, assets, contentDir, layoutsDir};
131
- const {routeHandler} = route;
127
+ if (!route.routeHandler) {
128
+ throw new Error("Route handler is required for a CustomView");
129
+ }
130
+ const routeHandler = this.routeHandlers[route.routeHandler];
132
131
  if (!routeHandler) {
133
- throw new Error("Route Handler is required for a CustomView");
132
+ throw new Error(`Route handler does not exist for id: ${route.routeHandler}`);
134
133
  }
134
+ const {rootDir, assets, contentDir, layoutsDir} = this.globalConfig;
135
+ const paths = {rootDir, assets, contentDir, layoutsDir};
135
136
  const locale = runtimeParams.locale;
136
137
  const viewApi = this.getBoundApi(route, runtimeEnvironment, runtimeParams);
137
138
  const response = await routeHandler({...viewRequest, locale}, {route, viewApi, ...paths});
@@ -1,12 +1,12 @@
1
- import type { AssetReference, JsonCompatible, LinkedViewDefinition, LwrErrorRoute, LwrRoute, ModuleBundler, ModuleId, ModuleJson, ModuleRegistry, NormalizedRenderingResult, PublicModuleRegistry, RenderOptions, RenderedAssetReference, RenderingResult, ResourceDefinition, Route, RouteHandlerViewResponse, RuntimeEnvironment, RuntimeParams, ViewModuleResourceContext, ViewPageContext, ViewRequest, ViewResponse } from '@lwrjs/types';
1
+ import type { AssetReference, JsonCompatible, LinkedViewDefinition, LwrErrorRoute, LwrRoute, ModuleBundler, ModuleId, ModuleJson, ModuleRegistry, NormalizedRenderingResult, PublicModuleRegistry, RenderOptions, RenderedAssetReference, RenderingResult, ResourceDefinition, RouteHandlerViewResponse, RuntimeEnvironment, RuntimeParams, ViewModuleResourceContext, ViewPageContext, ViewRequest, ViewResponse } from '@lwrjs/types';
2
2
  export declare type HTMLResource = Partial<ResourceDefinition>;
3
3
  export declare function generateHtmlTag(definition: HTMLResource): Promise<string>;
4
4
  export declare function normalizeRenderedResult({ renderedView, metadata, options, }: RenderingResult): NormalizedRenderingResult;
5
5
  export declare function reduceSourceAssetReferences(assets: AssetReference[]): RenderedAssetReference[];
6
6
  export declare function normalizeRenderOptions(runtimeEnvironment: RuntimeEnvironment, overrideRenderOptions?: RenderOptions, baseRenderOptions?: RenderOptions): Required<RenderOptions>;
7
- export declare function generatePageContext({ requestPath: url }: ViewRequest, { id, contentTemplate, properties }: Route<LwrRoute | LwrErrorRoute>): JsonCompatible<ViewPageContext>;
7
+ export declare function generatePageContext({ requestPath: url }: ViewRequest, { id, contentTemplate, properties }: LwrRoute | LwrErrorRoute): JsonCompatible<ViewPageContext>;
8
8
  export declare function isViewResponse(response: RouteHandlerViewResponse): response is ViewResponse;
9
- export declare function toJsonFormat(viewRequest: ViewRequest, viewDefinition: LinkedViewDefinition, route: Route<LwrRoute | LwrErrorRoute>, runtimeEnvironment: RuntimeEnvironment, runtimeParams: RuntimeParams, moduleRegistry: ModuleRegistry): Promise<ViewResponse>;
9
+ export declare function toJsonFormat(viewRequest: ViewRequest, viewDefinition: LinkedViewDefinition, route: LwrRoute | LwrErrorRoute, runtimeEnvironment: RuntimeEnvironment, runtimeParams: RuntimeParams, moduleRegistry: ModuleRegistry): Promise<ViewResponse>;
10
10
  export declare function getModuleResource(moduleId: Pick<ModuleId, 'specifier' | 'version'>, runtimeEnvironment: RuntimeEnvironment, moduleResouceMeta: ViewModuleResourceContext, defRegistry: ModuleRegistry | ModuleBundler, runtimeParams?: RuntimeParams): Promise<ResourceDefinition>;
11
11
  export declare function getModuleResourceByUri(uri: string, runtimeEnvironment: RuntimeEnvironment, moduleResouceMeta: ViewModuleResourceContext): ResourceDefinition;
12
12
  export declare function createJsonModule(specifier: string, moduleRegistry: PublicModuleRegistry, environment: RuntimeEnvironment, params?: RuntimeParams): Promise<ModuleJson>;
@@ -1,16 +1,18 @@
1
- import { ViewRegistry, RuntimeEnvironment, NormalizedLwrGlobalConfig, ViewRequest, RuntimeParams, ViewResponse, LwrRoute, LwrErrorRoute, Route, ModuleRegistry, ViewHandler } from '@lwrjs/types';
1
+ import { ViewRegistry, RuntimeEnvironment, NormalizedLwrGlobalConfig, ViewRequest, RuntimeParams, ViewResponse, LwrRoute, LwrErrorRoute, ModuleRegistry, ViewHandler, RouteHandlers } from '@lwrjs/types';
2
2
  export interface ViewHandlerContext {
3
3
  viewRegistry: ViewRegistry;
4
4
  moduleRegistry: ModuleRegistry;
5
+ routeHandlers: RouteHandlers;
5
6
  }
6
7
  export declare class LwrViewHandler implements ViewHandler {
8
+ globalConfig: NormalizedLwrGlobalConfig;
9
+ routeHandlers: RouteHandlers;
7
10
  viewRegistry: ViewRegistry;
8
11
  moduleRegistry: ModuleRegistry;
9
- globalConfig: NormalizedLwrGlobalConfig;
10
12
  constructor(context: ViewHandlerContext, globalConfig: NormalizedLwrGlobalConfig);
11
- getViewContent(viewRequest: ViewRequest, route: Route<LwrRoute | LwrErrorRoute>, runtimeEnvironment: RuntimeEnvironment, runtimeParams?: RuntimeParams): Promise<ViewResponse>;
12
- getViewJson(viewRequest: ViewRequest, route: Route<LwrRoute | LwrErrorRoute>, runtimeEnvironment: RuntimeEnvironment, runtimeParams?: RuntimeParams): Promise<ViewResponse>;
13
- getViewConfiguration(viewRequest: ViewRequest, route: Route<LwrRoute | LwrErrorRoute>, runtimeEnvironment: RuntimeEnvironment, runtimeParams?: RuntimeParams): Promise<ViewResponse | undefined>;
13
+ getViewContent(viewRequest: ViewRequest, route: LwrRoute | LwrErrorRoute, runtimeEnvironment: RuntimeEnvironment, runtimeParams?: RuntimeParams): Promise<ViewResponse>;
14
+ getViewJson(viewRequest: ViewRequest, route: LwrRoute | LwrErrorRoute, runtimeEnvironment: RuntimeEnvironment, runtimeParams?: RuntimeParams): Promise<ViewResponse>;
15
+ getViewConfiguration(viewRequest: ViewRequest, route: LwrRoute | LwrErrorRoute, runtimeEnvironment: RuntimeEnvironment, runtimeParams?: RuntimeParams): Promise<ViewResponse | undefined>;
14
16
  private getDefaultRouteViewDefinition;
15
17
  private getRouteHandlerResponse;
16
18
  private getBoundApi;
@@ -3,8 +3,9 @@ import { generateHtmlTag, generatePageContext, isViewResponse, toJsonFormat } fr
3
3
  import { resolve } from 'path';
4
4
  export class LwrViewHandler {
5
5
  constructor(context, globalConfig) {
6
- this.viewRegistry = context.viewRegistry;
7
6
  this.globalConfig = globalConfig;
7
+ this.routeHandlers = context.routeHandlers;
8
+ this.viewRegistry = context.viewRegistry;
8
9
  this.moduleRegistry = context.moduleRegistry;
9
10
  }
10
11
  // Get the View's HTML Response
@@ -15,8 +16,7 @@ export class LwrViewHandler {
15
16
  route,
16
17
  // context
17
18
  runtimeEnvironment, runtimeParams = {}) {
18
- const { routeHandler } = route;
19
- if (routeHandler) {
19
+ if (route.routeHandler) {
20
20
  const response = await this.getRouteHandlerResponse(viewRequest, route, runtimeEnvironment, runtimeParams);
21
21
  if (isViewResponse(response)) {
22
22
  // Return custom view response payload as-is
@@ -56,8 +56,7 @@ export class LwrViewHandler {
56
56
  route,
57
57
  // context
58
58
  runtimeEnvironment, runtimeParams = {}) {
59
- const { routeHandler } = route;
60
- if (routeHandler) {
59
+ if (route.routeHandler) {
61
60
  const response = await this.getRouteHandlerResponse(viewRequest, route, runtimeEnvironment, runtimeParams);
62
61
  if (isViewResponse(response)) {
63
62
  // Return custom view response payload as-is
@@ -85,9 +84,8 @@ export class LwrViewHandler {
85
84
  route,
86
85
  // context
87
86
  runtimeEnvironment, runtimeParams = {}) {
88
- const { routeHandler } = route;
89
87
  let viewDefinition;
90
- if (routeHandler) {
88
+ if (route.routeHandler) {
91
89
  const response = await this.getRouteHandlerResponse(viewRequest, route, runtimeEnvironment, runtimeParams);
92
90
  if (isViewResponse(response)) {
93
91
  // Return custom view response payload as-is
@@ -142,12 +140,15 @@ export class LwrViewHandler {
142
140
  viewRequest, route,
143
141
  // context
144
142
  runtimeEnvironment, runtimeParams = {}) {
145
- const { rootDir, assets, contentDir, layoutsDir } = this.globalConfig;
146
- const paths = { rootDir, assets, contentDir, layoutsDir };
147
- const { routeHandler } = route;
143
+ if (!route.routeHandler) {
144
+ throw new Error('Route handler is required for a CustomView');
145
+ }
146
+ const routeHandler = this.routeHandlers[route.routeHandler];
148
147
  if (!routeHandler) {
149
- throw new Error('Route Handler is required for a CustomView');
148
+ throw new Error(`Route handler does not exist for id: ${route.routeHandler}`);
150
149
  }
150
+ const { rootDir, assets, contentDir, layoutsDir } = this.globalConfig;
151
+ const paths = { rootDir, assets, contentDir, layoutsDir };
151
152
  const locale = runtimeParams.locale;
152
153
  const viewApi = this.getBoundApi(route, runtimeEnvironment, runtimeParams);
153
154
  const response = await routeHandler({ ...viewRequest, locale }, { route: route, viewApi, ...paths });
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.9.0-alpha.17",
7
+ "version": "0.9.0-alpha.18",
8
8
  "homepage": "https://developer.salesforce.com/docs/platform/lwr/overview",
9
9
  "repository": {
10
10
  "type": "git",
@@ -30,15 +30,15 @@
30
30
  "build/**/*.d.ts"
31
31
  ],
32
32
  "dependencies": {
33
- "@lwrjs/app-service": "0.9.0-alpha.17",
34
- "@lwrjs/diagnostics": "0.9.0-alpha.17",
35
- "@lwrjs/shared-utils": "0.9.0-alpha.17"
33
+ "@lwrjs/app-service": "0.9.0-alpha.18",
34
+ "@lwrjs/diagnostics": "0.9.0-alpha.18",
35
+ "@lwrjs/shared-utils": "0.9.0-alpha.18"
36
36
  },
37
37
  "devDependencies": {
38
- "@lwrjs/types": "0.9.0-alpha.17"
38
+ "@lwrjs/types": "0.9.0-alpha.18"
39
39
  },
40
40
  "engines": {
41
41
  "node": ">=14.15.4 <19"
42
42
  },
43
- "gitHead": "447417ff091802927b25cfc1bcb01da02264f41b"
43
+ "gitHead": "0d612ec0c74c679ce422f7bbae9fae14134f7d9f"
44
44
  }