@fern-api/fdr-sdk 1.2.46-fe3cc347c7 → 1.2.47-644c48eaef
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/client/docs-types/db.d.ts +47 -0
- package/dist/client/docs-types/db.d.ts.map +1 -1
- package/dist/client/docs-types/read.d.ts +21 -0
- package/dist/client/docs-types/read.d.ts.map +1 -1
- package/dist/client/docs-types/shared.d.ts +5 -0
- package/dist/client/docs-types/shared.d.ts.map +1 -1
- package/dist/client/docs-types/shared.js +5 -1
- package/dist/client/docs-types/shared.js.map +1 -1
- package/dist/client/docs-types/write.d.ts +12 -0
- package/dist/client/docs-types/write.d.ts.map +1 -1
- package/dist/js/client/FdrClient.js +3 -1
- package/dist/js/client/FdrClient.js.map +1 -1
- package/dist/js/client/FdrClient.mjs +3 -1
- package/dist/js/client/FdrClient.mjs.map +1 -1
- package/dist/js/client/types.js +3 -1
- package/dist/js/client/types.js.map +1 -1
- package/dist/js/client/types.mjs +3 -1
- package/dist/js/client/types.mjs.map +1 -1
- package/dist/js/converters/index.js +3 -1
- package/dist/js/converters/index.js.map +1 -1
- package/dist/js/converters/index.mjs +3 -1
- package/dist/js/converters/index.mjs.map +1 -1
- package/dist/js/docs/index.js +3 -1
- package/dist/js/docs/index.js.map +1 -1
- package/dist/js/docs/index.mjs +3 -1
- package/dist/js/docs/index.mjs.map +1 -1
- package/dist/js/index.js +3 -1
- package/dist/js/index.js.map +1 -1
- package/dist/js/index.mjs +3 -1
- package/dist/js/index.mjs.map +1 -1
- package/dist/js/navigation/index.js +3 -1
- package/dist/js/navigation/index.js.map +1 -1
- package/dist/js/navigation/index.mjs +3 -1
- package/dist/js/navigation/index.mjs.map +1 -1
- package/dist/js/navigation/ledger-root-builder.js +46 -9
- package/dist/js/navigation/ledger-root-builder.js.map +1 -1
- package/dist/js/navigation/ledger-root-builder.mjs +46 -9
- package/dist/js/navigation/ledger-root-builder.mjs.map +1 -1
- package/dist/js/orpc-client.js +39 -1
- package/dist/js/orpc-client.js.map +1 -1
- package/dist/js/orpc-client.mjs +39 -1
- package/dist/js/orpc-client.mjs.map +1 -1
- package/dist/navigation/__test__/ledger-canonical-bugs.repro.test.d.ts +2 -0
- package/dist/navigation/__test__/ledger-canonical-bugs.repro.test.d.ts.map +1 -0
- package/dist/navigation/__test__/ledger-canonical-bugs.repro.test.js +335 -0
- package/dist/navigation/__test__/ledger-canonical-bugs.repro.test.js.map +1 -0
- package/dist/navigation/__test__/ledger-root-builder.contentfulRedirectRepro.test.js +64 -1
- package/dist/navigation/__test__/ledger-root-builder.contentfulRedirectRepro.test.js.map +1 -1
- package/dist/navigation/__test__/ledger-root-builder.withinVersionDedup.test.d.ts +2 -0
- package/dist/navigation/__test__/ledger-root-builder.withinVersionDedup.test.d.ts.map +1 -0
- package/dist/navigation/__test__/ledger-root-builder.withinVersionDedup.test.js +408 -0
- package/dist/navigation/__test__/ledger-root-builder.withinVersionDedup.test.js.map +1 -0
- package/dist/navigation/ledger-root-builder.d.ts.map +1 -1
- package/dist/navigation/ledger-root-builder.js +80 -16
- package/dist/navigation/ledger-root-builder.js.map +1 -1
- package/dist/orpc-client/docs/v1/read/contract.d.ts +14 -0
- package/dist/orpc-client/docs/v1/read/contract.d.ts.map +1 -1
- package/dist/orpc-client/docs/v1/write/contract.d.ts +4 -0
- package/dist/orpc-client/docs/v1/write/contract.d.ts.map +1 -1
- package/dist/orpc-client/docs/v2/read/contract.d.ts +32 -0
- package/dist/orpc-client/docs/v2/read/contract.d.ts.map +1 -1
- package/dist/orpc-client/docs/v2/write/contract.d.ts +8 -0
- package/dist/orpc-client/docs/v2/write/contract.d.ts.map +1 -1
- package/dist/orpc-client/docs-ledger/__test__/config-files.navFiles.test.js +28 -1
- package/dist/orpc-client/docs-ledger/__test__/config-files.navFiles.test.js.map +1 -1
- package/dist/orpc-client/docs-ledger/config-files.d.ts.map +1 -1
- package/dist/orpc-client/docs-ledger/config-files.js +34 -0
- package/dist/orpc-client/docs-ledger/config-files.js.map +1 -1
- package/dist/orpc-client/docs-ledger/contract.d.ts +56 -0
- package/dist/orpc-client/docs-ledger/contract.d.ts.map +1 -1
- package/dist/orpc-client/docs-ledger/ledger-manifest.d.ts +14 -0
- package/dist/orpc-client/docs-ledger/ledger-manifest.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/client/docs-types/db.d.ts +47 -0
- package/dist/types/client/docs-types/db.d.ts.map +1 -1
- package/dist/types/client/docs-types/read.d.ts +21 -0
- package/dist/types/client/docs-types/read.d.ts.map +1 -1
- package/dist/types/client/docs-types/shared.d.ts +5 -0
- package/dist/types/client/docs-types/shared.d.ts.map +1 -1
- package/dist/types/client/docs-types/write.d.ts +12 -0
- package/dist/types/client/docs-types/write.d.ts.map +1 -1
- package/dist/types/navigation/__test__/ledger-canonical-bugs.repro.test.d.ts +2 -0
- package/dist/types/navigation/__test__/ledger-canonical-bugs.repro.test.d.ts.map +1 -0
- package/dist/types/navigation/__test__/ledger-root-builder.withinVersionDedup.test.d.ts +2 -0
- package/dist/types/navigation/__test__/ledger-root-builder.withinVersionDedup.test.d.ts.map +1 -0
- package/dist/types/navigation/ledger-root-builder.d.ts.map +1 -1
- package/dist/types/orpc-client/docs/v1/read/contract.d.ts +14 -0
- package/dist/types/orpc-client/docs/v1/read/contract.d.ts.map +1 -1
- package/dist/types/orpc-client/docs/v1/write/contract.d.ts +4 -0
- package/dist/types/orpc-client/docs/v1/write/contract.d.ts.map +1 -1
- package/dist/types/orpc-client/docs/v2/read/contract.d.ts +32 -0
- package/dist/types/orpc-client/docs/v2/read/contract.d.ts.map +1 -1
- package/dist/types/orpc-client/docs/v2/write/contract.d.ts +8 -0
- package/dist/types/orpc-client/docs/v2/write/contract.d.ts.map +1 -1
- package/dist/types/orpc-client/docs-ledger/config-files.d.ts.map +1 -1
- package/dist/types/orpc-client/docs-ledger/contract.d.ts +56 -0
- package/dist/types/orpc-client/docs-ledger/contract.d.ts.map +1 -1
- package/dist/types/orpc-client/docs-ledger/ledger-manifest.d.ts +14 -0
- package/dist/types/orpc-client/docs-ledger/ledger-manifest.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1347,7 +1347,7 @@ function mergeChildrenByPosition(ctx, nav, sectionChildren) {
|
|
|
1347
1347
|
function sectionNode(ctx, scoped, sectionChildren, scopePrefix) {
|
|
1348
1348
|
const { seg, nav } = scoped;
|
|
1349
1349
|
const overview = overviewRoute(nav) ?? overviewRouteFromSegmentMeta(seg, nav);
|
|
1350
|
-
const overviewPageId = metaStr(seg.metadata, "overviewPageId");
|
|
1350
|
+
const overviewPageId = metaStr(overview?.metadata, "pageId") ?? metaStr(seg.metadata, "overviewPageId");
|
|
1351
1351
|
const relSection = stripLeadingScopePrefix(seg.section, scopePrefix);
|
|
1352
1352
|
let slug = structuralNodeSlug(ctx, overview?.fullPath, relSection, scopePrefix);
|
|
1353
1353
|
if (relSection === "" && overview?.fullPath == null) {
|
|
@@ -1448,7 +1448,7 @@ function buildApiChildren(ctx, scoped, scopeSegs, apiDefinitionId, scopePrefix)
|
|
|
1448
1448
|
function apiPackageChildNode(ctx, scoped, scopeSegs, parentApiDefinitionId, scopePrefix) {
|
|
1449
1449
|
const { seg, nav } = scoped;
|
|
1450
1450
|
const overview = overviewRoute(nav);
|
|
1451
|
-
const overviewPageId = metaStr(seg.metadata, "overviewPageId");
|
|
1451
|
+
const overviewPageId = metaStr(overview?.metadata, "pageId") ?? metaStr(seg.metadata, "overviewPageId");
|
|
1452
1452
|
const apiDefinitionId = metaStr(seg.metadata, "apiDefinitionId") ?? parentApiDefinitionId;
|
|
1453
1453
|
const slug = structuralNodeSlug(
|
|
1454
1454
|
ctx,
|
|
@@ -1536,7 +1536,7 @@ function mergeEndpointPairs(ctx, leafNodes, allNav) {
|
|
|
1536
1536
|
function apiReferenceNode(ctx, scoped, scopeSegs, scopePrefix) {
|
|
1537
1537
|
const { seg, nav } = scoped;
|
|
1538
1538
|
const overview = overviewRoute(nav);
|
|
1539
|
-
const overviewPageId = metaStr(seg.metadata, "overviewPageId");
|
|
1539
|
+
const overviewPageId = metaStr(overview?.metadata, "pageId") ?? metaStr(seg.metadata, "overviewPageId");
|
|
1540
1540
|
const apiDefinitionId = metaStr(seg.metadata, "apiDefinitionId") ?? "";
|
|
1541
1541
|
const slug = structuralNodeSlug(
|
|
1542
1542
|
ctx,
|
|
@@ -2236,7 +2236,7 @@ function buildTabbedOrSidebar(ctx, scopeSegs, tabsPresent, scopePrefix) {
|
|
|
2236
2236
|
}
|
|
2237
2237
|
function buildUnversioned(ctx, scopeSegs, scopePrefix, tabsPresent) {
|
|
2238
2238
|
const first = scopeSegs[0];
|
|
2239
|
-
|
|
2239
|
+
const node = {
|
|
2240
2240
|
type: "unversioned",
|
|
2241
2241
|
id: ctx.nodeId(`unversioned:${first?.seg.product?.id ?? "root"}`),
|
|
2242
2242
|
collapsed: void 0,
|
|
@@ -2246,6 +2246,8 @@ function buildUnversioned(ctx, scopeSegs, scopePrefix, tabsPresent) {
|
|
|
2246
2246
|
// namespace.
|
|
2247
2247
|
child: buildTabbedOrSidebar(ctx, scopeSegs, tabsPresent, scopePrefix)
|
|
2248
2248
|
};
|
|
2249
|
+
markWithinScopeCanonicalSlugs(node);
|
|
2250
|
+
return node;
|
|
2249
2251
|
}
|
|
2250
2252
|
function mergeSharedSections(defaultSegs, allScoped, defaultVersion, versionSlugs) {
|
|
2251
2253
|
const defaultTabsByName = /* @__PURE__ */ new Map();
|
|
@@ -2329,6 +2331,7 @@ function buildVersioned(ctx, versions, scoped, rootSlug, productPrefix, skipShar
|
|
|
2329
2331
|
// version subtree stays inside the default-version prune window.
|
|
2330
2332
|
child: buildTabbedOrSidebar(ctx, versionSegs, tabsPresent, asSlug(slug))
|
|
2331
2333
|
};
|
|
2334
|
+
markWithinScopeCanonicalSlugs(node);
|
|
2332
2335
|
if (node.default) {
|
|
2333
2336
|
markDefaultVersionCanonicalSlugs(node, productPrefix != null ? asSlug(productPrefix) : rootSlug, node.slug);
|
|
2334
2337
|
}
|
|
@@ -2439,6 +2442,34 @@ function buildLandingPage(ctx, scopeSegs) {
|
|
|
2439
2442
|
landingSegment?.nav.find((route) => route.type === "markdown")
|
|
2440
2443
|
);
|
|
2441
2444
|
}
|
|
2445
|
+
function markWithinScopeCanonicalSlugs(scopeNode) {
|
|
2446
|
+
const keyToCanonical = /* @__PURE__ */ new Map();
|
|
2447
|
+
traverseDF(scopeNode, (child, parents) => {
|
|
2448
|
+
if (hasMetadata(child) && isPage(child)) {
|
|
2449
|
+
const keys = crossVersionDedupKeys(child, parents);
|
|
2450
|
+
let matched = false;
|
|
2451
|
+
for (const key of keys) {
|
|
2452
|
+
const canonical = keyToCanonical.get(key);
|
|
2453
|
+
if (canonical != null && canonical !== child.slug) {
|
|
2454
|
+
if (child.slug.startsWith(canonical + "/") && getChildren(child).length > 0) {
|
|
2455
|
+
continue;
|
|
2456
|
+
}
|
|
2457
|
+
child.canonicalSlug = canonical;
|
|
2458
|
+
matched = true;
|
|
2459
|
+
break;
|
|
2460
|
+
}
|
|
2461
|
+
}
|
|
2462
|
+
if (!matched) {
|
|
2463
|
+
const slug = child.canonicalSlug ?? child.slug;
|
|
2464
|
+
for (const key of keys) {
|
|
2465
|
+
if (!keyToCanonical.has(key)) {
|
|
2466
|
+
keyToCanonical.set(key, slug);
|
|
2467
|
+
}
|
|
2468
|
+
}
|
|
2469
|
+
}
|
|
2470
|
+
}
|
|
2471
|
+
});
|
|
2472
|
+
}
|
|
2442
2473
|
function markCrossVersionCanonicalSlugs(versionNodes) {
|
|
2443
2474
|
const keyToCanonical = /* @__PURE__ */ new Map();
|
|
2444
2475
|
const sorted = [...versionNodes].sort((a, b) => {
|
|
@@ -2455,6 +2486,9 @@ function markCrossVersionCanonicalSlugs(versionNodes) {
|
|
|
2455
2486
|
for (const key of keys) {
|
|
2456
2487
|
const canonical = keyToCanonical.get(key);
|
|
2457
2488
|
if (canonical != null && !version.default) {
|
|
2489
|
+
if (child.slug.startsWith(canonical + "/") && getChildren(child).length > 0) {
|
|
2490
|
+
continue;
|
|
2491
|
+
}
|
|
2458
2492
|
child.canonicalSlug = canonical;
|
|
2459
2493
|
matched = true;
|
|
2460
2494
|
break;
|
|
@@ -2532,11 +2566,14 @@ function markCrossProductCanonicalSlugs(productNodes) {
|
|
|
2532
2566
|
return;
|
|
2533
2567
|
}
|
|
2534
2568
|
const key = `pid:${pid}`;
|
|
2535
|
-
const
|
|
2536
|
-
if (
|
|
2537
|
-
child.canonicalSlug =
|
|
2538
|
-
} else if (
|
|
2539
|
-
pageIdToCanonical.set(key,
|
|
2569
|
+
const entry = pageIdToCanonical.get(key);
|
|
2570
|
+
if (entry != null && !product.default && entry.productId !== product.productId) {
|
|
2571
|
+
child.canonicalSlug = entry.slug;
|
|
2572
|
+
} else if (entry == null) {
|
|
2573
|
+
pageIdToCanonical.set(key, {
|
|
2574
|
+
slug: child.canonicalSlug ?? child.slug,
|
|
2575
|
+
productId: product.productId
|
|
2576
|
+
});
|
|
2540
2577
|
}
|
|
2541
2578
|
}
|
|
2542
2579
|
});
|