Compare commits

...

2 Commits

Author SHA1 Message Date
John Wesley Walker III
19060a122d ran npm run build 2024-10-16 18:18:09 +00:00
John Wesley Walker III
7fcbcdce7d ran npm run format 2024-10-16 18:15:26 +00:00
3 changed files with 25 additions and 14 deletions

View File

@ -14,10 +14,20 @@ describe('isGhes tests', () => {
describe('getServerApiUrl tests', () => { describe('getServerApiUrl tests', () => {
it('basics', async () => { it('basics', async () => {
expect(urlHelper.getServerApiUrl()).toBe('https://api.github.com') expect(urlHelper.getServerApiUrl()).toBe('https://api.github.com')
expect(urlHelper.getServerApiUrl('https://github.com')).toBe('https://api.github.com') expect(urlHelper.getServerApiUrl('https://github.com')).toBe(
expect(urlHelper.getServerApiUrl('https://GitHub.com')).toBe('https://api.github.com') 'https://api.github.com'
expect(urlHelper.getServerApiUrl('https://europe.ghe.com')).toBe('https://api.europe.ghe.com') )
expect(urlHelper.getServerApiUrl('https://australia.GHE.COM')).toBe('https://api.australia.ghe.com') expect(urlHelper.getServerApiUrl('https://GitHub.com')).toBe(
expect(urlHelper.getServerApiUrl('https://src.onpremise.customer.com')).toBe('https://src.onpremise.customer.com/api/v3') 'https://api.github.com'
)
expect(urlHelper.getServerApiUrl('https://europe.ghe.com')).toBe(
'https://api.europe.ghe.com'
)
expect(urlHelper.getServerApiUrl('https://australia.GHE.COM')).toBe(
'https://api.australia.ghe.com'
)
expect(
urlHelper.getServerApiUrl('https://src.onpremise.customer.com')
).toBe('https://src.onpremise.customer.com/api/v3')
}) })
}) })

6
dist/index.js vendored
View File

@ -2464,10 +2464,10 @@ function getServerApiUrl(url) {
if (hasContent(url, false)) { if (hasContent(url, false)) {
let serverUrl = getServerUrl(url); let serverUrl = getServerUrl(url);
if (isGhes(url)) { if (isGhes(url)) {
serverUrl.pathname = "api/v3"; serverUrl.pathname = 'api/v3';
} }
else { else {
serverUrl.hostname = "api." + serverUrl.hostname; serverUrl.hostname = 'api.' + serverUrl.hostname;
} }
return pruneSuffix(serverUrl.toString(), '/'); return pruneSuffix(serverUrl.toString(), '/');
} }
@ -2488,7 +2488,7 @@ function pruneSuffix(text, suffix) {
return text; return text;
} }
function hasContent(text, allowPureWhitespace) { function hasContent(text, allowPureWhitespace) {
let refinedText = text !== null && text !== void 0 ? text : ""; let refinedText = text !== null && text !== void 0 ? text : '';
if (!allowPureWhitespace) { if (!allowPureWhitespace) {
refinedText = refinedText.trim(); refinedText = refinedText.trim();
} }

View File

@ -33,9 +33,9 @@ export function getServerApiUrl(url?: string): string {
if (hasContent(url, false)) { if (hasContent(url, false)) {
let serverUrl = getServerUrl(url) let serverUrl = getServerUrl(url)
if (isGhes(url)) { if (isGhes(url)) {
serverUrl.pathname = "api/v3" serverUrl.pathname = 'api/v3'
} else { } else {
serverUrl.hostname = "api." + serverUrl.hostname serverUrl.hostname = 'api.' + serverUrl.hostname
} }
return pruneSuffix(serverUrl.toString(), '/') return pruneSuffix(serverUrl.toString(), '/')
@ -57,7 +57,6 @@ export function isGhes(url?: string): boolean {
return !isGitHubHost && !isGheHost && !isLocalHost return !isGitHubHost && !isGheHost && !isLocalHost
} }
function pruneSuffix(text: string, suffix: string) { function pruneSuffix(text: string, suffix: string) {
if (hasContent(suffix, true) && text?.endsWith(suffix)) { if (hasContent(suffix, true) && text?.endsWith(suffix)) {
return text.substring(0, text.length - suffix.length) return text.substring(0, text.length - suffix.length)
@ -65,11 +64,13 @@ function pruneSuffix(text: string, suffix: string) {
return text return text
} }
function hasContent(text: string | undefined, allowPureWhitespace: boolean): boolean { function hasContent(
let refinedText = text ?? "" text: string | undefined,
allowPureWhitespace: boolean
): boolean {
let refinedText = text ?? ''
if (!allowPureWhitespace) { if (!allowPureWhitespace) {
refinedText = refinedText.trim() refinedText = refinedText.trim()
} }
return refinedText.length > 0 return refinedText.length > 0
} }