@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.mjs CHANGED
@@ -19985,6 +19985,8 @@ __export(utils_exports, {
19985
19985
  collectPageIds: () => collectPageIds,
19986
19986
  createBreadcrumb: () => createBreadcrumb,
19987
19987
  findNode: () => findNode,
19988
+ followRedirect: () => followRedirect2,
19989
+ followRedirects: () => followRedirects2,
19988
19990
  getApiReferenceId: () => getApiReferenceId,
19989
19991
  getEnclosingTabbedNode: () => getEnclosingTabbedNode,
19990
19992
  getNoIndexFromFrontmatter: () => getNoIndexFromFrontmatter,
@@ -20308,6 +20310,70 @@ function findFirstPageInNode(node) {
20308
20310
  return void 0;
20309
20311
  }
20310
20312
 
20313
+ // src/navigation/utils/followRedirect.ts
20314
+ import { UnreachableCaseError as UnreachableCaseError6 } from "ts-essentials";
20315
+ function followRedirect2(nodeToFollow) {
20316
+ if (nodeToFollow == null) {
20317
+ return void 0;
20318
+ }
20319
+ if (navigation_exports.isPage(nodeToFollow) && !nodeToFollow.authed) {
20320
+ return nodeToFollow.slug;
20321
+ }
20322
+ if (navigation_exports.isLeaf(nodeToFollow)) {
20323
+ return void 0;
20324
+ }
20325
+ switch (nodeToFollow.type) {
20326
+ /**
20327
+ * Versioned and ProductGroup nodes are special in that they have a default child.
20328
+ */
20329
+ case "productgroup":
20330
+ return followRedirect2(nodeToFollow.landingPage ?? void 0) ?? followRedirects2([...nodeToFollow.children].sort(defaultFirst));
20331
+ case "versioned":
20332
+ return followRedirects2([...nodeToFollow.children].sort(defaultFirst));
20333
+ case "apiReference":
20334
+ case "apiPackage":
20335
+ case "changelogMonth":
20336
+ // note: changelog month nodes don't exist yet as pages
20337
+ case "changelogYear":
20338
+ // note: changelog month nodes don't exist yet as pages
20339
+ case "endpointPair":
20340
+ case "product":
20341
+ case "productLink":
20342
+ case "root":
20343
+ case "section":
20344
+ case "sidebarRoot":
20345
+ case "sidebarGroup":
20346
+ case "tab":
20347
+ case "tabbed":
20348
+ case "unversioned":
20349
+ case "version":
20350
+ case "changelog":
20351
+ case "varianted":
20352
+ case "variant":
20353
+ return followRedirects2(navigation_exports.getChildren(nodeToFollow));
20354
+ default:
20355
+ throw new UnreachableCaseError6(nodeToFollow);
20356
+ }
20357
+ }
20358
+ function followRedirects2(nodes) {
20359
+ for (const node of nodes) {
20360
+ if (navigation_exports.hasMetadata(node) && node.hidden) {
20361
+ continue;
20362
+ }
20363
+ const redirect = followRedirect2(node);
20364
+ if (redirect != null) {
20365
+ return redirect;
20366
+ }
20367
+ }
20368
+ return;
20369
+ }
20370
+ function rank(node) {
20371
+ return node.default && !node.hidden ? 1 : node.hidden ? -1 : 0;
20372
+ }
20373
+ function defaultFirst(a, b) {
20374
+ return rank(b) - rank(a);
20375
+ }
20376
+
20311
20377
  // src/navigation/utils/getApiReferenceId.ts
20312
20378
  var RETURN_UNDEFINED3 = () => void 0;
20313
20379
  var RETURN_API_DEFINITION_ID = (node) => node.apiDefinitionId;
@@ -20374,70 +20440,6 @@ function toPages(docs2) {
20374
20440
  return mapValues7(docs2.definition.pages, (page) => page?.markdown);
20375
20441
  }
20376
20442
 
20377
- // src/navigation/utils/followRedirect.ts
20378
- import { UnreachableCaseError as UnreachableCaseError6 } from "ts-essentials";
20379
- function followRedirect2(nodeToFollow) {
20380
- if (nodeToFollow == null) {
20381
- return void 0;
20382
- }
20383
- if (navigation_exports.isPage(nodeToFollow) && !nodeToFollow.authed) {
20384
- return nodeToFollow.slug;
20385
- }
20386
- if (navigation_exports.isLeaf(nodeToFollow)) {
20387
- return void 0;
20388
- }
20389
- switch (nodeToFollow.type) {
20390
- /**
20391
- * Versioned and ProductGroup nodes are special in that they have a default child.
20392
- */
20393
- case "productgroup":
20394
- return followRedirect2(nodeToFollow.landingPage ?? void 0) ?? followRedirects2([...nodeToFollow.children].sort(defaultFirst));
20395
- case "versioned":
20396
- return followRedirects2([...nodeToFollow.children].sort(defaultFirst));
20397
- case "apiReference":
20398
- case "apiPackage":
20399
- case "changelogMonth":
20400
- // note: changelog month nodes don't exist yet as pages
20401
- case "changelogYear":
20402
- // note: changelog month nodes don't exist yet as pages
20403
- case "endpointPair":
20404
- case "product":
20405
- case "productLink":
20406
- case "root":
20407
- case "section":
20408
- case "sidebarRoot":
20409
- case "sidebarGroup":
20410
- case "tab":
20411
- case "tabbed":
20412
- case "unversioned":
20413
- case "version":
20414
- case "changelog":
20415
- case "varianted":
20416
- case "variant":
20417
- return followRedirects2(navigation_exports.getChildren(nodeToFollow));
20418
- default:
20419
- throw new UnreachableCaseError6(nodeToFollow);
20420
- }
20421
- }
20422
- function followRedirects2(nodes) {
20423
- for (const node of nodes) {
20424
- if (navigation_exports.hasMetadata(node) && node.hidden) {
20425
- continue;
20426
- }
20427
- const redirect = followRedirect2(node);
20428
- if (redirect != null) {
20429
- return redirect;
20430
- }
20431
- }
20432
- return;
20433
- }
20434
- function rank(node) {
20435
- return node.default && !node.hidden ? 1 : node.hidden ? -1 : 0;
20436
- }
20437
- function defaultFirst(a, b) {
20438
- return rank(b) - rank(a);
20439
- }
20440
-
20441
20443
  // src/navigation/utils/updatePointsTo.ts
20442
20444
  function mutableUpdatePointsTo(input) {
20443
20445
  const collector = NodeCollector.collect(input);