@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
|
@@ -13128,6 +13128,12 @@ var NodeIdGenerator = class {
|
|
|
13128
13128
|
};
|
|
13129
13129
|
|
|
13130
13130
|
// src/navigation/versions/v1/converters/SlugGenerator.ts
|
|
13131
|
+
function isScopedTo(slug, prefix) {
|
|
13132
|
+
return prefix.length > 0 && (slug === prefix || slug.startsWith(`${prefix}/`));
|
|
13133
|
+
}
|
|
13134
|
+
function isNestedUnder(slug, prefix) {
|
|
13135
|
+
return prefix.length > 0 && slug.startsWith(`${prefix}/`);
|
|
13136
|
+
}
|
|
13131
13137
|
var SlugGenerator = class _SlugGenerator {
|
|
13132
13138
|
constructor(baseSlug, productSlug, versionSlug, slug) {
|
|
13133
13139
|
this.baseSlug = baseSlug;
|
|
@@ -13198,6 +13204,8 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
13198
13204
|
}
|
|
13199
13205
|
return fullSlug;
|
|
13200
13206
|
};
|
|
13207
|
+
const relativeProductSlug = this.relativeToBase(this.productSlug);
|
|
13208
|
+
const relativeVersionSlug = this.relativeToBase(this.versionSlug);
|
|
13201
13209
|
if (this.productSlug != null && this.versionSlug != null) {
|
|
13202
13210
|
if (slug.startsWith(this.productSlug)) {
|
|
13203
13211
|
const remaining = getRemainingAfterProduct(slug);
|
|
@@ -13207,6 +13215,13 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
13207
13215
|
const remaining = getRemainingAfterBase(slug);
|
|
13208
13216
|
return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, remaining));
|
|
13209
13217
|
}
|
|
13218
|
+
if (relativeVersionSlug != null && isScopedTo(slug, relativeVersionSlug)) {
|
|
13219
|
+
return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
|
|
13220
|
+
}
|
|
13221
|
+
if (relativeProductSlug != null && isScopedTo(slug, relativeProductSlug)) {
|
|
13222
|
+
const remaining = slug.substring(relativeProductSlug.length);
|
|
13223
|
+
return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, remaining));
|
|
13224
|
+
}
|
|
13210
13225
|
return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, slug));
|
|
13211
13226
|
}
|
|
13212
13227
|
if (this.versionSlug != null) {
|
|
@@ -13216,6 +13231,9 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
13216
13231
|
if (this.baseSlug.length > 0 && slug.startsWith(this.baseSlug)) {
|
|
13217
13232
|
return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, getRemainingAfterBase(slug)));
|
|
13218
13233
|
}
|
|
13234
|
+
if (relativeVersionSlug != null && isScopedTo(slug, relativeVersionSlug)) {
|
|
13235
|
+
return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
|
|
13236
|
+
}
|
|
13219
13237
|
return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, slug));
|
|
13220
13238
|
}
|
|
13221
13239
|
if (this.productSlug != null) {
|
|
@@ -13225,6 +13243,9 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
13225
13243
|
if (this.baseSlug.length > 0 && slug.startsWith(this.baseSlug)) {
|
|
13226
13244
|
return createWithSlug(navigation_exports.V1.slugjoin(getRemainingAfterBase(slug)));
|
|
13227
13245
|
}
|
|
13246
|
+
if (relativeProductSlug != null && isScopedTo(slug, relativeProductSlug)) {
|
|
13247
|
+
return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
|
|
13248
|
+
}
|
|
13228
13249
|
return createWithSlug(navigation_exports.V1.slugjoin(this.productSlug, slug));
|
|
13229
13250
|
}
|
|
13230
13251
|
if (this.baseSlug.length > 0) {
|
|
@@ -13246,8 +13267,25 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
13246
13267
|
if (fullSlug != null) {
|
|
13247
13268
|
return this.set(fullSlug.join("/"));
|
|
13248
13269
|
}
|
|
13270
|
+
if (this.slug === this.scopeSlug && isNestedUnder(navigation_exports.V1.slugjoin(urlSlug), this.relativeScopeSlug)) {
|
|
13271
|
+
return this.set(urlSlug);
|
|
13272
|
+
}
|
|
13249
13273
|
return this.append(urlSlug);
|
|
13250
13274
|
}
|
|
13275
|
+
/** The product/version prefix that child slugs hang off of. */
|
|
13276
|
+
get scopeSlug() {
|
|
13277
|
+
return this.versionSlug ?? this.productSlug ?? this.baseSlug;
|
|
13278
|
+
}
|
|
13279
|
+
/** {@link scopeSlug} as authored in the config, i.e. without the basepath. */
|
|
13280
|
+
get relativeScopeSlug() {
|
|
13281
|
+
return this.relativeToBase(this.scopeSlug);
|
|
13282
|
+
}
|
|
13283
|
+
relativeToBase(slug) {
|
|
13284
|
+
if (slug == null || this.baseSlug.length === 0 || !isScopedTo(slug, this.baseSlug)) {
|
|
13285
|
+
return slug;
|
|
13286
|
+
}
|
|
13287
|
+
return slug.substring(this.baseSlug.length + 1);
|
|
13288
|
+
}
|
|
13251
13289
|
};
|
|
13252
13290
|
|
|
13253
13291
|
// src/navigation/versions/v1/converters/ApiReferenceNavigationConverter.ts
|