@fern-api/fdr-sdk 1.2.78-edf564e509 → 1.2.80-06ea5f3a9e

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.
Files changed (68) hide show
  1. package/dist/js/client/FdrClient.js +12 -3
  2. package/dist/js/client/FdrClient.js.map +1 -1
  3. package/dist/js/client/FdrClient.mjs +12 -3
  4. package/dist/js/client/FdrClient.mjs.map +1 -1
  5. package/dist/js/converters/index.js +39 -25
  6. package/dist/js/converters/index.js.map +1 -1
  7. package/dist/js/converters/index.mjs +39 -25
  8. package/dist/js/converters/index.mjs.map +1 -1
  9. package/dist/js/index.js +51 -28
  10. package/dist/js/index.js.map +1 -1
  11. package/dist/js/index.mjs +51 -28
  12. package/dist/js/index.mjs.map +1 -1
  13. package/dist/js/navigation/index.js +39 -25
  14. package/dist/js/navigation/index.js.map +1 -1
  15. package/dist/js/navigation/index.mjs +39 -25
  16. package/dist/js/navigation/index.mjs.map +1 -1
  17. package/dist/js/navigation/ledger-root-builder.js +28 -5
  18. package/dist/js/navigation/ledger-root-builder.js.map +1 -1
  19. package/dist/js/navigation/ledger-root-builder.mjs +28 -5
  20. package/dist/js/navigation/ledger-root-builder.mjs.map +1 -1
  21. package/dist/js/orpc-client.js +12 -3
  22. package/dist/js/orpc-client.js.map +1 -1
  23. package/dist/js/orpc-client.mjs +12 -3
  24. package/dist/js/orpc-client.mjs.map +1 -1
  25. package/dist/navigation/__test__/ledger-root-builder.playgroundPreservation.test.d.ts +2 -0
  26. package/dist/navigation/__test__/ledger-root-builder.playgroundPreservation.test.d.ts.map +1 -0
  27. package/dist/navigation/__test__/ledger-root-builder.playgroundPreservation.test.js +154 -0
  28. package/dist/navigation/__test__/ledger-root-builder.playgroundPreservation.test.js.map +1 -0
  29. package/dist/navigation/ledger-root-builder.d.ts.map +1 -1
  30. package/dist/navigation/ledger-root-builder.js +40 -5
  31. package/dist/navigation/ledger-root-builder.js.map +1 -1
  32. package/dist/navigation/utils/__test__/resolveCurrentTab.test.d.ts +2 -0
  33. package/dist/navigation/utils/__test__/resolveCurrentTab.test.d.ts.map +1 -0
  34. package/dist/navigation/utils/__test__/resolveCurrentTab.test.js +70 -0
  35. package/dist/navigation/utils/__test__/resolveCurrentTab.test.js.map +1 -0
  36. package/dist/navigation/utils/findNode.d.ts.map +1 -1
  37. package/dist/navigation/utils/findNode.js +3 -30
  38. package/dist/navigation/utils/findNode.js.map +1 -1
  39. package/dist/navigation/utils/index.d.ts +1 -0
  40. package/dist/navigation/utils/index.d.ts.map +1 -1
  41. package/dist/navigation/utils/index.js +1 -0
  42. package/dist/navigation/utils/index.js.map +1 -1
  43. package/dist/navigation/utils/resolveCurrentTab.d.ts +26 -0
  44. package/dist/navigation/utils/resolveCurrentTab.d.ts.map +1 -0
  45. package/dist/navigation/utils/resolveCurrentTab.js +60 -0
  46. package/dist/navigation/utils/resolveCurrentTab.js.map +1 -0
  47. package/dist/orpc-client/docs-ledger/contract.d.ts +4591 -0
  48. package/dist/orpc-client/docs-ledger/contract.d.ts.map +1 -1
  49. package/dist/orpc-client/docs-ledger/contract.js +16 -3
  50. package/dist/orpc-client/docs-ledger/contract.js.map +1 -1
  51. package/dist/orpc-client/docs-ledger/ledger-manifest.d.ts +6584 -0
  52. package/dist/orpc-client/docs-ledger/ledger-manifest.d.ts.map +1 -1
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/dist/types/navigation/__test__/ledger-root-builder.playgroundPreservation.test.d.ts +2 -0
  55. package/dist/types/navigation/__test__/ledger-root-builder.playgroundPreservation.test.d.ts.map +1 -0
  56. package/dist/types/navigation/ledger-root-builder.d.ts.map +1 -1
  57. package/dist/types/navigation/utils/__test__/resolveCurrentTab.test.d.ts +2 -0
  58. package/dist/types/navigation/utils/__test__/resolveCurrentTab.test.d.ts.map +1 -0
  59. package/dist/types/navigation/utils/findNode.d.ts.map +1 -1
  60. package/dist/types/navigation/utils/index.d.ts +1 -0
  61. package/dist/types/navigation/utils/index.d.ts.map +1 -1
  62. package/dist/types/navigation/utils/resolveCurrentTab.d.ts +26 -0
  63. package/dist/types/navigation/utils/resolveCurrentTab.d.ts.map +1 -0
  64. package/dist/types/orpc-client/docs-ledger/contract.d.ts +4591 -0
  65. package/dist/types/orpc-client/docs-ledger/contract.d.ts.map +1 -1
  66. package/dist/types/orpc-client/docs-ledger/ledger-manifest.d.ts +6584 -0
  67. package/dist/types/orpc-client/docs-ledger/ledger-manifest.d.ts.map +1 -1
  68. package/package.json +1 -1
