@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.
@@ -15886,6 +15886,8 @@ __export(utils_exports, {
15886
15886
  collectPageIds: () => collectPageIds,
15887
15887
  createBreadcrumb: () => createBreadcrumb,
15888
15888
  findNode: () => findNode,
15889
+ followRedirect: () => followRedirect2,
15890
+ followRedirects: () => followRedirects2,
15889
15891
  getApiReferenceId: () => getApiReferenceId,
15890
15892
  getEnclosingTabbedNode: () => getEnclosingTabbedNode,
15891
15893
  getNoIndexFromFrontmatter: () => getNoIndexFromFrontmatter,
@@ -16209,6 +16211,70 @@ function findFirstPageInNode(node) {
16209
16211
  return void 0;
16210
16212
  }
16211
16213
 
16214
+ // src/navigation/utils/followRedirect.ts
16215
+ import { UnreachableCaseError as UnreachableCaseError6 } from "ts-essentials";
16216
+ function followRedirect2(nodeToFollow) {
16217
+ if (nodeToFollow == null) {
16218
+ return void 0;
16219
+ }
16220
+ if (navigation_exports.isPage(nodeToFollow) && !nodeToFollow.authed) {
16221
+ return nodeToFollow.slug;
16222
+ }
16223
+ if (navigation_exports.isLeaf(nodeToFollow)) {
16224
+ return void 0;
16225
+ }
16226
+ switch (nodeToFollow.type) {
16227
+ /**
16228
+ * Versioned and ProductGroup nodes are special in that they have a default child.
16229
+ */
16230
+ case "productgroup":
16231
+ return followRedirect2(nodeToFollow.landingPage ?? void 0) ?? followRedirects2([...nodeToFollow.children].sort(defaultFirst));
16232
+ case "versioned":
16233
+ return followRedirects2([...nodeToFollow.children].sort(defaultFirst));
16234
+ case "apiReference":
16235
+ case "apiPackage":
16236
+ case "changelogMonth":
16237
+ // note: changelog month nodes don't exist yet as pages
16238
+ case "changelogYear":
16239
+ // note: changelog month nodes don't exist yet as pages
16240
+ case "endpointPair":
16241
+ case "product":
16242
+ case "productLink":
16243
+ case "root":
16244
+ case "section":
16245
+ case "sidebarRoot":
16246
+ case "sidebarGroup":
16247
+ case "tab":
16248
+ case "tabbed":
16249
+ case "unversioned":
16250
+ case "version":
16251
+ case "changelog":
16252
+ case "varianted":
16253
+ case "variant":
16254
+ return followRedirects2(navigation_exports.getChildren(nodeToFollow));
16255
+ default:
16256
+ throw new UnreachableCaseError6(nodeToFollow);
16257
+ }
16258
+ }
16259
+ function followRedirects2(nodes) {
16260
+ for (const node of nodes) {
16261
+ if (navigation_exports.hasMetadata(node) && node.hidden) {
16262
+ continue;
16263
+ }
16264
+ const redirect = followRedirect2(node);
16265
+ if (redirect != null) {
16266
+ return redirect;
16267
+ }
16268
+ }
16269
+ return;
16270
+ }
16271
+ function rank(node) {
16272
+ return node.default && !node.hidden ? 1 : node.hidden ? -1 : 0;
16273
+ }
16274
+ function defaultFirst(a, b) {
16275
+ return rank(b) - rank(a);
16276
+ }
16277
+
16212
16278
  // src/navigation/utils/getApiReferenceId.ts
16213
16279
  var RETURN_UNDEFINED3 = () => void 0;
16214
16280
  var RETURN_API_DEFINITION_ID = (node) => node.apiDefinitionId;
@@ -16275,70 +16341,6 @@ function toPages(docs2) {
16275
16341
  return mapValues5(docs2.definition.pages, (page) => page?.markdown);
16276
16342
  }
16277
16343
 
16278
- // src/navigation/utils/followRedirect.ts
16279
- import { UnreachableCaseError as UnreachableCaseError6 } from "ts-essentials";
16280
- function followRedirect2(nodeToFollow) {
16281
- if (nodeToFollow == null) {
16282
- return void 0;
16283
- }
16284
- if (navigation_exports.isPage(nodeToFollow) && !nodeToFollow.authed) {
16285
- return nodeToFollow.slug;
16286
- }
16287
- if (navigation_exports.isLeaf(nodeToFollow)) {
16288
- return void 0;
16289
- }
16290
- switch (nodeToFollow.type) {
16291
- /**
16292
- * Versioned and ProductGroup nodes are special in that they have a default child.
16293
- */
16294
- case "productgroup":
16295
- return followRedirect2(nodeToFollow.landingPage ?? void 0) ?? followRedirects2([...nodeToFollow.children].sort(defaultFirst));
16296
- case "versioned":
16297
- return followRedirects2([...nodeToFollow.children].sort(defaultFirst));
16298
- case "apiReference":
16299
- case "apiPackage":
16300
- case "changelogMonth":
16301
- // note: changelog month nodes don't exist yet as pages
16302
- case "changelogYear":
16303
- // note: changelog month nodes don't exist yet as pages
16304
- case "endpointPair":
16305
- case "product":
16306
- case "productLink":
16307
- case "root":
16308
- case "section":
16309
- case "sidebarRoot":
16310
- case "sidebarGroup":
16311
- case "tab":
16312
- case "tabbed":
16313
- case "unversioned":
16314
- case "version":
16315
- case "changelog":
16316
- case "varianted":
16317
- case "variant":
16318
- return followRedirects2(navigation_exports.getChildren(nodeToFollow));
16319
- default:
16320
- throw new UnreachableCaseError6(nodeToFollow);
16321
- }
16322
- }
16323
- function followRedirects2(nodes) {
16324
- for (const node of nodes) {
16325
- if (navigation_exports.hasMetadata(node) && node.hidden) {
16326
- continue;
16327
- }
16328
- const redirect = followRedirect2(node);
16329
- if (redirect != null) {
16330
- return redirect;
16331
- }
16332
- }
16333
- return;
16334
- }
16335
- function rank(node) {
16336
- return node.default && !node.hidden ? 1 : node.hidden ? -1 : 0;
16337
- }
16338
- function defaultFirst(a, b) {
16339
- return rank(b) - rank(a);
16340
- }
16341
-
16342
16344
  // src/navigation/utils/updatePointsTo.ts
16343
16345
  function mutableUpdatePointsTo(input) {
16344
16346
  const collector = NodeCollector.collect(input);