@fern-api/fdr-sdk 1.2.96-133bf6a1f0 → 1.2.96-8e5f0d55dd

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.
@@ -13170,6 +13170,9 @@ var NodeIdGenerator = class {
13170
13170
  function isScopedTo(slug, prefix) {
13171
13171
  return prefix.length > 0 && (slug === prefix || slug.startsWith(`${prefix}/`));
13172
13172
  }
13173
+ function isNestedUnder(slug, prefix) {
13174
+ return prefix.length > 0 && slug.startsWith(`${prefix}/`);
13175
+ }
13173
13176
  var SlugGenerator = class _SlugGenerator {
13174
13177
  constructor(baseSlug, productSlug, versionSlug, slug) {
13175
13178
  this.baseSlug = baseSlug;
@@ -13240,7 +13243,8 @@ var SlugGenerator = class _SlugGenerator {
13240
13243
  }
13241
13244
  return fullSlug;
13242
13245
  };
13243
- const relativeProductSlug = this.productSlug != null && this.baseSlug.length > 0 && isScopedTo(this.productSlug, this.baseSlug) ? this.productSlug.substring(this.baseSlug.length + 1) : this.productSlug;
13246
+ const relativeProductSlug = this.relativeToBase(this.productSlug);
13247
+ const relativeVersionSlug = this.relativeToBase(this.versionSlug);
13244
13248
  if (this.productSlug != null && this.versionSlug != null) {
13245
13249
  if (slug.startsWith(this.productSlug)) {
13246
13250
  const remaining = getRemainingAfterProduct(slug);
@@ -13250,6 +13254,9 @@ var SlugGenerator = class _SlugGenerator {
13250
13254
  const remaining = getRemainingAfterBase(slug);
13251
13255
  return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, remaining));
13252
13256
  }
13257
+ if (relativeVersionSlug != null && isScopedTo(slug, relativeVersionSlug)) {
13258
+ return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
13259
+ }
13253
13260
  if (relativeProductSlug != null && isScopedTo(slug, relativeProductSlug)) {
13254
13261
  const remaining = slug.substring(relativeProductSlug.length);
13255
13262
  return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, remaining));
@@ -13263,6 +13270,9 @@ var SlugGenerator = class _SlugGenerator {
13263
13270
  if (this.baseSlug.length > 0 && slug.startsWith(this.baseSlug)) {
13264
13271
  return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, getRemainingAfterBase(slug)));
13265
13272
  }
13273
+ if (relativeVersionSlug != null && isScopedTo(slug, relativeVersionSlug)) {
13274
+ return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
13275
+ }
13266
13276
  return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, slug));
13267
13277
  }
13268
13278
  if (this.productSlug != null) {
@@ -13296,8 +13306,25 @@ var SlugGenerator = class _SlugGenerator {
13296
13306
  if (fullSlug != null) {
13297
13307
  return this.set(fullSlug.join("/"));
13298
13308
  }
13309
+ if (this.slug === this.scopeSlug && isNestedUnder(navigation_exports.V1.slugjoin(urlSlug), this.relativeScopeSlug)) {
13310
+ return this.set(urlSlug);
13311
+ }
13299
13312
  return this.append(urlSlug);
13300
13313
  }
13314
+ /** The product/version prefix that child slugs hang off of. */
13315
+ get scopeSlug() {
13316
+ return this.versionSlug ?? this.productSlug ?? this.baseSlug;
13317
+ }
13318
+ /** {@link scopeSlug} as authored in the config, i.e. without the basepath. */
13319
+ get relativeScopeSlug() {
13320
+ return this.relativeToBase(this.scopeSlug);
13321
+ }
13322
+ relativeToBase(slug) {
13323
+ if (slug == null || this.baseSlug.length === 0 || !isScopedTo(slug, this.baseSlug)) {
13324
+ return slug;
13325
+ }
13326
+ return slug.substring(this.baseSlug.length + 1);
13327
+ }
13301
13328
  };
13302
13329
 
13303
13330
  // src/navigation/versions/v1/converters/ApiReferenceNavigationConverter.ts