@fern-api/fdr-sdk 1.2.96-b1b20d1d34 → 1.2.97-401342676c
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/converters/index.js +38 -0
- package/dist/js/converters/index.js.map +1 -1
- package/dist/js/converters/index.mjs +38 -0
- package/dist/js/converters/index.mjs.map +1 -1
- package/dist/js/index.js +38 -0
- package/dist/js/index.js.map +1 -1
- package/dist/js/index.mjs +38 -0
- package/dist/js/index.mjs.map +1 -1
- package/dist/js/navigation/index.js +38 -0
- package/dist/js/navigation/index.js.map +1 -1
- package/dist/js/navigation/index.mjs +38 -0
- package/dist/js/navigation/index.mjs.map +1 -1
- package/dist/types/navigation/versions/v1/converters/SlugGenerator.d.ts +5 -0
- package/dist/types/navigation/versions/v1/converters/SlugGenerator.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -13167,6 +13167,12 @@ var NodeIdGenerator = class {
|
|
|
13167
13167
|
};
|
|
13168
13168
|
|
|
13169
13169
|
// src/navigation/versions/v1/converters/SlugGenerator.ts
|
|
13170
|
+
function isScopedTo(slug, prefix) {
|
|
13171
|
+
return prefix.length > 0 && (slug === prefix || slug.startsWith(`${prefix}/`));
|
|
13172
|
+
}
|
|
13173
|
+
function isNestedUnder(slug, prefix) {
|
|
13174
|
+
return prefix.length > 0 && slug.startsWith(`${prefix}/`);
|
|
13175
|
+
}
|
|
13170
13176
|
var SlugGenerator = class _SlugGenerator {
|
|
13171
13177
|
constructor(baseSlug, productSlug, versionSlug, slug) {
|
|
13172
13178
|
this.baseSlug = baseSlug;
|
|
@@ -13237,6 +13243,8 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
13237
13243
|
}
|
|
13238
13244
|
return fullSlug;
|
|
13239
13245
|
};
|
|
13246
|
+
const relativeProductSlug = this.relativeToBase(this.productSlug);
|
|
13247
|
+
const relativeVersionSlug = this.relativeToBase(this.versionSlug);
|
|
13240
13248
|
if (this.productSlug != null && this.versionSlug != null) {
|
|
13241
13249
|
if (slug.startsWith(this.productSlug)) {
|
|
13242
13250
|
const remaining = getRemainingAfterProduct(slug);
|
|
@@ -13246,6 +13254,13 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
13246
13254
|
const remaining = getRemainingAfterBase(slug);
|
|
13247
13255
|
return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, remaining));
|
|
13248
13256
|
}
|
|
13257
|
+
if (relativeVersionSlug != null && isScopedTo(slug, relativeVersionSlug)) {
|
|
13258
|
+
return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
|
|
13259
|
+
}
|
|
13260
|
+
if (relativeProductSlug != null && isScopedTo(slug, relativeProductSlug)) {
|
|
13261
|
+
const remaining = slug.substring(relativeProductSlug.length);
|
|
13262
|
+
return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, remaining));
|
|
13263
|
+
}
|
|
13249
13264
|
return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, slug));
|
|
13250
13265
|
}
|
|
13251
13266
|
if (this.versionSlug != null) {
|
|
@@ -13255,6 +13270,9 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
13255
13270
|
if (this.baseSlug.length > 0 && slug.startsWith(this.baseSlug)) {
|
|
13256
13271
|
return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, getRemainingAfterBase(slug)));
|
|
13257
13272
|
}
|
|
13273
|
+
if (relativeVersionSlug != null && isScopedTo(slug, relativeVersionSlug)) {
|
|
13274
|
+
return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
|
|
13275
|
+
}
|
|
13258
13276
|
return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, slug));
|
|
13259
13277
|
}
|
|
13260
13278
|
if (this.productSlug != null) {
|
|
@@ -13264,6 +13282,9 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
13264
13282
|
if (this.baseSlug.length > 0 && slug.startsWith(this.baseSlug)) {
|
|
13265
13283
|
return createWithSlug(navigation_exports.V1.slugjoin(getRemainingAfterBase(slug)));
|
|
13266
13284
|
}
|
|
13285
|
+
if (relativeProductSlug != null && isScopedTo(slug, relativeProductSlug)) {
|
|
13286
|
+
return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
|
|
13287
|
+
}
|
|
13267
13288
|
return createWithSlug(navigation_exports.V1.slugjoin(this.productSlug, slug));
|
|
13268
13289
|
}
|
|
13269
13290
|
if (this.baseSlug.length > 0) {
|
|
@@ -13285,8 +13306,25 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
13285
13306
|
if (fullSlug != null) {
|
|
13286
13307
|
return this.set(fullSlug.join("/"));
|
|
13287
13308
|
}
|
|
13309
|
+
if (this.slug === this.scopeSlug && isNestedUnder(navigation_exports.V1.slugjoin(urlSlug), this.relativeScopeSlug)) {
|
|
13310
|
+
return this.set(urlSlug);
|
|
13311
|
+
}
|
|
13288
13312
|
return this.append(urlSlug);
|
|
13289
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
|
+
}
|
|
13290
13328
|
};
|
|
13291
13329
|
|
|
13292
13330
|
// src/navigation/versions/v1/converters/ApiReferenceNavigationConverter.ts
|