@fern-api/fdr-sdk 1.2.103-f004fc2c21 → 1.2.104-0f39130935

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/js/index.js CHANGED
@@ -20048,6 +20048,8 @@ __export(utils_exports, {
20048
20048
  collectPageIds: () => collectPageIds,
20049
20049
  createBreadcrumb: () => createBreadcrumb,
20050
20050
  findNode: () => findNode,
20051
+ followRedirect: () => followRedirect2,
20052
+ followRedirects: () => followRedirects2,
20051
20053
  getApiReferenceId: () => getApiReferenceId,
20052
20054
  getEnclosingTabbedNode: () => getEnclosingTabbedNode,
20053
20055
  getNoIndexFromFrontmatter: () => getNoIndexFromFrontmatter,
@@ -20371,6 +20373,70 @@ function findFirstPageInNode(node) {
20371
20373
  return void 0;
20372
20374
  }
20373
20375
 
20376
+ // src/navigation/utils/followRedirect.ts
20377
+ var import_ts_essentials11 = require("ts-essentials");
20378
+ function followRedirect2(nodeToFollow) {
20379
+ if (nodeToFollow == null) {
20380
+ return void 0;
20381
+ }
20382
+ if (navigation_exports.isPage(nodeToFollow) && !nodeToFollow.authed) {
20383
+ return nodeToFollow.slug;
20384
+ }
20385
+ if (navigation_exports.isLeaf(nodeToFollow)) {
20386
+ return void 0;
20387
+ }
20388
+ switch (nodeToFollow.type) {
20389
+ /**
20390
+ * Versioned and ProductGroup nodes are special in that they have a default child.
20391
+ */
20392
+ case "productgroup":
20393
+ return followRedirect2(nodeToFollow.landingPage ?? void 0) ?? followRedirects2([...nodeToFollow.children].sort(defaultFirst));
20394
+ case "versioned":
20395
+ return followRedirects2([...nodeToFollow.children].sort(defaultFirst));
20396
+ case "apiReference":
20397
+ case "apiPackage":
20398
+ case "changelogMonth":
20399
+ // note: changelog month nodes don't exist yet as pages
20400
+ case "changelogYear":
20401
+ // note: changelog month nodes don't exist yet as pages
20402
+ case "endpointPair":
20403
+ case "product":
20404
+ case "productLink":
20405
+ case "root":
20406
+ case "section":
20407
+ case "sidebarRoot":
20408
+ case "sidebarGroup":
20409
+ case "tab":
20410
+ case "tabbed":
20411
+ case "unversioned":
20412
+ case "version":
20413
+ case "changelog":
20414
+ case "varianted":
20415
+ case "variant":
20416
+ return followRedirects2(navigation_exports.getChildren(nodeToFollow));
20417
+ default:
20418
+ throw new import_ts_essentials11.UnreachableCaseError(nodeToFollow);
20419
+ }
20420
+ }
20421
+ function followRedirects2(nodes) {
20422
+ for (const node of nodes) {
20423
+ if (navigation_exports.hasMetadata(node) && node.hidden) {
20424
+ continue;
20425
+ }
20426
+ const redirect = followRedirect2(node);
20427
+ if (redirect != null) {
20428
+ return redirect;
20429
+ }
20430
+ }
20431
+ return;
20432
+ }
20433
+ function rank(node) {
20434
+ return node.default && !node.hidden ? 1 : node.hidden ? -1 : 0;
20435
+ }
20436
+ function defaultFirst(a, b) {
20437
+ return rank(b) - rank(a);
20438
+ }
20439
+
20374
20440
  // src/navigation/utils/getApiReferenceId.ts
20375
20441
  var RETURN_UNDEFINED3 = () => void 0;
20376
20442
  var RETURN_API_DEFINITION_ID = (node) => node.apiDefinitionId;
@@ -20437,70 +20503,6 @@ function toPages(docs2) {
20437
20503
  return (0, import_object7.mapValues)(docs2.definition.pages, (page) => page?.markdown);
20438
20504
  }
20439
20505
 
20440
- // src/navigation/utils/followRedirect.ts
20441
- var import_ts_essentials11 = require("ts-essentials");
20442
- function followRedirect2(nodeToFollow) {
20443
- if (nodeToFollow == null) {
20444
- return void 0;
20445
- }
20446
- if (navigation_exports.isPage(nodeToFollow) && !nodeToFollow.authed) {
20447
- return nodeToFollow.slug;
20448
- }
20449
- if (navigation_exports.isLeaf(nodeToFollow)) {
20450
- return void 0;
20451
- }
20452
- switch (nodeToFollow.type) {
20453
- /**
20454
- * Versioned and ProductGroup nodes are special in that they have a default child.
20455
- */
20456
- case "productgroup":
20457
- return followRedirect2(nodeToFollow.landingPage ?? void 0) ?? followRedirects2([...nodeToFollow.children].sort(defaultFirst));
20458
- case "versioned":
20459
- return followRedirects2([...nodeToFollow.children].sort(defaultFirst));
20460
- case "apiReference":
20461
- case "apiPackage":
20462
- case "changelogMonth":
20463
- // note: changelog month nodes don't exist yet as pages
20464
- case "changelogYear":
20465
- // note: changelog month nodes don't exist yet as pages
20466
- case "endpointPair":
20467
- case "product":
20468
- case "productLink":
20469
- case "root":
20470
- case "section":
20471
- case "sidebarRoot":
20472
- case "sidebarGroup":
20473
- case "tab":
20474
- case "tabbed":
20475
- case "unversioned":
20476
- case "version":
20477
- case "changelog":
20478
- case "varianted":
20479
- case "variant":
20480
- return followRedirects2(navigation_exports.getChildren(nodeToFollow));
20481
- default:
20482
- throw new import_ts_essentials11.UnreachableCaseError(nodeToFollow);
20483
- }
20484
- }
20485
- function followRedirects2(nodes) {
20486
- for (const node of nodes) {
20487
- if (navigation_exports.hasMetadata(node) && node.hidden) {
20488
- continue;
20489
- }
20490
- const redirect = followRedirect2(node);
20491
- if (redirect != null) {
20492
- return redirect;
20493
- }
20494
- }
20495
- return;
20496
- }
20497
- function rank(node) {
20498
- return node.default && !node.hidden ? 1 : node.hidden ? -1 : 0;
20499
- }
20500
- function defaultFirst(a, b) {
20501
- return rank(b) - rank(a);
20502
- }
20503
-
20504
20506
  // src/navigation/utils/updatePointsTo.ts
20505
20507
  function mutableUpdatePointsTo(input) {
20506
20508
  const collector = NodeCollector.collect(input);