@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.
@@ -15925,6 +15925,8 @@ __export(utils_exports, {
15925
15925
  collectPageIds: () => collectPageIds,
15926
15926
  createBreadcrumb: () => createBreadcrumb,
15927
15927
  findNode: () => findNode,
15928
+ followRedirect: () => followRedirect2,
15929
+ followRedirects: () => followRedirects2,
15928
15930
  getApiReferenceId: () => getApiReferenceId,
15929
15931
  getEnclosingTabbedNode: () => getEnclosingTabbedNode,
15930
15932
  getNoIndexFromFrontmatter: () => getNoIndexFromFrontmatter,
@@ -16248,6 +16250,70 @@ function findFirstPageInNode(node) {
16248
16250
  return void 0;
16249
16251
  }
16250
16252
 
16253
+ // src/navigation/utils/followRedirect.ts
16254
+ var import_ts_essentials11 = require("ts-essentials");
16255
+ function followRedirect2(nodeToFollow) {
16256
+ if (nodeToFollow == null) {
16257
+ return void 0;
16258
+ }
16259
+ if (navigation_exports.isPage(nodeToFollow) && !nodeToFollow.authed) {
16260
+ return nodeToFollow.slug;
16261
+ }
16262
+ if (navigation_exports.isLeaf(nodeToFollow)) {
16263
+ return void 0;
16264
+ }
16265
+ switch (nodeToFollow.type) {
16266
+ /**
16267
+ * Versioned and ProductGroup nodes are special in that they have a default child.
16268
+ */
16269
+ case "productgroup":
16270
+ return followRedirect2(nodeToFollow.landingPage ?? void 0) ?? followRedirects2([...nodeToFollow.children].sort(defaultFirst));
16271
+ case "versioned":
16272
+ return followRedirects2([...nodeToFollow.children].sort(defaultFirst));
16273
+ case "apiReference":
16274
+ case "apiPackage":
16275
+ case "changelogMonth":
16276
+ // note: changelog month nodes don't exist yet as pages
16277
+ case "changelogYear":
16278
+ // note: changelog month nodes don't exist yet as pages
16279
+ case "endpointPair":
16280
+ case "product":
16281
+ case "productLink":
16282
+ case "root":
16283
+ case "section":
16284
+ case "sidebarRoot":
16285
+ case "sidebarGroup":
16286
+ case "tab":
16287
+ case "tabbed":
16288
+ case "unversioned":
16289
+ case "version":
16290
+ case "changelog":
16291
+ case "varianted":
16292
+ case "variant":
16293
+ return followRedirects2(navigation_exports.getChildren(nodeToFollow));
16294
+ default:
16295
+ throw new import_ts_essentials11.UnreachableCaseError(nodeToFollow);
16296
+ }
16297
+ }
16298
+ function followRedirects2(nodes) {
16299
+ for (const node of nodes) {
16300
+ if (navigation_exports.hasMetadata(node) && node.hidden) {
16301
+ continue;
16302
+ }
16303
+ const redirect = followRedirect2(node);
16304
+ if (redirect != null) {
16305
+ return redirect;
16306
+ }
16307
+ }
16308
+ return;
16309
+ }
16310
+ function rank(node) {
16311
+ return node.default && !node.hidden ? 1 : node.hidden ? -1 : 0;
16312
+ }
16313
+ function defaultFirst(a, b) {
16314
+ return rank(b) - rank(a);
16315
+ }
16316
+
16251
16317
  // src/navigation/utils/getApiReferenceId.ts
16252
16318
  var RETURN_UNDEFINED3 = () => void 0;
16253
16319
  var RETURN_API_DEFINITION_ID = (node) => node.apiDefinitionId;
@@ -16314,70 +16380,6 @@ function toPages(docs2) {
16314
16380
  return (0, import_object5.mapValues)(docs2.definition.pages, (page) => page?.markdown);
16315
16381
  }
16316
16382
 
16317
- // src/navigation/utils/followRedirect.ts
16318
- var import_ts_essentials11 = require("ts-essentials");
16319
- function followRedirect2(nodeToFollow) {
16320
- if (nodeToFollow == null) {
16321
- return void 0;
16322
- }
16323
- if (navigation_exports.isPage(nodeToFollow) && !nodeToFollow.authed) {
16324
- return nodeToFollow.slug;
16325
- }
16326
- if (navigation_exports.isLeaf(nodeToFollow)) {
16327
- return void 0;
16328
- }
16329
- switch (nodeToFollow.type) {
16330
- /**
16331
- * Versioned and ProductGroup nodes are special in that they have a default child.
16332
- */
16333
- case "productgroup":
16334
- return followRedirect2(nodeToFollow.landingPage ?? void 0) ?? followRedirects2([...nodeToFollow.children].sort(defaultFirst));
16335
- case "versioned":
16336
- return followRedirects2([...nodeToFollow.children].sort(defaultFirst));
16337
- case "apiReference":
16338
- case "apiPackage":
16339
- case "changelogMonth":
16340
- // note: changelog month nodes don't exist yet as pages
16341
- case "changelogYear":
16342
- // note: changelog month nodes don't exist yet as pages
16343
- case "endpointPair":
16344
- case "product":
16345
- case "productLink":
16346
- case "root":
16347
- case "section":
16348
- case "sidebarRoot":
16349
- case "sidebarGroup":
16350
- case "tab":
16351
- case "tabbed":
16352
- case "unversioned":
16353
- case "version":
16354
- case "changelog":
16355
- case "varianted":
16356
- case "variant":
16357
- return followRedirects2(navigation_exports.getChildren(nodeToFollow));
16358
- default:
16359
- throw new import_ts_essentials11.UnreachableCaseError(nodeToFollow);
16360
- }
16361
- }
16362
- function followRedirects2(nodes) {
16363
- for (const node of nodes) {
16364
- if (navigation_exports.hasMetadata(node) && node.hidden) {
16365
- continue;
16366
- }
16367
- const redirect = followRedirect2(node);
16368
- if (redirect != null) {
16369
- return redirect;
16370
- }
16371
- }
16372
- return;
16373
- }
16374
- function rank(node) {
16375
- return node.default && !node.hidden ? 1 : node.hidden ? -1 : 0;
16376
- }
16377
- function defaultFirst(a, b) {
16378
- return rank(b) - rank(a);
16379
- }
16380
-
16381
16383
  // src/navigation/utils/updatePointsTo.ts
16382
16384
  function mutableUpdatePointsTo(input) {
16383
16385
  const collector = NodeCollector.collect(input);