@fern-api/fdr-sdk 1.2.45-9cc0fe9249 → 1.2.46-1b9e2153be
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 +51 -12
- package/dist/js/navigation/ledger-root-builder.js.map +1 -1
- package/dist/js/navigation/ledger-root-builder.mjs +51 -12
- 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-root-builder.contentfulRedirectRepro.test.js +56 -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 +78 -12
- 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-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
|
@@ -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 =
|
|
1451
|
+
const overviewPageId = metaStr(seg.metadata, "overviewPageId");
|
|
1452
1452
|
const apiDefinitionId = metaStr(seg.metadata, "apiDefinitionId") ?? parentApiDefinitionId;
|
|
1453
1453
|
const slug = structuralNodeSlug(
|
|
1454
1454
|
ctx,
|
|
@@ -1456,7 +1456,6 @@ function apiPackageChildNode(ctx, scoped, scopeSegs, parentApiDefinitionId, scop
|
|
|
1456
1456
|
stripLeadingScopePrefix(seg.section, scopePrefix),
|
|
1457
1457
|
scopePrefix
|
|
1458
1458
|
);
|
|
1459
|
-
const metaPointsTo = metaStr(seg.metadata, "pointsTo");
|
|
1460
1459
|
const children = buildApiChildren(ctx, scoped, scopeSegs, apiDefinitionId, scopePrefix);
|
|
1461
1460
|
return {
|
|
1462
1461
|
type: "apiPackage",
|
|
@@ -1475,7 +1474,9 @@ function apiPackageChildNode(ctx, scoped, scopeSegs, parentApiDefinitionId, scop
|
|
|
1475
1474
|
availability: metaAvailability(seg.metadata),
|
|
1476
1475
|
overviewPageId: overviewPageId != null ? PageId(overviewPageId) : void 0,
|
|
1477
1476
|
noindex: metaBool(overview?.metadata, "noindex") ?? metaBool(seg.metadata, "noindex"),
|
|
1478
|
-
|
|
1477
|
+
// Don't read pointsTo from metadata; let mutableUpdatePointsTo
|
|
1478
|
+
// compute it via followRedirect, matching v2 behavior.
|
|
1479
|
+
pointsTo: void 0,
|
|
1479
1480
|
children,
|
|
1480
1481
|
playground: void 0
|
|
1481
1482
|
};
|
|
@@ -1535,7 +1536,7 @@ function mergeEndpointPairs(ctx, leafNodes, allNav) {
|
|
|
1535
1536
|
function apiReferenceNode(ctx, scoped, scopeSegs, scopePrefix) {
|
|
1536
1537
|
const { seg, nav } = scoped;
|
|
1537
1538
|
const overview = overviewRoute(nav);
|
|
1538
|
-
const overviewPageId =
|
|
1539
|
+
const overviewPageId = metaStr(seg.metadata, "overviewPageId");
|
|
1539
1540
|
const apiDefinitionId = metaStr(seg.metadata, "apiDefinitionId") ?? "";
|
|
1540
1541
|
const slug = structuralNodeSlug(
|
|
1541
1542
|
ctx,
|
|
@@ -1543,7 +1544,6 @@ function apiReferenceNode(ctx, scoped, scopeSegs, scopePrefix) {
|
|
|
1543
1544
|
stripLeadingScopePrefix(seg.section, scopePrefix),
|
|
1544
1545
|
scopePrefix
|
|
1545
1546
|
);
|
|
1546
|
-
const metaPointsTo = metaStr(seg.metadata, "pointsTo");
|
|
1547
1547
|
const children = buildApiChildren(ctx, scoped, scopeSegs, apiDefinitionId, scopePrefix);
|
|
1548
1548
|
const changelog = attachedApiChangelogNode(ctx, scoped, scopeSegs, apiDefinitionId, scopePrefix);
|
|
1549
1549
|
return {
|
|
@@ -1566,7 +1566,9 @@ function apiReferenceNode(ctx, scoped, scopeSegs, scopePrefix) {
|
|
|
1566
1566
|
paginated: metaBool(seg.metadata, "paginated"),
|
|
1567
1567
|
showErrors: metaBool(seg.metadata, "showErrors"),
|
|
1568
1568
|
hideTitle: metaBool(seg.metadata, "hideTitle"),
|
|
1569
|
-
|
|
1569
|
+
// Don't read pointsTo from metadata; let mutableUpdatePointsTo
|
|
1570
|
+
// compute it via followRedirect, matching v2 behavior.
|
|
1571
|
+
pointsTo: void 0,
|
|
1570
1572
|
children,
|
|
1571
1573
|
changelog,
|
|
1572
1574
|
playground: void 0,
|
|
@@ -2234,7 +2236,7 @@ function buildTabbedOrSidebar(ctx, scopeSegs, tabsPresent, scopePrefix) {
|
|
|
2234
2236
|
}
|
|
2235
2237
|
function buildUnversioned(ctx, scopeSegs, scopePrefix, tabsPresent) {
|
|
2236
2238
|
const first = scopeSegs[0];
|
|
2237
|
-
|
|
2239
|
+
const node = {
|
|
2238
2240
|
type: "unversioned",
|
|
2239
2241
|
id: ctx.nodeId(`unversioned:${first?.seg.product?.id ?? "root"}`),
|
|
2240
2242
|
collapsed: void 0,
|
|
@@ -2244,6 +2246,8 @@ function buildUnversioned(ctx, scopeSegs, scopePrefix, tabsPresent) {
|
|
|
2244
2246
|
// namespace.
|
|
2245
2247
|
child: buildTabbedOrSidebar(ctx, scopeSegs, tabsPresent, scopePrefix)
|
|
2246
2248
|
};
|
|
2249
|
+
markWithinScopeCanonicalSlugs(node);
|
|
2250
|
+
return node;
|
|
2247
2251
|
}
|
|
2248
2252
|
function mergeSharedSections(defaultSegs, allScoped, defaultVersion, versionSlugs) {
|
|
2249
2253
|
const defaultTabsByName = /* @__PURE__ */ new Map();
|
|
@@ -2327,6 +2331,7 @@ function buildVersioned(ctx, versions, scoped, rootSlug, productPrefix, skipShar
|
|
|
2327
2331
|
// version subtree stays inside the default-version prune window.
|
|
2328
2332
|
child: buildTabbedOrSidebar(ctx, versionSegs, tabsPresent, asSlug(slug))
|
|
2329
2333
|
};
|
|
2334
|
+
markWithinScopeCanonicalSlugs(node);
|
|
2330
2335
|
if (node.default) {
|
|
2331
2336
|
markDefaultVersionCanonicalSlugs(node, productPrefix != null ? asSlug(productPrefix) : rootSlug, node.slug);
|
|
2332
2337
|
}
|
|
@@ -2437,6 +2442,34 @@ function buildLandingPage(ctx, scopeSegs) {
|
|
|
2437
2442
|
landingSegment?.nav.find((route) => route.type === "markdown")
|
|
2438
2443
|
);
|
|
2439
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 + "/")) {
|
|
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
|
+
}
|
|
2440
2473
|
function markCrossVersionCanonicalSlugs(versionNodes) {
|
|
2441
2474
|
const keyToCanonical = /* @__PURE__ */ new Map();
|
|
2442
2475
|
const sorted = [...versionNodes].sort((a, b) => {
|
|
@@ -2453,6 +2486,9 @@ function markCrossVersionCanonicalSlugs(versionNodes) {
|
|
|
2453
2486
|
for (const key of keys) {
|
|
2454
2487
|
const canonical = keyToCanonical.get(key);
|
|
2455
2488
|
if (canonical != null && !version.default) {
|
|
2489
|
+
if (child.slug.startsWith(canonical + "/")) {
|
|
2490
|
+
continue;
|
|
2491
|
+
}
|
|
2456
2492
|
child.canonicalSlug = canonical;
|
|
2457
2493
|
matched = true;
|
|
2458
2494
|
break;
|
|
@@ -2530,11 +2566,14 @@ function markCrossProductCanonicalSlugs(productNodes) {
|
|
|
2530
2566
|
return;
|
|
2531
2567
|
}
|
|
2532
2568
|
const key = `pid:${pid}`;
|
|
2533
|
-
const
|
|
2534
|
-
if (
|
|
2535
|
-
child.canonicalSlug =
|
|
2536
|
-
} else if (
|
|
2537
|
-
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
|
+
});
|
|
2538
2577
|
}
|
|
2539
2578
|
}
|
|
2540
2579
|
});
|