@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
|
@@ -11828,6 +11828,12 @@ var NodeIdGenerator = class {
|
|
|
11828
11828
|
};
|
|
11829
11829
|
|
|
11830
11830
|
// src/navigation/versions/v1/converters/SlugGenerator.ts
|
|
11831
|
+
function isScopedTo(slug, prefix) {
|
|
11832
|
+
return prefix.length > 0 && (slug === prefix || slug.startsWith(`${prefix}/`));
|
|
11833
|
+
}
|
|
11834
|
+
function isNestedUnder(slug, prefix) {
|
|
11835
|
+
return prefix.length > 0 && slug.startsWith(`${prefix}/`);
|
|
11836
|
+
}
|
|
11831
11837
|
var SlugGenerator = class _SlugGenerator {
|
|
11832
11838
|
constructor(baseSlug, productSlug, versionSlug, slug) {
|
|
11833
11839
|
this.baseSlug = baseSlug;
|
|
@@ -11898,6 +11904,8 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
11898
11904
|
}
|
|
11899
11905
|
return fullSlug;
|
|
11900
11906
|
};
|
|
11907
|
+
const relativeProductSlug = this.relativeToBase(this.productSlug);
|
|
11908
|
+
const relativeVersionSlug = this.relativeToBase(this.versionSlug);
|
|
11901
11909
|
if (this.productSlug != null && this.versionSlug != null) {
|
|
11902
11910
|
if (slug.startsWith(this.productSlug)) {
|
|
11903
11911
|
const remaining = getRemainingAfterProduct(slug);
|
|
@@ -11907,6 +11915,13 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
11907
11915
|
const remaining = getRemainingAfterBase(slug);
|
|
11908
11916
|
return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, remaining));
|
|
11909
11917
|
}
|
|
11918
|
+
if (relativeVersionSlug != null && isScopedTo(slug, relativeVersionSlug)) {
|
|
11919
|
+
return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
|
|
11920
|
+
}
|
|
11921
|
+
if (relativeProductSlug != null && isScopedTo(slug, relativeProductSlug)) {
|
|
11922
|
+
const remaining = slug.substring(relativeProductSlug.length);
|
|
11923
|
+
return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, remaining));
|
|
11924
|
+
}
|
|
11910
11925
|
return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, slug));
|
|
11911
11926
|
}
|
|
11912
11927
|
if (this.versionSlug != null) {
|
|
@@ -11916,6 +11931,9 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
11916
11931
|
if (this.baseSlug.length > 0 && slug.startsWith(this.baseSlug)) {
|
|
11917
11932
|
return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, getRemainingAfterBase(slug)));
|
|
11918
11933
|
}
|
|
11934
|
+
if (relativeVersionSlug != null && isScopedTo(slug, relativeVersionSlug)) {
|
|
11935
|
+
return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
|
|
11936
|
+
}
|
|
11919
11937
|
return createWithSlug(navigation_exports.V1.slugjoin(this.versionSlug, slug));
|
|
11920
11938
|
}
|
|
11921
11939
|
if (this.productSlug != null) {
|
|
@@ -11925,6 +11943,9 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
11925
11943
|
if (this.baseSlug.length > 0 && slug.startsWith(this.baseSlug)) {
|
|
11926
11944
|
return createWithSlug(navigation_exports.V1.slugjoin(getRemainingAfterBase(slug)));
|
|
11927
11945
|
}
|
|
11946
|
+
if (relativeProductSlug != null && isScopedTo(slug, relativeProductSlug)) {
|
|
11947
|
+
return createWithSlug(navigation_exports.V1.slugjoin(this.baseSlug, slug));
|
|
11948
|
+
}
|
|
11928
11949
|
return createWithSlug(navigation_exports.V1.slugjoin(this.productSlug, slug));
|
|
11929
11950
|
}
|
|
11930
11951
|
if (this.baseSlug.length > 0) {
|
|
@@ -11946,8 +11967,25 @@ var SlugGenerator = class _SlugGenerator {
|
|
|
11946
11967
|
if (fullSlug != null) {
|
|
11947
11968
|
return this.set(fullSlug.join("/"));
|
|
11948
11969
|
}
|
|
11970
|
+
if (this.slug === this.scopeSlug && isNestedUnder(navigation_exports.V1.slugjoin(urlSlug), this.relativeScopeSlug)) {
|
|
11971
|
+
return this.set(urlSlug);
|
|
11972
|
+
}
|
|
11949
11973
|
return this.append(urlSlug);
|
|
11950
11974
|
}
|
|
11975
|
+
/** The product/version prefix that child slugs hang off of. */
|
|
11976
|
+
get scopeSlug() {
|
|
11977
|
+
return this.versionSlug ?? this.productSlug ?? this.baseSlug;
|
|
11978
|
+
}
|
|
11979
|
+
/** {@link scopeSlug} as authored in the config, i.e. without the basepath. */
|
|
11980
|
+
get relativeScopeSlug() {
|
|
11981
|
+
return this.relativeToBase(this.scopeSlug);
|
|
11982
|
+
}
|
|
11983
|
+
relativeToBase(slug) {
|
|
11984
|
+
if (slug == null || this.baseSlug.length === 0 || !isScopedTo(slug, this.baseSlug)) {
|
|
11985
|
+
return slug;
|
|
11986
|
+
}
|
|
11987
|
+
return slug.substring(this.baseSlug.length + 1);
|
|
11988
|
+
}
|
|
11951
11989
|
};
|
|
11952
11990
|
|
|
11953
11991
|
// src/navigation/versions/v1/converters/ApiReferenceNavigationConverter.ts
|