@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.
package/dist/js/index.js CHANGED
@@ -17266,6 +17266,9 @@ var NodeIdGenerator = class {
17266
17266
  function isScopedTo(slug, prefix) {
17267
17267
  return prefix.length > 0 && (slug === prefix || slug.startsWith(`${prefix}/`));
17268
17268
  }
17269
+ function isNestedUnder(slug, prefix) {
17270
+ return prefix.length > 0 && slug.startsWith(`${prefix}/`);
17271
+ }
17269
17272
  var SlugGenerator = class _SlugGenerator {
17270
17273
  constructor(baseSlug, productSlug, versionSlug, slug) {
17271
17274
  this.baseSlug = baseSlug;
@@ -17336,7 +17339,8 @@ var SlugGenerator = class _SlugGenerator {
17336
17339
  }
17337
17340
  return fullSlug;
17338
17341
  };
17339
- const relativeProductSlug = this.productSlug != null && this.baseSlug.length > 0 && isScopedTo(this.productSlug, this.baseSlug) ? this.productSlug.substring(this.baseSlug.length + 1) : this.productSlug;
17342
+ const relativeProductSlug = this.relativeToBase(this.productSlug);
17343
+ const relativeVersionSlug = this.relativeToBase(this.versionSlug);
17340
17344
  if (this.productSlug != null && this.versionSlug != null) {
17341
17345
  if (slug.startsWith(this.productSlug)) {
17342
17346
  const remaining = getRemainingAfterProduct(slug);
@@ -17346,6 +17350,9 @@ var SlugGenerator = class _SlugGenerator {
17346
17350
  const remaining = getRemainingAfterBase(slug);
17347
17351
  return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, remaining));
17348
17352
  }
17353
+ if (relativeVersionSlug != null && isScopedTo(slug, relativeVersionSlug)) {
17354
+ return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
17355
+ }
17349
17356
  if (relativeProductSlug != null && isScopedTo(slug, relativeProductSlug)) {
17350
17357
  const remaining = slug.substring(relativeProductSlug.length);
17351
17358
  return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, remaining));
@@ -17359,6 +17366,9 @@ var SlugGenerator = class _SlugGenerator {
17359
17366
  if (this.baseSlug.length > 0 && slug.startsWith(this.baseSlug)) {
17360
17367
  return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, getRemainingAfterBase(slug)));
17361
17368
  }
17369
+ if (relativeVersionSlug != null && isScopedTo(slug, relativeVersionSlug)) {
17370
+ return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
17371
+ }
17362
17372
  return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, slug));
17363
17373
  }
17364
17374
  if (this.productSlug != null) {
@@ -17392,8 +17402,25 @@ var SlugGenerator = class _SlugGenerator {
17392
17402
  if (fullSlug != null) {
17393
17403
  return this.set(fullSlug.join("/"));
17394
17404
  }
17405
+ if (this.slug === this.scopeSlug && isNestedUnder(navigation_exports.V1.slugjoin(urlSlug), this.relativeScopeSlug)) {
17406
+ return this.set(urlSlug);
17407
+ }
17395
17408
  return this.append(urlSlug);
17396
17409
  }
17410
+ /** The product/version prefix that child slugs hang off of. */
17411
+ get scopeSlug() {
17412
+ return this.versionSlug ?? this.productSlug ?? this.baseSlug;
17413
+ }
17414
+ /** {@link scopeSlug} as authored in the config, i.e. without the basepath. */
17415
+ get relativeScopeSlug() {
17416
+ return this.relativeToBase(this.scopeSlug);
17417
+ }
17418
+ relativeToBase(slug) {
17419
+ if (slug == null || this.baseSlug.length === 0 || !isScopedTo(slug, this.baseSlug)) {
17420
+ return slug;
17421
+ }
17422
+ return slug.substring(this.baseSlug.length + 1);
17423
+ }
17397
17424
  };
17398
17425
 
17399
17426
  // src/navigation/versions/v1/converters/ApiReferenceNavigationConverter.ts