fumadocs-core 16.4.1 → 16.4.3
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/dist/advanced-DSlc7qa9.js +80 -0
- package/dist/advanced-DSlc7qa9.js.map +1 -0
- package/dist/algolia-BGWM-DkQ.js +49 -0
- package/dist/algolia-BGWM-DkQ.js.map +1 -0
- package/dist/algolia-FqjcaTcD.d.ts +68 -0
- package/dist/algolia-FqjcaTcD.d.ts.map +1 -0
- package/dist/breadcrumb.d.ts +29 -27
- package/dist/breadcrumb.d.ts.map +1 -0
- package/dist/breadcrumb.js +55 -72
- package/dist/breadcrumb.js.map +1 -0
- package/dist/chunk-C1JLJEPO.js +42 -0
- package/dist/codeblock-utils-Dh1w8ICD.d.ts +37 -0
- package/dist/codeblock-utils-Dh1w8ICD.d.ts.map +1 -0
- package/dist/content/github.d.ts +43 -32
- package/dist/content/github.d.ts.map +1 -0
- package/dist/content/github.js +29 -43
- package/dist/content/github.js.map +1 -0
- package/dist/content/index.d.ts +20 -13
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +17 -23
- package/dist/content/index.js.map +1 -0
- package/dist/content/mdx/preset-bundler.d.ts +22 -24
- package/dist/content/mdx/preset-bundler.d.ts.map +1 -0
- package/dist/content/mdx/preset-bundler.js +38 -69
- package/dist/content/mdx/preset-bundler.js.map +1 -0
- package/dist/content/mdx/preset-runtime.d.ts +22 -24
- package/dist/content/mdx/preset-runtime.d.ts.map +1 -0
- package/dist/content/mdx/preset-runtime.js +36 -68
- package/dist/content/mdx/preset-runtime.js.map +1 -0
- package/dist/content/toc.d.ts +7 -6
- package/dist/content/toc.d.ts.map +1 -0
- package/dist/content/toc.js +15 -19
- package/dist/content/toc.js.map +1 -0
- package/dist/definitions-DJAPG-2U.d.ts +62 -0
- package/dist/definitions-DJAPG-2U.d.ts.map +1 -0
- package/dist/dynamic-link.d.ts +7 -5
- package/dist/dynamic-link.d.ts.map +1 -0
- package/dist/dynamic-link.js +29 -27
- package/dist/dynamic-link.js.map +1 -0
- package/dist/fetch-B1nmMSyw.js +20 -0
- package/dist/fetch-B1nmMSyw.js.map +1 -0
- package/dist/framework/index.d.ts +38 -29
- package/dist/framework/index.d.ts.map +1 -0
- package/dist/framework/index.js +68 -17
- package/dist/framework/index.js.map +1 -0
- package/dist/framework/next.d.ts +15 -10
- package/dist/framework/next.d.ts.map +1 -0
- package/dist/framework/next.js +18 -26
- package/dist/framework/next.js.map +1 -0
- package/dist/framework/react-router.d.ts +15 -10
- package/dist/framework/react-router.d.ts.map +1 -0
- package/dist/framework/react-router.js +42 -55
- package/dist/framework/react-router.js.map +1 -0
- package/dist/framework/tanstack.d.ts +15 -10
- package/dist/framework/tanstack.d.ts.map +1 -0
- package/dist/framework/tanstack.js +54 -69
- package/dist/framework/tanstack.js.map +1 -0
- package/dist/framework/waku.d.ts +15 -10
- package/dist/framework/waku.d.ts.map +1 -0
- package/dist/framework/waku.js +47 -58
- package/dist/framework/waku.js.map +1 -0
- package/dist/highlight/client.d.ts +6 -7
- package/dist/highlight/client.d.ts.map +1 -0
- package/dist/highlight/client.js +22 -14
- package/dist/highlight/client.js.map +1 -0
- package/dist/highlight/index.d.ts +2 -30
- package/dist/highlight/index.js +3 -13
- package/dist/i18n/index.d.ts +2 -39
- package/dist/i18n/index.js +6 -7
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/middleware.d.ts +36 -28
- package/dist/i18n/middleware.d.ts.map +1 -0
- package/dist/i18n/middleware.js +55 -73
- package/dist/i18n/middleware.js.map +1 -0
- package/dist/icon-5lVe3l-0.js +19 -0
- package/dist/icon-5lVe3l-0.js.map +1 -0
- package/dist/index-BhVrX5J1.d.ts +41 -0
- package/dist/index-BhVrX5J1.d.ts.map +1 -0
- package/dist/index-Co_C8NEi.d.ts +380 -0
- package/dist/index-Co_C8NEi.d.ts.map +1 -0
- package/dist/link.d.ts +17 -15
- package/dist/link.d.ts.map +1 -0
- package/dist/link.js +29 -9
- package/dist/link.js.map +1 -0
- package/dist/mdast-utils-ix4DsXJP.js +40 -0
- package/dist/mdast-utils-ix4DsXJP.js.map +1 -0
- package/dist/mdx-plugins/codeblock-utils.d.ts +2 -29
- package/dist/mdx-plugins/codeblock-utils.js +71 -9
- package/dist/mdx-plugins/codeblock-utils.js.map +1 -0
- package/dist/mdx-plugins/index.d.ts +15 -20
- package/dist/mdx-plugins/index.js +18 -73
- package/dist/mdx-plugins/rehype-code.d.ts +2 -55
- package/dist/mdx-plugins/rehype-code.js +5 -15
- package/dist/mdx-plugins/rehype-toc.d.ts +2 -14
- package/dist/mdx-plugins/rehype-toc.js +3 -7
- package/dist/mdx-plugins/remark-admonition.d.ts +2 -20
- package/dist/mdx-plugins/remark-admonition.js +74 -8
- package/dist/mdx-plugins/remark-admonition.js.map +1 -0
- package/dist/mdx-plugins/remark-code-tab.d.ts +2 -30
- package/dist/mdx-plugins/remark-code-tab.js +183 -7
- package/dist/mdx-plugins/remark-code-tab.js.map +1 -0
- package/dist/mdx-plugins/remark-directive-admonition.d.ts +2 -27
- package/dist/mdx-plugins/remark-directive-admonition.js +60 -7
- package/dist/mdx-plugins/remark-directive-admonition.js.map +1 -0
- package/dist/mdx-plugins/remark-gfm.d.ts +2 -1
- package/dist/mdx-plugins/remark-gfm.js +3 -7
- package/dist/mdx-plugins/remark-heading.d.ts +2 -31
- package/dist/mdx-plugins/remark-heading.js +45 -8
- package/dist/mdx-plugins/remark-heading.js.map +1 -0
- package/dist/mdx-plugins/remark-image.d.ts +2 -57
- package/dist/mdx-plugins/remark-image.js +192 -7
- package/dist/mdx-plugins/remark-image.js.map +1 -0
- package/dist/mdx-plugins/remark-mdx-files.d.ts +2 -40
- package/dist/mdx-plugins/remark-mdx-files.js +187 -7
- package/dist/mdx-plugins/remark-mdx-files.js.map +1 -0
- package/dist/mdx-plugins/remark-mdx-mermaid.d.ts +2 -15
- package/dist/mdx-plugins/remark-mdx-mermaid.js +31 -7
- package/dist/mdx-plugins/remark-mdx-mermaid.js.map +1 -0
- package/dist/mdx-plugins/remark-npm.d.ts +2 -31
- package/dist/mdx-plugins/remark-npm.js +68 -8
- package/dist/mdx-plugins/remark-npm.js.map +1 -0
- package/dist/mdx-plugins/remark-steps.d.ts +2 -23
- package/dist/mdx-plugins/remark-steps.js +77 -7
- package/dist/mdx-plugins/remark-steps.js.map +1 -0
- package/dist/mdx-plugins/remark-structure.d.ts +2 -71
- package/dist/mdx-plugins/remark-structure.js +105 -11
- package/dist/mdx-plugins/remark-structure.js.map +1 -0
- package/dist/mixedbread-DSiQfUnN.js +88 -0
- package/dist/mixedbread-DSiQfUnN.js.map +1 -0
- package/dist/negotiation/index.d.ts +6 -4
- package/dist/negotiation/index.d.ts.map +1 -0
- package/dist/negotiation/index.js +41 -11
- package/dist/negotiation/index.js.map +1 -0
- package/dist/normalize-url-3WQZ_H_j.js +16 -0
- package/dist/normalize-url-3WQZ_H_j.js.map +1 -0
- package/dist/orama-cloud-BMDBfk05.js +84 -0
- package/dist/orama-cloud-BMDBfk05.js.map +1 -0
- package/dist/orama-cloud-legacy-CRZzZXWn.js +82 -0
- package/dist/orama-cloud-legacy-CRZzZXWn.js.map +1 -0
- package/dist/page-tree/index.d.ts +23 -11
- package/dist/page-tree/index.d.ts.map +1 -0
- package/dist/page-tree/index.js +3 -17
- package/dist/path-D6M0ZQvO.js +60 -0
- package/dist/path-D6M0ZQvO.js.map +1 -0
- package/dist/rehype-code-Bd52chOe.d.ts +58 -0
- package/dist/rehype-code-Bd52chOe.d.ts.map +1 -0
- package/dist/rehype-code-Dr35mETC.js +241 -0
- package/dist/rehype-code-Dr35mETC.js.map +1 -0
- package/dist/rehype-toc-BJVsblvp.d.ts +18 -0
- package/dist/rehype-toc-BJVsblvp.d.ts.map +1 -0
- package/dist/rehype-toc-Dqgey2tW.js +143 -0
- package/dist/rehype-toc-Dqgey2tW.js.map +1 -0
- package/dist/remark-admonition-Chku_iWO.d.ts +22 -0
- package/dist/remark-admonition-Chku_iWO.d.ts.map +1 -0
- package/dist/remark-code-tab-C0f6BPcw.d.ts +32 -0
- package/dist/remark-code-tab-C0f6BPcw.d.ts.map +1 -0
- package/dist/remark-directive-admonition-CBwJdh9z.d.ts +36 -0
- package/dist/remark-directive-admonition-CBwJdh9z.d.ts.map +1 -0
- package/dist/remark-gfm-B2aZXutO.d.ts +2 -0
- package/dist/remark-heading-CUAe4zIu.d.ts +37 -0
- package/dist/remark-heading-CUAe4zIu.d.ts.map +1 -0
- package/dist/remark-image-DMRnxsRO.d.ts +65 -0
- package/dist/remark-image-DMRnxsRO.d.ts.map +1 -0
- package/dist/remark-mdx-files-B5KMXnfh.d.ts +56 -0
- package/dist/remark-mdx-files-B5KMXnfh.d.ts.map +1 -0
- package/dist/remark-mdx-mermaid-C_4W5gfj.d.ts +17 -0
- package/dist/remark-mdx-mermaid-C_4W5gfj.d.ts.map +1 -0
- package/dist/remark-npm-CykFgJn2.d.ts +36 -0
- package/dist/remark-npm-CykFgJn2.d.ts.map +1 -0
- package/dist/remark-steps-5-DmLVv3.d.ts +28 -0
- package/dist/remark-steps-5-DmLVv3.d.ts.map +1 -0
- package/dist/remark-structure-CszwnaMR.d.ts +77 -0
- package/dist/remark-structure-CszwnaMR.d.ts.map +1 -0
- package/dist/remove-undefined-B7zJF-YS.js +19 -0
- package/dist/remove-undefined-B7zJF-YS.js.map +1 -0
- package/dist/search/algolia.d.ts +3 -69
- package/dist/search/algolia.js +69 -63
- package/dist/search/algolia.js.map +1 -0
- package/dist/search/client.d.ts +143 -114
- package/dist/search/client.d.ts.map +1 -0
- package/dist/search/client.js +98 -91
- package/dist/search/client.js.map +1 -0
- package/dist/search/index.d.ts +20 -18
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +3 -7
- package/dist/search/orama-cloud-legacy.d.ts +81 -0
- package/dist/search/orama-cloud-legacy.d.ts.map +1 -0
- package/dist/search/orama-cloud-legacy.js +50 -0
- package/dist/search/orama-cloud-legacy.js.map +1 -0
- package/dist/search/orama-cloud.d.ts +72 -70
- package/dist/search/orama-cloud.d.ts.map +1 -0
- package/dist/search/orama-cloud.js +46 -54
- package/dist/search/orama-cloud.js.map +1 -0
- package/dist/search/server.d.ts +6 -136
- package/dist/search/server.js +292 -369
- package/dist/search/server.js.map +1 -0
- package/dist/search-DcH54N2x.js +44 -0
- package/dist/search-DcH54N2x.js.map +1 -0
- package/dist/server-BzFuYBxW.d.ts +133 -0
- package/dist/server-BzFuYBxW.d.ts.map +1 -0
- package/dist/shiki-Bdk0JGsB.d.ts +33 -0
- package/dist/shiki-Bdk0JGsB.d.ts.map +1 -0
- package/dist/shiki-DoHr6fEj.js +80 -0
- package/dist/shiki-DoHr6fEj.js.map +1 -0
- package/dist/source/client/index.d.ts +7 -5
- package/dist/source/client/index.d.ts.map +1 -0
- package/dist/source/client/index.js +24 -35
- package/dist/source/client/index.js.map +1 -0
- package/dist/source/index.d.ts +3 -42
- package/dist/source/index.js +599 -752
- package/dist/source/index.js.map +1 -0
- package/dist/source/plugins/lucide-icons.d.ts +7 -7
- package/dist/source/plugins/lucide-icons.d.ts.map +1 -0
- package/dist/source/plugins/lucide-icons.js +21 -20
- package/dist/source/plugins/lucide-icons.js.map +1 -0
- package/dist/source/plugins/slugs.d.ts +3 -0
- package/dist/source/plugins/slugs.js +65 -0
- package/dist/source/plugins/slugs.js.map +1 -0
- package/dist/source/schema.d.ts +17 -14
- package/dist/source/schema.d.ts.map +1 -0
- package/dist/source/schema.js +26 -22
- package/dist/source/schema.js.map +1 -0
- package/dist/static-DAjBQpus.js +51 -0
- package/dist/static-DAjBQpus.js.map +1 -0
- package/dist/toc.d.ts +38 -25
- package/dist/toc.d.ts.map +1 -0
- package/dist/toc.js +123 -136
- package/dist/toc.js.map +1 -0
- package/dist/util-92szu3Vf.js +10 -0
- package/dist/util-92szu3Vf.js.map +1 -0
- package/dist/util-ofJFdM-e.d.ts +8 -0
- package/dist/util-ofJFdM-e.d.ts.map +1 -0
- package/dist/utils/use-effect-event.d.ts +3 -1
- package/dist/utils/use-effect-event.d.ts.map +1 -0
- package/dist/utils/use-effect-event.js +16 -13
- package/dist/utils/use-effect-event.js.map +1 -0
- package/dist/utils/use-media-query.d.ts +3 -1
- package/dist/utils/use-media-query.d.ts.map +1 -0
- package/dist/utils/use-media-query.js +20 -20
- package/dist/utils/use-media-query.js.map +1 -0
- package/dist/utils/use-on-change.d.ts +3 -1
- package/dist/utils/use-on-change.d.ts.map +1 -0
- package/dist/utils/use-on-change.js +23 -7
- package/dist/utils/use-on-change.js.map +1 -0
- package/dist/utils-bAoAH1Rh.js +134 -0
- package/dist/utils-bAoAH1Rh.js.map +1 -0
- package/package.json +72 -65
- package/dist/algolia-IZEDLPHE.js +0 -58
- package/dist/chunk-5PMI7QDD.js +0 -220
- package/dist/chunk-ADBHPKXG.js +0 -78
- package/dist/chunk-APKPSBSB.js +0 -74
- package/dist/chunk-CH7YHH7V.js +0 -222
- package/dist/chunk-EFVXL2PP.js +0 -144
- package/dist/chunk-EMWGTXSW.js +0 -19
- package/dist/chunk-FAEPKD7U.js +0 -20
- package/dist/chunk-FUUVPEA5.js +0 -29
- package/dist/chunk-GINBKBVQ.js +0 -12
- package/dist/chunk-GLRQBLGN.js +0 -59
- package/dist/chunk-JUF4WZ6G.js +0 -117
- package/dist/chunk-K4WNLOVQ.js +0 -75
- package/dist/chunk-L4JKQWCM.js +0 -131
- package/dist/chunk-MA6O2UUE.js +0 -50
- package/dist/chunk-ONG4RVCR.js +0 -8
- package/dist/chunk-OTD7MV33.js +0 -53
- package/dist/chunk-PFNP6PEB.js +0 -11
- package/dist/chunk-SH7BNTG7.js +0 -38
- package/dist/chunk-TWIDBWFG.js +0 -84
- package/dist/chunk-U67V476Y.js +0 -35
- package/dist/chunk-VLSDGCJE.js +0 -47
- package/dist/chunk-W6WTLKRA.js +0 -73
- package/dist/chunk-X2HFD5QJ.js +0 -275
- package/dist/chunk-XJ6ZQNEX.js +0 -91
- package/dist/chunk-XN2LKXFZ.js +0 -101
- package/dist/chunk-XOFXGHS4.js +0 -93
- package/dist/chunk-XZSI7AHE.js +0 -67
- package/dist/chunk-YVVDKJ2H.js +0 -34
- package/dist/chunk-ZMWYLUDP.js +0 -21
- package/dist/definitions-pJ7PybYY.d.ts +0 -60
- package/dist/fetch-IBTWQCJR.js +0 -22
- package/dist/loader-_E2HOdV0.d.ts +0 -333
- package/dist/mixedbread-A3WLENES.js +0 -117
- package/dist/orama-cloud-UZAPMPFV.js +0 -93
- package/dist/static-A2YJ5TXV.js +0 -62
- package/dist/util-bZU2QeJ2.d.ts +0 -6
|
@@ -1,60 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
// src/search/orama-cloud.ts
|
|
1
|
+
//#region src/search/orama-cloud.ts
|
|
4
2
|
async function sync(orama, options) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
);
|
|
11
|
-
if (autoDeploy) await index.transaction.commit();
|
|
3
|
+
const { autoDeploy = true } = options;
|
|
4
|
+
const index = orama.index.set(options.index);
|
|
5
|
+
await index.transaction.open();
|
|
6
|
+
await index.transaction.insertDocuments(options.documents.flatMap(toIndex));
|
|
7
|
+
if (autoDeploy) await index.transaction.commit();
|
|
12
8
|
}
|
|
13
9
|
async function syncI18n(orama, options) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
});
|
|
23
|
-
await Promise.all(tasks);
|
|
10
|
+
const { autoDeploy = true, indexes } = options;
|
|
11
|
+
const tasks = options.documents.map(async (document) => {
|
|
12
|
+
const index = orama.index.set(indexes[document.locale]);
|
|
13
|
+
await index.transaction.open();
|
|
14
|
+
await index.transaction.insertDocuments(document.items.flatMap(toIndex));
|
|
15
|
+
if (autoDeploy) await index.transaction.commit();
|
|
16
|
+
});
|
|
17
|
+
await Promise.all(tasks);
|
|
24
18
|
}
|
|
25
19
|
function toIndex(page) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
});
|
|
55
|
-
return indexes;
|
|
20
|
+
let id = 0;
|
|
21
|
+
const indexes = [];
|
|
22
|
+
const scannedHeadings = /* @__PURE__ */ new Set();
|
|
23
|
+
function createIndex(section, sectionId, content) {
|
|
24
|
+
return {
|
|
25
|
+
id: `${page.id}-${(id++).toString()}`,
|
|
26
|
+
title: page.title,
|
|
27
|
+
url: page.url,
|
|
28
|
+
page_id: page.id,
|
|
29
|
+
tag: page.tag,
|
|
30
|
+
section,
|
|
31
|
+
section_id: sectionId,
|
|
32
|
+
content,
|
|
33
|
+
breadcrumbs: page.breadcrumbs,
|
|
34
|
+
...page.extra_data
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if (page.description) indexes.push(createIndex(void 0, void 0, page.description));
|
|
38
|
+
page.structured.contents.forEach((p) => {
|
|
39
|
+
const heading = p.heading ? page.structured.headings.find((h) => p.heading === h.id) : null;
|
|
40
|
+
const index = createIndex(heading?.content, heading?.id, p.content);
|
|
41
|
+
if (heading && !scannedHeadings.has(heading.id)) {
|
|
42
|
+
scannedHeadings.add(heading.id);
|
|
43
|
+
indexes.push(createIndex(heading.content, heading.id, heading.content));
|
|
44
|
+
}
|
|
45
|
+
indexes.push(index);
|
|
46
|
+
});
|
|
47
|
+
return indexes;
|
|
56
48
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
export { sync, syncI18n };
|
|
52
|
+
//# sourceMappingURL=orama-cloud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orama-cloud.js","names":["indexes: OramaIndex[]"],"sources":["../../src/search/orama-cloud.ts"],"sourcesContent":["import type { StructuredData } from '@/mdx-plugins';\nimport { type AnyObject, type OramaCloud } from '@orama/core';\n\nexport interface SyncOptions {\n /**\n * Index name to sync\n */\n index: string;\n\n documents: OramaDocument[];\n\n /**\n * Deploy changes\n *\n * @defaultValue true\n */\n autoDeploy?: boolean;\n}\n\nexport interface I18nSyncOptions extends Omit<SyncOptions, 'index' | 'documents'> {\n /**\n * Indexes to sync.\n *\n * Pairs of `locale`-`index`.\n **/\n indexes: Record<string, string>;\n\n documents: {\n locale: string;\n items: OramaDocument[];\n }[];\n}\n\nexport interface OramaDocument {\n /**\n * The ID of document, must be unique\n */\n id: string;\n\n title: string;\n description?: string;\n\n /**\n * URL to the page\n */\n url: string;\n structured: StructuredData;\n\n /**\n * Tag to filter results\n */\n tag?: string;\n\n /**\n * Data to be added to each section index\n */\n extra_data?: object;\n breadcrumbs?: string[];\n}\n\nexport interface OramaIndex {\n id: string;\n\n title: string;\n url: string;\n\n tag?: string;\n\n /**\n * The id of page, used for `group by`\n */\n page_id: string;\n\n /**\n * Heading content\n */\n section?: string;\n\n breadcrumbs?: string[];\n\n /**\n * Heading (anchor) id\n */\n section_id?: string;\n\n content: string;\n}\n\nexport async function sync(orama: OramaCloud, options: SyncOptions): Promise<void> {\n const { autoDeploy = true } = options;\n const index = orama.index.set(options.index);\n await index.transaction.open();\n\n await index.transaction.insertDocuments(\n options.documents.flatMap(toIndex) as unknown as AnyObject[],\n );\n\n if (autoDeploy) await index.transaction.commit();\n}\n\nexport async function syncI18n(orama: OramaCloud, options: I18nSyncOptions): Promise<void> {\n const { autoDeploy = true, indexes } = options;\n\n const tasks = options.documents.map(async (document) => {\n const index = orama.index.set(indexes[document.locale]);\n await index.transaction.open();\n\n await index.transaction.insertDocuments(\n document.items.flatMap(toIndex) as unknown as AnyObject[],\n );\n\n if (autoDeploy) await index.transaction.commit();\n });\n\n await Promise.all(tasks);\n}\n\nfunction toIndex(page: OramaDocument): OramaIndex[] {\n let id = 0;\n const indexes: OramaIndex[] = [];\n const scannedHeadings = new Set<string>();\n\n function createIndex(\n section: string | undefined,\n sectionId: string | undefined,\n content: string,\n ): OramaIndex {\n return {\n id: `${page.id}-${(id++).toString()}`,\n title: page.title,\n url: page.url,\n // TODO: explicit declare enums\n page_id: page.id,\n tag: page.tag,\n section,\n section_id: sectionId,\n content,\n breadcrumbs: page.breadcrumbs,\n ...page.extra_data,\n };\n }\n\n if (page.description) indexes.push(createIndex(undefined, undefined, page.description));\n\n page.structured.contents.forEach((p) => {\n const heading = p.heading ? page.structured.headings.find((h) => p.heading === h.id) : null;\n\n const index = createIndex(heading?.content, heading?.id, p.content);\n\n if (heading && !scannedHeadings.has(heading.id)) {\n scannedHeadings.add(heading.id);\n\n indexes.push(createIndex(heading.content, heading.id, heading.content));\n }\n\n indexes.push(index);\n });\n\n return indexes;\n}\n"],"mappings":";AAwFA,eAAsB,KAAK,OAAmB,SAAqC;CACjF,MAAM,EAAE,aAAa,SAAS;CAC9B,MAAM,QAAQ,MAAM,MAAM,IAAI,QAAQ,MAAM;AAC5C,OAAM,MAAM,YAAY,MAAM;AAE9B,OAAM,MAAM,YAAY,gBACtB,QAAQ,UAAU,QAAQ,QAAQ,CACnC;AAED,KAAI,WAAY,OAAM,MAAM,YAAY,QAAQ;;AAGlD,eAAsB,SAAS,OAAmB,SAAyC;CACzF,MAAM,EAAE,aAAa,MAAM,YAAY;CAEvC,MAAM,QAAQ,QAAQ,UAAU,IAAI,OAAO,aAAa;EACtD,MAAM,QAAQ,MAAM,MAAM,IAAI,QAAQ,SAAS,QAAQ;AACvD,QAAM,MAAM,YAAY,MAAM;AAE9B,QAAM,MAAM,YAAY,gBACtB,SAAS,MAAM,QAAQ,QAAQ,CAChC;AAED,MAAI,WAAY,OAAM,MAAM,YAAY,QAAQ;GAChD;AAEF,OAAM,QAAQ,IAAI,MAAM;;AAG1B,SAAS,QAAQ,MAAmC;CAClD,IAAI,KAAK;CACT,MAAMA,UAAwB,EAAE;CAChC,MAAM,kCAAkB,IAAI,KAAa;CAEzC,SAAS,YACP,SACA,WACA,SACY;AACZ,SAAO;GACL,IAAI,GAAG,KAAK,GAAG,IAAI,MAAM,UAAU;GACnC,OAAO,KAAK;GACZ,KAAK,KAAK;GAEV,SAAS,KAAK;GACd,KAAK,KAAK;GACV;GACA,YAAY;GACZ;GACA,aAAa,KAAK;GAClB,GAAG,KAAK;GACT;;AAGH,KAAI,KAAK,YAAa,SAAQ,KAAK,YAAY,QAAW,QAAW,KAAK,YAAY,CAAC;AAEvF,MAAK,WAAW,SAAS,SAAS,MAAM;EACtC,MAAM,UAAU,EAAE,UAAU,KAAK,WAAW,SAAS,MAAM,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG;EAEvF,MAAM,QAAQ,YAAY,SAAS,SAAS,SAAS,IAAI,EAAE,QAAQ;AAEnE,MAAI,WAAW,CAAC,gBAAgB,IAAI,QAAQ,GAAG,EAAE;AAC/C,mBAAgB,IAAI,QAAQ,GAAG;AAE/B,WAAQ,KAAK,YAAY,QAAQ,SAAS,QAAQ,IAAI,QAAQ,QAAQ,CAAC;;AAGzE,UAAQ,KAAK,MAAM;GACnB;AAEF,QAAO"}
|
package/dist/search/server.d.ts
CHANGED
|
@@ -1,136 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { SortedResult } from
|
|
4
|
-
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
import 'mdast';
|
|
8
|
-
import 'unified';
|
|
9
|
-
import 'mdast-util-mdx-jsx';
|
|
10
|
-
import 'react';
|
|
11
|
-
import '../definitions-pJ7PybYY.js';
|
|
12
|
-
|
|
13
|
-
type SimpleDocument = TypedDocument<Orama<typeof simpleSchema>>;
|
|
14
|
-
declare const simpleSchema: {
|
|
15
|
-
readonly url: "string";
|
|
16
|
-
readonly title: "string";
|
|
17
|
-
readonly breadcrumbs: "string[]";
|
|
18
|
-
readonly description: "string";
|
|
19
|
-
readonly content: "string";
|
|
20
|
-
readonly keywords: "string";
|
|
21
|
-
};
|
|
22
|
-
type AdvancedDocument = TypedDocument<Orama<typeof advancedSchema>>;
|
|
23
|
-
declare const advancedSchema: {
|
|
24
|
-
readonly content: "string";
|
|
25
|
-
readonly page_id: "string";
|
|
26
|
-
readonly type: "string";
|
|
27
|
-
readonly breadcrumbs: "string[]";
|
|
28
|
-
readonly tags: "enum[]";
|
|
29
|
-
readonly url: "string";
|
|
30
|
-
readonly embeddings: "vector[512]";
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
type Awaitable<T> = T | Promise<T>;
|
|
34
|
-
interface Options<C extends LoaderConfig> extends Omit<AdvancedOptions, 'indexes'> {
|
|
35
|
-
localeMap?: {
|
|
36
|
-
[K in C['i18n'] extends I18nConfig<infer Languages> ? Languages : string]?: Partial<AdvancedOptions> | Language;
|
|
37
|
-
};
|
|
38
|
-
buildIndex?: (page: Page<C['source']['pageData']>) => Awaitable<AdvancedIndex>;
|
|
39
|
-
}
|
|
40
|
-
declare function createFromSource<C extends LoaderConfig>(source: LoaderOutput<C>, options?: Options<C>): SearchAPI;
|
|
41
|
-
|
|
42
|
-
type I18nOptions<O extends SimpleOptions | AdvancedOptions, Idx> = Omit<O, 'language' | 'indexes'> & {
|
|
43
|
-
i18n: I18nConfig;
|
|
44
|
-
/**
|
|
45
|
-
* Map locale name from i18n config to Orama compatible `language` or options
|
|
46
|
-
*/
|
|
47
|
-
localeMap?: Record<string, Language | Partial<O> | undefined>;
|
|
48
|
-
indexes: WithLocale<Idx>[] | Dynamic<WithLocale<Idx>>;
|
|
49
|
-
};
|
|
50
|
-
type I18nSimpleOptions = I18nOptions<SimpleOptions, Index>;
|
|
51
|
-
type I18nAdvancedOptions = I18nOptions<AdvancedOptions, AdvancedIndex>;
|
|
52
|
-
type WithLocale<T> = T & {
|
|
53
|
-
locale: string;
|
|
54
|
-
};
|
|
55
|
-
declare function createI18nSearchAPI<T extends 'simple' | 'advanced'>(type: T, options: T extends 'simple' ? I18nSimpleOptions : I18nAdvancedOptions): SearchAPI;
|
|
56
|
-
|
|
57
|
-
type SearchType = 'simple' | 'advanced';
|
|
58
|
-
type ExportedData = (RawData & {
|
|
59
|
-
type: SearchType;
|
|
60
|
-
}) | {
|
|
61
|
-
type: 'i18n';
|
|
62
|
-
data: Record<string, RawData & {
|
|
63
|
-
type: SearchType;
|
|
64
|
-
}>;
|
|
65
|
-
};
|
|
66
|
-
interface SearchServer {
|
|
67
|
-
search: (query: string, options?: {
|
|
68
|
-
locale?: string;
|
|
69
|
-
tag?: string | string[];
|
|
70
|
-
mode?: 'vector' | 'full';
|
|
71
|
-
}) => Promise<SortedResult[]>;
|
|
72
|
-
/**
|
|
73
|
-
* Export the database
|
|
74
|
-
*
|
|
75
|
-
* You can reference the exported database to implement client-side search
|
|
76
|
-
*/
|
|
77
|
-
export: () => Promise<ExportedData>;
|
|
78
|
-
}
|
|
79
|
-
interface SearchAPI extends SearchServer {
|
|
80
|
-
GET: (request: Request) => Promise<Response>;
|
|
81
|
-
/**
|
|
82
|
-
* `GET` route handler that exports search indexes for static search.
|
|
83
|
-
*/
|
|
84
|
-
staticGET: () => Promise<Response>;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Resolve indexes dynamically
|
|
88
|
-
*/
|
|
89
|
-
type Dynamic<T> = () => T[] | Promise<T[]>;
|
|
90
|
-
type OramaInput = Parameters<typeof create>[0];
|
|
91
|
-
type SharedOptions = Pick<OramaInput, 'sort' | 'components' | 'plugins'> & {
|
|
92
|
-
language?: string;
|
|
93
|
-
tokenizer?: Required<OramaInput>['components']['tokenizer'];
|
|
94
|
-
};
|
|
95
|
-
interface SimpleOptions extends SharedOptions {
|
|
96
|
-
indexes: Index[] | Dynamic<Index>;
|
|
97
|
-
/**
|
|
98
|
-
* Customise search options on server
|
|
99
|
-
*/
|
|
100
|
-
search?: Partial<SearchParams<Orama<typeof simpleSchema>, SimpleDocument>>;
|
|
101
|
-
}
|
|
102
|
-
interface AdvancedOptions extends SharedOptions {
|
|
103
|
-
indexes: AdvancedIndex[] | Dynamic<AdvancedIndex>;
|
|
104
|
-
/**
|
|
105
|
-
* Customise search options on server
|
|
106
|
-
*/
|
|
107
|
-
search?: Partial<SearchParams<Orama<typeof advancedSchema>, AdvancedDocument>>;
|
|
108
|
-
}
|
|
109
|
-
declare function createSearchAPI<T extends SearchType>(type: T, options: T extends 'simple' ? SimpleOptions : AdvancedOptions): SearchAPI;
|
|
110
|
-
interface Index {
|
|
111
|
-
title: string;
|
|
112
|
-
description?: string;
|
|
113
|
-
breadcrumbs?: string[];
|
|
114
|
-
content: string;
|
|
115
|
-
url: string;
|
|
116
|
-
keywords?: string;
|
|
117
|
-
}
|
|
118
|
-
declare function initSimpleSearch(options: SimpleOptions): SearchServer;
|
|
119
|
-
interface AdvancedIndex {
|
|
120
|
-
id: string;
|
|
121
|
-
title: string;
|
|
122
|
-
description?: string;
|
|
123
|
-
breadcrumbs?: string[];
|
|
124
|
-
/**
|
|
125
|
-
* Required if tag filter is enabled
|
|
126
|
-
*/
|
|
127
|
-
tag?: string | string[];
|
|
128
|
-
/**
|
|
129
|
-
* preprocess mdx content with `structure`
|
|
130
|
-
*/
|
|
131
|
-
structuredData: StructuredData;
|
|
132
|
-
url: string;
|
|
133
|
-
}
|
|
134
|
-
declare function initAdvancedSearch(options: AdvancedOptions): SearchServer;
|
|
135
|
-
|
|
136
|
-
export { type AdvancedIndex, type AdvancedOptions, type Dynamic, type ExportedData, type Index, type SearchAPI, type SearchServer, type SimpleOptions, SortedResult, createFromSource, createI18nSearchAPI, createSearchAPI, initAdvancedSearch, initSimpleSearch };
|
|
1
|
+
import "../definitions-DJAPG-2U.js";
|
|
2
|
+
import "../remark-structure-CszwnaMR.js";
|
|
3
|
+
import { HighlightedText, ReactSortedResult, SortedResult, createContentHighlighter } from "./index.js";
|
|
4
|
+
import { a as Index, c as SimpleOptions, d as initSimpleSearch, f as createI18nSearchAPI, i as ExportedData, l as createSearchAPI, n as AdvancedOptions, o as SearchAPI, p as createFromSource, r as Dynamic, s as SearchServer, t as AdvancedIndex, u as initAdvancedSearch } from "../server-BzFuYBxW.js";
|
|
5
|
+
import "../index-Co_C8NEi.js";
|
|
6
|
+
export { AdvancedIndex, AdvancedOptions, Dynamic, ExportedData, HighlightedText, Index, ReactSortedResult, SearchAPI, SearchServer, SimpleOptions, SortedResult, createContentHighlighter, createFromSource, createI18nSearchAPI, createSearchAPI, initAdvancedSearch, initSimpleSearch };
|