@redneckz/wildless-cms-uni-blocks 0.15.337 → 0.15.339
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/bundle/bundle.umd.js +1 -1
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ContentPage/computeAPIFallback.d.ts +1 -2
- package/bundle/components/ContentPage/normalizeBlock.d.ts +1 -2
- package/bundle/components/ContentPage/normalizePage.d.ts +1 -2
- package/bundle/model/Fallback.d.ts +0 -1
- package/dist/components/ContentPage/computeAPIFallback.d.ts +1 -2
- package/dist/components/ContentPage/computeAPIFallback.js +2 -16
- package/dist/components/ContentPage/computeAPIFallback.js.map +1 -1
- package/dist/components/ContentPage/normalizeBlock.d.ts +1 -2
- package/dist/components/ContentPage/normalizeBlock.js +2 -7
- package/dist/components/ContentPage/normalizeBlock.js.map +1 -1
- package/dist/components/ContentPage/normalizePage.d.ts +1 -2
- package/dist/components/ContentPage/normalizePage.js +1 -1
- package/dist/components/ContentPage/normalizePage.js.map +1 -1
- package/dist/model/Fallback.d.ts +0 -1
- package/lib/components/ContentPage/computeAPIFallback.d.ts +1 -2
- package/lib/components/ContentPage/computeAPIFallback.js +2 -16
- package/lib/components/ContentPage/computeAPIFallback.js.map +1 -1
- package/lib/components/ContentPage/normalizeBlock.d.ts +1 -2
- package/lib/components/ContentPage/normalizeBlock.js +2 -7
- package/lib/components/ContentPage/normalizeBlock.js.map +1 -1
- package/lib/components/ContentPage/normalizePage.d.ts +1 -2
- package/lib/components/ContentPage/normalizePage.js +1 -1
- package/lib/components/ContentPage/normalizePage.js.map +1 -1
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +1 -1
- package/lib/model/Fallback.d.ts +0 -1
- package/mobile/bundle/bundle.umd.js +1 -1
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ContentPage/computeAPIFallback.d.ts +1 -2
- package/mobile/bundle/components/ContentPage/normalizePage.d.ts +1 -2
- package/mobile/bundle/model/Fallback.d.ts +0 -1
- package/mobile/dist/components/ContentPage/computeAPIFallback.d.ts +1 -2
- package/mobile/dist/components/ContentPage/computeAPIFallback.js +2 -16
- package/mobile/dist/components/ContentPage/computeAPIFallback.js.map +1 -1
- package/mobile/dist/components/ContentPage/normalizePage.d.ts +1 -2
- package/mobile/dist/components/ContentPage/normalizePage.js +1 -1
- package/mobile/dist/components/ContentPage/normalizePage.js.map +1 -1
- package/mobile/dist/model/Fallback.d.ts +0 -1
- package/mobile/lib/components/ContentPage/computeAPIFallback.d.ts +1 -2
- package/mobile/lib/components/ContentPage/computeAPIFallback.js +2 -16
- package/mobile/lib/components/ContentPage/computeAPIFallback.js.map +1 -1
- package/mobile/lib/components/ContentPage/normalizePage.d.ts +1 -2
- package/mobile/lib/components/ContentPage/normalizePage.js +1 -1
- package/mobile/lib/components/ContentPage/normalizePage.js.map +1 -1
- package/mobile/lib/model/Fallback.d.ts +0 -1
- package/mobile/src/components/ContentPage/computeAPIFallback.ts +3 -35
- package/mobile/src/components/ContentPage/normalizePage.ts +2 -5
- package/mobile/src/model/Fallback.ts +0 -1
- package/package.json +1 -1
- package/src/components/ContentPage/ContentPage.fixture.mobile.tsx +1 -3
- package/src/components/ContentPage/ContentPage.fixture.tsx +2 -2
- package/src/components/ContentPage/computeAPIFallback.ts +3 -35
- package/src/components/ContentPage/normalizeBlock.ts +4 -12
- package/src/components/ContentPage/normalizePage.ts +2 -5
- package/src/model/Fallback.ts +0 -1
- package/bundle/components/ContentPage/loadModuleFallback.d.ts +0 -2
- package/dist/components/ContentPage/loadModuleFallback.d.ts +0 -2
- package/dist/components/ContentPage/loadModuleFallback.js +0 -36
- package/dist/components/ContentPage/loadModuleFallback.js.map +0 -1
- package/lib/components/ContentPage/loadModuleFallback.d.ts +0 -2
- package/lib/components/ContentPage/loadModuleFallback.js +0 -10
- package/lib/components/ContentPage/loadModuleFallback.js.map +0 -1
- package/mobile/bundle/components/ContentPage/loadModuleFallback.d.ts +0 -2
- package/mobile/dist/components/ContentPage/loadModuleFallback.d.ts +0 -2
- package/mobile/dist/components/ContentPage/loadModuleFallback.js +0 -36
- package/mobile/dist/components/ContentPage/loadModuleFallback.js.map +0 -1
- package/mobile/lib/components/ContentPage/loadModuleFallback.d.ts +0 -2
- package/mobile/lib/components/ContentPage/loadModuleFallback.js +0 -10
- package/mobile/lib/components/ContentPage/loadModuleFallback.js.map +0 -1
- package/mobile/src/components/ContentPage/loadModuleFallback.ts +0 -11
- package/src/components/ContentPage/loadModuleFallback.ts +0 -11
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
2
1
|
import { type ContentPageDef } from '../../model/ContentPageDef';
|
|
3
2
|
import { type Fallback } from '../../model/Fallback';
|
|
4
|
-
export declare const computeAPIFallback: (
|
|
3
|
+
export declare const computeAPIFallback: (contentPageData: ContentPageDef) => Promise<Fallback>;
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
2
1
|
import { type ContentPageDef } from '../../model/ContentPageDef';
|
|
3
|
-
export declare const normalizePage: (
|
|
2
|
+
export declare const normalizePage: (contentPage: ContentPageDef | undefined | null) => ContentPageDef;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
2
1
|
import { type ContentPageDef } from '../../model/ContentPageDef';
|
|
3
2
|
import { type Fallback } from '../../model/Fallback';
|
|
4
|
-
export declare const computeAPIFallback: (
|
|
3
|
+
export declare const computeAPIFallback: (contentPageData: ContentPageDef) => Promise<Fallback>;
|
|
@@ -4,25 +4,11 @@ const json_ref_1 = require("@redneckz/json-ref");
|
|
|
4
4
|
const promises_1 = require("fs/promises");
|
|
5
5
|
const unique_1 = require("../../utils/unique");
|
|
6
6
|
const url_1 = require("../../utils/url");
|
|
7
|
-
const loadModuleFallback_1 = require("./loadModuleFallback");
|
|
8
7
|
const BASE_DIR = 'content';
|
|
9
|
-
const computeAPIFallback = async (
|
|
10
|
-
return Object.fromEntries((await
|
|
11
|
-
computeFallbackFromModules(blocksRegistry),
|
|
12
|
-
computeFallbackFromContentRefs(contentPageData),
|
|
13
|
-
]))
|
|
14
|
-
.flatMap((_) => _)
|
|
15
|
-
.filter(([key, data]) => key && data));
|
|
8
|
+
const computeAPIFallback = async (contentPageData) => {
|
|
9
|
+
return Object.fromEntries((await computeFallbackFromContentRefs(contentPageData)).filter(([key, data]) => key && data));
|
|
16
10
|
};
|
|
17
11
|
exports.computeAPIFallback = computeAPIFallback;
|
|
18
|
-
const computeFallbackFromModules = async (blocksRegistry) => {
|
|
19
|
-
const fallbackMap = (await Promise.all(Object.keys(blocksRegistry).map(loadModuleFallback_1.loadModuleFallback)))
|
|
20
|
-
.filter((_) => Boolean(_))
|
|
21
|
-
.reduce((acc, _) => ({ ...acc, ..._ }), {});
|
|
22
|
-
return (await Promise.allSettled(Object.entries(fallbackMap).map(async ([key, fetcher]) => [key, await fetcher()])))
|
|
23
|
-
.filter((_) => _.status === 'fulfilled')
|
|
24
|
-
.map(({ value }) => value);
|
|
25
|
-
};
|
|
26
12
|
const computeFallbackFromContentRefs = async (contentPageData) => {
|
|
27
13
|
const refs = (0, unique_1.unique)((0, json_ref_1.collectRef)(contentPageData));
|
|
28
14
|
return (await Promise.allSettled(refs.map(async (_) => [_, JSON.parse(await (0, promises_1.readFile)((0, url_1.joinPath)(BASE_DIR, _), 'utf-8'))])))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeAPIFallback.js","sourceRoot":"","sources":["../../../src/components/ContentPage/computeAPIFallback.ts"],"names":[],"mappings":";;AAAA,iDAAgF;AAChF,0CAAuC;
|
|
1
|
+
{"version":3,"file":"computeAPIFallback.js","sourceRoot":"","sources":["../../../src/components/ContentPage/computeAPIFallback.ts"],"names":[],"mappings":";;AAAA,iDAAgF;AAChF,0CAAuC;AAGvC,+CAA4C;AAC5C,yCAA2C;AAI3C,MAAM,QAAQ,GAAG,SAAS,CAAC;AAEpB,MAAM,kBAAkB,GAAG,KAAK,EAAE,eAA+B,EAAqB,EAAE;IAC7F,OAAO,MAAM,CAAC,WAAW,CACvB,CAAC,MAAM,8BAA8B,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,CAC7F,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,kBAAkB,sBAI7B;AAEF,MAAM,8BAA8B,GAAG,KAAK,EAC1C,eAA+B,EACL,EAAE;IAC5B,MAAM,IAAI,GAAG,IAAA,eAAM,EAAC,IAAA,qBAAU,EAAC,eAA2B,CAAC,CAAC,CAAC;IAE7D,OAAO,CACL,MAAM,OAAO,CAAC,UAAU,CACtB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAA,mBAAQ,EAAC,IAAA,cAAQ,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CACvF,CACF;SACE,MAAM,CAAC,CAAC,CAAC,EAA8C,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC;SACnF,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAA,0BAAe,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
2
1
|
import { type ContentPageDef } from '../../model/ContentPageDef';
|
|
3
|
-
export declare const normalizePage: (
|
|
2
|
+
export declare const normalizePage: (contentPage: ContentPageDef | undefined | null) => ContentPageDef;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
2
|
exports.normalizePage = void 0;
|
|
3
3
|
const normalizeBlock_1 = require("./normalizeBlock");
|
|
4
|
-
const normalizePage = (
|
|
4
|
+
const normalizePage = (contentPage) => contentPage ? (0, normalizeBlock_1.normalizeBlock)(contentPage) : {};
|
|
5
5
|
exports.normalizePage = normalizePage;
|
|
6
6
|
//# sourceMappingURL=normalizePage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizePage.js","sourceRoot":"","sources":["../../../src/components/ContentPage/normalizePage.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"normalizePage.js","sourceRoot":"","sources":["../../../src/components/ContentPage/normalizePage.ts"],"names":[],"mappings":";;AACA,qDAAkD;AAE3C,MAAM,aAAa,GAAG,CAAC,WAA8C,EAAkB,EAAE,CAC9F,WAAW,CAAC,CAAC,CAAC,IAAA,+BAAc,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AADpC,QAAA,aAAa,iBACuB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
2
1
|
import { type ContentPageDef } from '../../model/ContentPageDef';
|
|
3
2
|
import { type Fallback } from '../../model/Fallback';
|
|
4
|
-
export declare const computeAPIFallback: (
|
|
3
|
+
export declare const computeAPIFallback: (contentPageData: ContentPageDef) => Promise<Fallback>;
|
|
@@ -2,23 +2,9 @@ import { collectRef, resolveJPointer } from '@redneckz/json-ref';
|
|
|
2
2
|
import { readFile } from 'fs/promises';
|
|
3
3
|
import { unique } from '../../utils/unique.js';
|
|
4
4
|
import { joinPath } from '../../utils/url.js';
|
|
5
|
-
import { loadModuleFallback } from './loadModuleFallback.js';
|
|
6
5
|
const BASE_DIR = 'content';
|
|
7
|
-
export const computeAPIFallback = async (
|
|
8
|
-
return Object.fromEntries((await
|
|
9
|
-
computeFallbackFromModules(blocksRegistry),
|
|
10
|
-
computeFallbackFromContentRefs(contentPageData),
|
|
11
|
-
]))
|
|
12
|
-
.flatMap((_) => _)
|
|
13
|
-
.filter(([key, data]) => key && data));
|
|
14
|
-
};
|
|
15
|
-
const computeFallbackFromModules = async (blocksRegistry) => {
|
|
16
|
-
const fallbackMap = (await Promise.all(Object.keys(blocksRegistry).map(loadModuleFallback)))
|
|
17
|
-
.filter((_) => Boolean(_))
|
|
18
|
-
.reduce((acc, _) => ({ ...acc, ..._ }), {});
|
|
19
|
-
return (await Promise.allSettled(Object.entries(fallbackMap).map(async ([key, fetcher]) => [key, await fetcher()])))
|
|
20
|
-
.filter((_) => _.status === 'fulfilled')
|
|
21
|
-
.map(({ value }) => value);
|
|
6
|
+
export const computeAPIFallback = async (contentPageData) => {
|
|
7
|
+
return Object.fromEntries((await computeFallbackFromContentRefs(contentPageData)).filter(([key, data]) => key && data));
|
|
22
8
|
};
|
|
23
9
|
const computeFallbackFromContentRefs = async (contentPageData) => {
|
|
24
10
|
const refs = unique(collectRef(contentPageData));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeAPIFallback.js","sourceRoot":"","sources":["../../../src/components/ContentPage/computeAPIFallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAiB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"computeAPIFallback.js","sourceRoot":"","sources":["../../../src/components/ContentPage/computeAPIFallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAiB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI3C,MAAM,QAAQ,GAAG,SAAS,CAAC;AAE3B,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,eAA+B,EAAqB,EAAE;IAC7F,OAAO,MAAM,CAAC,WAAW,CACvB,CAAC,MAAM,8BAA8B,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,CAC7F,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,KAAK,EAC1C,eAA+B,EACL,EAAE;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,eAA2B,CAAC,CAAC,CAAC;IAE7D,OAAO,CACL,MAAM,OAAO,CAAC,UAAU,CACtB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CACvF,CACF;SACE,MAAM,CAAC,CAAC,CAAC,EAA8C,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC;SACnF,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
2
1
|
import { type ContentPageDef } from '../../model/ContentPageDef';
|
|
3
|
-
export declare const normalizePage: (
|
|
2
|
+
export declare const normalizePage: (contentPage: ContentPageDef | undefined | null) => ContentPageDef;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { normalizeBlock } from './normalizeBlock.js';
|
|
2
|
-
export const normalizePage = (
|
|
2
|
+
export const normalizePage = (contentPage) => contentPage ? normalizeBlock(contentPage) : {};
|
|
3
3
|
//# sourceMappingURL=normalizePage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizePage.js","sourceRoot":"","sources":["../../../src/components/ContentPage/normalizePage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"normalizePage.js","sourceRoot":"","sources":["../../../src/components/ContentPage/normalizePage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,WAA8C,EAAkB,EAAE,CAC9F,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -1,52 +1,20 @@
|
|
|
1
1
|
import { collectRef, resolveJPointer, type JSONNode } from '@redneckz/json-ref';
|
|
2
2
|
import { readFile } from 'fs/promises';
|
|
3
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
4
3
|
import { type ContentPageDef } from '../../model/ContentPageDef';
|
|
5
|
-
import { type Fallback
|
|
4
|
+
import { type Fallback } from '../../model/Fallback';
|
|
6
5
|
import { unique } from '../../utils/unique';
|
|
7
6
|
import { joinPath } from '../../utils/url';
|
|
8
|
-
import { loadModuleFallback } from './loadModuleFallback';
|
|
9
7
|
|
|
10
8
|
type FallbackEntry = [key: string, data: JSONNode];
|
|
11
9
|
|
|
12
10
|
const BASE_DIR = 'content';
|
|
13
11
|
|
|
14
|
-
export const computeAPIFallback = async (
|
|
15
|
-
blocksRegistry: BlocksRegistry,
|
|
16
|
-
contentPageData: ContentPageDef,
|
|
17
|
-
): Promise<Fallback> => {
|
|
12
|
+
export const computeAPIFallback = async (contentPageData: ContentPageDef): Promise<Fallback> => {
|
|
18
13
|
return Object.fromEntries(
|
|
19
|
-
(
|
|
20
|
-
await Promise.all([
|
|
21
|
-
computeFallbackFromModules(blocksRegistry),
|
|
22
|
-
computeFallbackFromContentRefs(contentPageData),
|
|
23
|
-
])
|
|
24
|
-
)
|
|
25
|
-
.flatMap((_) => _)
|
|
26
|
-
.filter(([key, data]) => key && data),
|
|
14
|
+
(await computeFallbackFromContentRefs(contentPageData)).filter(([key, data]) => key && data),
|
|
27
15
|
);
|
|
28
16
|
};
|
|
29
17
|
|
|
30
|
-
const computeFallbackFromModules = async (
|
|
31
|
-
blocksRegistry: BlocksRegistry,
|
|
32
|
-
): Promise<FallbackEntry[]> => {
|
|
33
|
-
const fallbackMap: FallbackMap = (
|
|
34
|
-
await Promise.all(Object.keys(blocksRegistry).map(loadModuleFallback))
|
|
35
|
-
)
|
|
36
|
-
.filter((_): _ is FallbackMap => Boolean(_))
|
|
37
|
-
.reduce((acc, _) => ({ ...acc, ..._ }), {});
|
|
38
|
-
|
|
39
|
-
return (
|
|
40
|
-
await Promise.allSettled(
|
|
41
|
-
Object.entries(fallbackMap).map(
|
|
42
|
-
async ([key, fetcher]): Promise<FallbackEntry> => [key, await fetcher()],
|
|
43
|
-
),
|
|
44
|
-
)
|
|
45
|
-
)
|
|
46
|
-
.filter((_): _ is PromiseFulfilledResult<FallbackEntry> => _.status === 'fulfilled')
|
|
47
|
-
.map(({ value }) => value);
|
|
48
|
-
};
|
|
49
|
-
|
|
50
18
|
const computeFallbackFromContentRefs = async (
|
|
51
19
|
contentPageData: ContentPageDef,
|
|
52
20
|
): Promise<FallbackEntry[]> => {
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
2
1
|
import { type ContentPageDef } from '../../model/ContentPageDef';
|
|
3
2
|
import { normalizeBlock } from './normalizeBlock';
|
|
4
3
|
|
|
5
|
-
export const normalizePage =
|
|
6
|
-
(
|
|
7
|
-
(contentPage: ContentPageDef | undefined | null): ContentPageDef =>
|
|
8
|
-
contentPage ? normalizeBlock(contentPage, blocksRegistry) : {};
|
|
4
|
+
export const normalizePage = (contentPage: ContentPageDef | undefined | null): ContentPageDef =>
|
|
5
|
+
contentPage ? normalizeBlock(contentPage) : {};
|
package/package.json
CHANGED
|
@@ -11,8 +11,6 @@ export default {
|
|
|
11
11
|
default: () => {
|
|
12
12
|
const data = useContentPageData(Blocks);
|
|
13
13
|
|
|
14
|
-
return (
|
|
15
|
-
<ContentPage blocksRegistry={Blocks} data={normalizePage(Blocks)(data as ContentPageDef)} />
|
|
16
|
-
);
|
|
14
|
+
return <ContentPage blocksRegistry={Blocks} data={normalizePage(data as ContentPageDef)} />;
|
|
17
15
|
},
|
|
18
16
|
};
|
|
@@ -36,7 +36,7 @@ export default {
|
|
|
36
36
|
<ContentPage
|
|
37
37
|
className="bg-main"
|
|
38
38
|
blocksRegistry={Blocks}
|
|
39
|
-
data={normalizePage(
|
|
39
|
+
data={normalizePage(data as ContentPageDef)}
|
|
40
40
|
/>
|
|
41
41
|
);
|
|
42
42
|
},
|
|
@@ -48,7 +48,7 @@ export default {
|
|
|
48
48
|
<ContentPage
|
|
49
49
|
className="bg-transparent"
|
|
50
50
|
blocksRegistry={Blocks}
|
|
51
|
-
data={normalizePage(
|
|
51
|
+
data={normalizePage(data as ContentPageDef)}
|
|
52
52
|
blockDecorator={blockDecorator}
|
|
53
53
|
/>
|
|
54
54
|
</div>
|
|
@@ -1,52 +1,20 @@
|
|
|
1
1
|
import { collectRef, resolveJPointer, type JSONNode } from '@redneckz/json-ref';
|
|
2
2
|
import { readFile } from 'fs/promises';
|
|
3
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
4
3
|
import { type ContentPageDef } from '../../model/ContentPageDef';
|
|
5
|
-
import { type Fallback
|
|
4
|
+
import { type Fallback } from '../../model/Fallback';
|
|
6
5
|
import { unique } from '../../utils/unique';
|
|
7
6
|
import { joinPath } from '../../utils/url';
|
|
8
|
-
import { loadModuleFallback } from './loadModuleFallback';
|
|
9
7
|
|
|
10
8
|
type FallbackEntry = [key: string, data: JSONNode];
|
|
11
9
|
|
|
12
10
|
const BASE_DIR = 'content';
|
|
13
11
|
|
|
14
|
-
export const computeAPIFallback = async (
|
|
15
|
-
blocksRegistry: BlocksRegistry,
|
|
16
|
-
contentPageData: ContentPageDef,
|
|
17
|
-
): Promise<Fallback> => {
|
|
12
|
+
export const computeAPIFallback = async (contentPageData: ContentPageDef): Promise<Fallback> => {
|
|
18
13
|
return Object.fromEntries(
|
|
19
|
-
(
|
|
20
|
-
await Promise.all([
|
|
21
|
-
computeFallbackFromModules(blocksRegistry),
|
|
22
|
-
computeFallbackFromContentRefs(contentPageData),
|
|
23
|
-
])
|
|
24
|
-
)
|
|
25
|
-
.flatMap((_) => _)
|
|
26
|
-
.filter(([key, data]) => key && data),
|
|
14
|
+
(await computeFallbackFromContentRefs(contentPageData)).filter(([key, data]) => key && data),
|
|
27
15
|
);
|
|
28
16
|
};
|
|
29
17
|
|
|
30
|
-
const computeFallbackFromModules = async (
|
|
31
|
-
blocksRegistry: BlocksRegistry,
|
|
32
|
-
): Promise<FallbackEntry[]> => {
|
|
33
|
-
const fallbackMap: FallbackMap = (
|
|
34
|
-
await Promise.all(Object.keys(blocksRegistry).map(loadModuleFallback))
|
|
35
|
-
)
|
|
36
|
-
.filter((_): _ is FallbackMap => Boolean(_))
|
|
37
|
-
.reduce((acc, _) => ({ ...acc, ..._ }), {});
|
|
38
|
-
|
|
39
|
-
return (
|
|
40
|
-
await Promise.allSettled(
|
|
41
|
-
Object.entries(fallbackMap).map(
|
|
42
|
-
async ([key, fetcher]): Promise<FallbackEntry> => [key, await fetcher()],
|
|
43
|
-
),
|
|
44
|
-
)
|
|
45
|
-
)
|
|
46
|
-
.filter((_): _ is PromiseFulfilledResult<FallbackEntry> => _.status === 'fulfilled')
|
|
47
|
-
.map(({ value }) => value);
|
|
48
|
-
};
|
|
49
|
-
|
|
50
18
|
const computeFallbackFromContentRefs = async (
|
|
51
19
|
contentPageData: ContentPageDef,
|
|
52
20
|
): Promise<FallbackEntry[]> => {
|
|
@@ -1,19 +1,11 @@
|
|
|
1
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
2
1
|
import { type BlockDef, type Slot } from '../../model/ContentPageDef';
|
|
3
2
|
import { mapSlot } from './mapSlot';
|
|
4
3
|
|
|
5
|
-
export function normalizeBlock<S extends Slot>(block?: S
|
|
4
|
+
export function normalizeBlock<S extends Slot>(block?: S): S {
|
|
6
5
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7
6
|
const { mobile, ...result } = (block || {}) as BlockDef;
|
|
8
7
|
|
|
9
|
-
return mapSlot(
|
|
8
|
+
return mapSlot((childBlocks) => (childBlocks ? childBlocks.map(normalizeBlock) : []))(
|
|
9
|
+
result,
|
|
10
|
+
) as S;
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
const filterBlocks =
|
|
13
|
-
(blocksRegistry?: BlocksRegistry) =>
|
|
14
|
-
(blocks?: BlockDef[]): BlockDef[] =>
|
|
15
|
-
blocks
|
|
16
|
-
? blocks
|
|
17
|
-
.filter((block) => blocksRegistry && (block?.type || '') in blocksRegistry)
|
|
18
|
-
.map((block) => normalizeBlock(block, blocksRegistry))
|
|
19
|
-
: [];
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { type BlocksRegistry } from '../../model/BlocksRegistry';
|
|
2
1
|
import { type ContentPageDef } from '../../model/ContentPageDef';
|
|
3
2
|
import { normalizeBlock } from './normalizeBlock';
|
|
4
3
|
|
|
5
|
-
export const normalizePage =
|
|
6
|
-
(
|
|
7
|
-
(contentPage: ContentPageDef | undefined | null): ContentPageDef =>
|
|
8
|
-
contentPage ? normalizeBlock(contentPage, blocksRegistry) : {};
|
|
4
|
+
export const normalizePage = (contentPage: ContentPageDef | undefined | null): ContentPageDef =>
|
|
5
|
+
contentPage ? normalizeBlock(contentPage) : {};
|
package/src/model/Fallback.ts
CHANGED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
2
|
-
if (k2 === undefined) k2 = k;
|
|
3
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
4
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
5
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
6
|
-
}
|
|
7
|
-
Object.defineProperty(o, k2, desc);
|
|
8
|
-
}) : (function(o, m, k, k2) {
|
|
9
|
-
if (k2 === undefined) k2 = k;
|
|
10
|
-
o[k2] = m[k];
|
|
11
|
-
}));
|
|
12
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
13
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
14
|
-
}) : function(o, v) {
|
|
15
|
-
o["default"] = v;
|
|
16
|
-
});
|
|
17
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
18
|
-
if (mod && mod.__esModule) return mod;
|
|
19
|
-
var result = {};
|
|
20
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
21
|
-
__setModuleDefault(result, mod);
|
|
22
|
-
return result;
|
|
23
|
-
};
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.loadModuleFallback = void 0;
|
|
26
|
-
const loadModuleFallback = async (blockName) => {
|
|
27
|
-
try {
|
|
28
|
-
const blockFallback = await Promise.resolve().then(() => __importStar(require(`../${blockName}/${blockName}.fallback`)));
|
|
29
|
-
return blockFallback?.fallback ? await blockFallback.fallback() : undefined;
|
|
30
|
-
}
|
|
31
|
-
catch (error) {
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
exports.loadModuleFallback = loadModuleFallback;
|
|
36
|
-
//# sourceMappingURL=loadModuleFallback.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loadModuleFallback.js","sourceRoot":"","sources":["../../../src/components/ContentPage/loadModuleFallback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAM,kBAAkB,GAAG,KAAK,EAAE,SAAiB,EAAoC,EAAE;IAC9F,IAAI;QACF,MAAM,aAAa,GAAG,wDAAa,MAAM,SAAS,IAAI,SAAS,WAAW,GAAC,CAAC;QAE5E,OAAO,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC7E;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AARW,QAAA,kBAAkB,sBAQ7B"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const loadModuleFallback = async (blockName) => {
|
|
2
|
-
try {
|
|
3
|
-
const blockFallback = await import(`../${blockName}/${blockName}.fallback.js`);
|
|
4
|
-
return blockFallback?.fallback ? await blockFallback.fallback() : undefined;
|
|
5
|
-
}
|
|
6
|
-
catch (error) {
|
|
7
|
-
return undefined;
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=loadModuleFallback.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loadModuleFallback.js","sourceRoot":"","sources":["../../../src/components/ContentPage/loadModuleFallback.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,SAAiB,EAAoC,EAAE;IAC9F,IAAI;QACF,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,MAAM,SAAS,IAAI,SAAS,WAAW,CAAC,CAAC;QAE5E,OAAO,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC7E;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
2
|
-
if (k2 === undefined) k2 = k;
|
|
3
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
4
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
5
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
6
|
-
}
|
|
7
|
-
Object.defineProperty(o, k2, desc);
|
|
8
|
-
}) : (function(o, m, k, k2) {
|
|
9
|
-
if (k2 === undefined) k2 = k;
|
|
10
|
-
o[k2] = m[k];
|
|
11
|
-
}));
|
|
12
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
13
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
14
|
-
}) : function(o, v) {
|
|
15
|
-
o["default"] = v;
|
|
16
|
-
});
|
|
17
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
18
|
-
if (mod && mod.__esModule) return mod;
|
|
19
|
-
var result = {};
|
|
20
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
21
|
-
__setModuleDefault(result, mod);
|
|
22
|
-
return result;
|
|
23
|
-
};
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.loadModuleFallback = void 0;
|
|
26
|
-
const loadModuleFallback = async (blockName) => {
|
|
27
|
-
try {
|
|
28
|
-
const blockFallback = await Promise.resolve().then(() => __importStar(require(`../${blockName}/${blockName}.fallback`)));
|
|
29
|
-
return blockFallback?.fallback ? await blockFallback.fallback() : undefined;
|
|
30
|
-
}
|
|
31
|
-
catch (error) {
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
exports.loadModuleFallback = loadModuleFallback;
|
|
36
|
-
//# sourceMappingURL=loadModuleFallback.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loadModuleFallback.js","sourceRoot":"","sources":["../../../src/components/ContentPage/loadModuleFallback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAM,kBAAkB,GAAG,KAAK,EAAE,SAAiB,EAAoC,EAAE;IAC9F,IAAI;QACF,MAAM,aAAa,GAAG,wDAAa,MAAM,SAAS,IAAI,SAAS,WAAW,GAAC,CAAC;QAE5E,OAAO,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC7E;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AARW,QAAA,kBAAkB,sBAQ7B"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const loadModuleFallback = async (blockName) => {
|
|
2
|
-
try {
|
|
3
|
-
const blockFallback = await import(`../${blockName}/${blockName}.fallback.js`);
|
|
4
|
-
return blockFallback?.fallback ? await blockFallback.fallback() : undefined;
|
|
5
|
-
}
|
|
6
|
-
catch (error) {
|
|
7
|
-
return undefined;
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=loadModuleFallback.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loadModuleFallback.js","sourceRoot":"","sources":["../../../src/components/ContentPage/loadModuleFallback.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,SAAiB,EAAoC,EAAE;IAC9F,IAAI;QACF,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,MAAM,SAAS,IAAI,SAAS,WAAW,CAAC,CAAC;QAE5E,OAAO,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;KAC7E;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type FallbackMap } from '../../model/Fallback';
|
|
2
|
-
|
|
3
|
-
export const loadModuleFallback = async (blockName: string): Promise<FallbackMap | undefined> => {
|
|
4
|
-
try {
|
|
5
|
-
const blockFallback = await import(`../${blockName}/${blockName}.fallback`);
|
|
6
|
-
|
|
7
|
-
return blockFallback?.fallback ? await blockFallback.fallback() : undefined;
|
|
8
|
-
} catch (error) {
|
|
9
|
-
return undefined;
|
|
10
|
-
}
|
|
11
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type FallbackMap } from '../../model/Fallback';
|
|
2
|
-
|
|
3
|
-
export const loadModuleFallback = async (blockName: string): Promise<FallbackMap | undefined> => {
|
|
4
|
-
try {
|
|
5
|
-
const blockFallback = await import(`../${blockName}/${blockName}.fallback`);
|
|
6
|
-
|
|
7
|
-
return blockFallback?.fallback ? await blockFallback.fallback() : undefined;
|
|
8
|
-
} catch (error) {
|
|
9
|
-
return undefined;
|
|
10
|
-
}
|
|
11
|
-
};
|