@@ -15704,8 +15704,10 @@ __export(utils_exports, {
15704
15704
  createBreadcrumb: () => createBreadcrumb,
15705
15705
  findNode: () => findNode,
15706
15706
  getApiReferenceId: () => getApiReferenceId,
15707
+ getEnclosingTabbedNode: () => getEnclosingTabbedNode,
15707
15708
  getNoIndexFromFrontmatter: () => getNoIndexFromFrontmatter,
15708
15709
  mutableUpdatePointsTo: () => mutableUpdatePointsTo,
15710
+ resolveCurrentTab: () => resolveCurrentTab,
15709
15711
  stripSyntheticSegments: () => stripSyntheticSegments,
15710
15712
  toApis: () => toApis,
15711
15713
  toPages: () => toPages,
@@ -15851,6 +15853,41 @@ function createBreadcrumb(nodes) {
15851
15853
 
15852
15854
  // src/navigation/utils/findNode.ts
15853
15855
  var import_string6 = require("es-toolkit/string");
15856
+
15857
+ // src/navigation/utils/resolveCurrentTab.ts
15858
+ var isHeaderTab = (child) => child.type === "tab" || child.type === "changelog";
15859
+ function getEnclosingTabbedNode(parents) {
15860
+ const versionChild = (parents.find(isVersionNode) ?? parents.find(isUnversionedNode))?.child;
15861
+ return parents.find(isTabbedNode) ?? (versionChild != null && isTabbedNode(versionChild) ? versionChild : void 0);
15862
+ }
15863
+ function resolveCurrentTab(node, parents) {
15864
+ const tabbedNode = getEnclosingTabbedNode(parents);
15865
+ if (tabbedNode == null) {
15866
+ return void 0;
15867
+ }
15868
+ const parentsAndNode = [...parents, node];
15869
+ const tabbedNodeIndex = parentsAndNode.indexOf(tabbedNode);
15870
+ const currentTabNode = tabbedNodeIndex !== -1 ? parentsAndNode[tabbedNodeIndex + 1] : void 0;
15871
+ let currentTab = currentTabNode?.type === "tab" || currentTabNode?.type === "changelog" ? currentTabNode : void 0;
15872
+ if (currentTab == null) {
15873
+ for (const tab of tabbedNode.children) {
15874
+ if (tab.type === "tab" && tab.pointsTo === node.slug) {
15875
+ currentTab = tab;
15876
+ break;
15877
+ }
15878
+ if (tab.type === "changelog" && tab.slug === node.slug) {
15879
+ currentTab = tab;
15880
+ break;
15881
+ }
15882
+ }
15883
+ if (currentTab == null && node.type === "landingPage") {
15884
+ currentTab = tabbedNode.children.find(isHeaderTab);
15885
+ }
15886
+ }
15887
+ return currentTab;
15888
+ }
15889
+
15890
+ // src/navigation/utils/findNode.ts
15854
15891
  function findNode(root, slug) {
15855
15892
  const collector = NodeCollector.collect(root);
15856
15893
  const found = collector.getSlugMapWithParents().get(canonicalSlugKey(slug));
@@ -15884,7 +15921,6 @@ function findNode(root, slug) {
15884
15921
  const currentProduct = found.parents.find(isProductNode);
15885
15922
  const currentVersion = found.parents.find(isVersionNode);
15886
15923
  const unversionedNode = found.parents.find(isUnversionedNode);
15887
- const versionChild = (currentVersion ?? unversionedNode)?.child;
15888
15924
  const currentVariant = found.parents.find(isVariantNode);
15889
15925
  if (!sidebar && currentVersion != null) {
15890
15926
  if (isSidebarRootNode(currentVersion.child)) {
@@ -15892,13 +15928,9 @@ function findNode(root, slug) {
15892
15928
  }
15893
15929
  }
15894
15930
  const landingPage = (currentProductGroup ?? currentVersion ?? unversionedNode)?.landingPage;
15895
- const tabbedNode = found.parents.find(isTabbedNode) ?? // fallback to the version child because the current node may be a landing page
15896
- (versionChild != null && isTabbedNode(versionChild) ? versionChild : void 0);
15931
+ const tabbedNode = getEnclosingTabbedNode(found.parents);
15897
15932
  const apiReference = found.parents.find(isApiReferenceNode) ?? (found.node.type === "apiReference" ? found.node : void 0);
15898
15933
  if (navigation_exports.isPage(found.node)) {
15899
- const parentsAndNode = [...found.parents, found.node];
15900
- const tabbedNodeIndex = parentsAndNode.findIndex((node) => node === tabbedNode);
15901
- const currentTabNode = tabbedNodeIndex !== -1 ? parentsAndNode[tabbedNodeIndex + 1] : void 0;
15902
15934
  const products = collector.getProductNodes().map((node) => {
15903
15935
  if (node.default) {
15904
15936
  if (node.id === currentProduct?.id) {
@@ -15926,25 +15958,7 @@ function findNode(root, slug) {
15926
15958
  }
15927
15959
  return node;
15928
15960
  });
15929
- let currentTab = currentTabNode?.type === "tab" || currentTabNode?.type === "changelog" ? currentTabNode : void 0;
15930
- if (currentTab == null && tabbedNode != null) {
15931
- for (const tab of tabbedNode.children) {
15932
- if (tab.type === "tab" && tab.pointsTo === found.node.slug) {
15933
- currentTab = tab;
15934
- break;
15935
- }
15936
- if (tab.type === "changelog" && tab.slug === found.node.slug) {
15937
- currentTab = tab;
15938
- break;
15939
- }
15940
- }
15941
- if (currentTab == null && found.node.type === "landingPage") {
15942
- const firstTab = tabbedNode.children.find((tab) => tab.type === "tab" || tab.type === "changelog");
15943
- if (firstTab != null && (firstTab.type === "tab" || firstTab.type === "changelog")) {
15944
- currentTab = firstTab;
15945
- }
15946
- }
15947
- }
15961
+ const currentTab = resolveCurrentTab(found.node, found.parents);
15948
15962
  const slugPrefix = currentVariant?.slug ?? (currentProduct?.type === "product" ? currentProduct.slug : void 0) ?? currentVersion?.slug ?? root.slug;
15949
15963
  const unversionedSlug = navigation_exports.Slug(
15950
15964
  found.node.slug.replace(new RegExp(`^${(0, import_string6.escapeRegExp)(slugPrefix)}/`), "")