@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.mjs CHANGED
@@ -17203,6 +17203,9 @@ var NodeIdGenerator = class {
17203
17203
  function isScopedTo(slug, prefix) {
17204
17204
  return prefix.length > 0 && (slug === prefix || slug.startsWith(`${prefix}/`));
17205
17205
  }
17206
+ function isNestedUnder(slug, prefix) {
17207
+ return prefix.length > 0 && slug.startsWith(`${prefix}/`);
17208
+ }
17206
17209
  var SlugGenerator = class _SlugGenerator {
17207
17210
  constructor(baseSlug, productSlug, versionSlug, slug) {
17208
17211
  this.baseSlug = baseSlug;
@@ -17273,7 +17276,8 @@ var SlugGenerator = class _SlugGenerator {
17273
17276
  }
17274
17277
  return fullSlug;
17275
17278
  };
17276
- const relativeProductSlug = this.productSlug != null && this.baseSlug.length > 0 && isScopedTo(this.productSlug, this.baseSlug) ? this.productSlug.substring(this.baseSlug.length + 1) : this.productSlug;
17279
+ const relativeProductSlug = this.relativeToBase(this.productSlug);
17280
+ const relativeVersionSlug = this.relativeToBase(this.versionSlug);
17277
17281
  if (this.productSlug != null && this.versionSlug != null) {
17278
17282
  if (slug.startsWith(this.productSlug)) {
17279
17283
  const remaining = getRemainingAfterProduct(slug);
@@ -17283,6 +17287,9 @@ var SlugGenerator = class _SlugGenerator {
17283
17287
  const remaining = getRemainingAfterBase(slug);
17284
17288
  return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, remaining));
17285
17289
  }
17290
+ if (relativeVersionSlug != null && isScopedTo(slug, relativeVersionSlug)) {
17291
+ return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
17292
+ }
17286
17293
  if (relativeProductSlug != null && isScopedTo(slug, relativeProductSlug)) {
17287
17294
  const remaining = slug.substring(relativeProductSlug.length);
17288
17295
  return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, remaining));
@@ -17296,6 +17303,9 @@ var SlugGenerator = class _SlugGenerator {
17296
17303
  if (this.baseSlug.length > 0 && slug.startsWith(this.baseSlug)) {
17297
17304
  return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, getRemainingAfterBase(slug)));
17298
17305
  }
17306
+ if (relativeVersionSlug != null && isScopedTo(slug, relativeVersionSlug)) {
17307
+ return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
17308
+ }
17299
17309
  return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, slug));
17300
17310
  }
17301
17311
  if (this.productSlug != null) {
@@ -17329,8 +17339,25 @@ var SlugGenerator = class _SlugGenerator {
17329
17339
  if (fullSlug != null) {
17330
17340
  return this.set(fullSlug.join("/"));
17331
17341
  }
17342
+ if (this.slug === this.scopeSlug && isNestedUnder(navigation_exports.V1.slugjoin(urlSlug), this.relativeScopeSlug)) {
17343
+ return this.set(urlSlug);
17344
+ }
17332
17345
  return this.append(urlSlug);
17333
17346
  }
17347
+ /** The product/version prefix that child slugs hang off of. */
17348
+ get scopeSlug() {
17349
+ return this.versionSlug ?? this.productSlug ?? this.baseSlug;
17350
+ }
17351
+ /** {@link scopeSlug} as authored in the config, i.e. without the basepath. */
17352
+ get relativeScopeSlug() {
17353
+ return this.relativeToBase(this.scopeSlug);
17354
+ }
17355
+ relativeToBase(slug) {
17356
+ if (slug == null || this.baseSlug.length === 0 || !isScopedTo(slug, this.baseSlug)) {
17357
+ return slug;
17358
+ }
17359
+ return slug.substring(this.baseSlug.length + 1);
17360
+ }
17334
17361
  };
17335
17362
 
17336
17363
  // src/navigation/versions/v1/converters/ApiReferenceNavigationConverter.ts