refactor(oas31): introduce selector composition mechanism (#8484)
Refs #8474
This commit is contained in:
@@ -4,25 +4,21 @@
|
||||
import { createSelector } from "reselect"
|
||||
|
||||
import { safeBuildUrl } from "core/utils/url"
|
||||
import { onlyOAS31 } from "./helpers"
|
||||
|
||||
export const makeSelectLicenseUrl = (system) =>
|
||||
onlyOAS31(
|
||||
createSelector(
|
||||
() => system.specSelectors.url(),
|
||||
() => system.oas3Selectors.selectedServer(),
|
||||
() => system.specSelectors.selectLicenseUrlField(),
|
||||
() => system.specSelectors.selectLicenseIdentifierField(),
|
||||
(specUrl, selectedServer, url, identifier) => {
|
||||
if (url) {
|
||||
return safeBuildUrl(url, specUrl, { selectedServer })
|
||||
}
|
||||
export const selectLicenseUrl = createSelector(
|
||||
(state, system) => system.specSelectors.url(),
|
||||
(state, system) => system.oas3Selectors.selectedServer(),
|
||||
(state, system) => system.specSelectors.selectLicenseUrlField(),
|
||||
(state, system) => system.specSelectors.selectLicenseIdentifierField(),
|
||||
(specUrl, selectedServer, url, identifier) => {
|
||||
if (url) {
|
||||
return safeBuildUrl(url, specUrl, { selectedServer })
|
||||
}
|
||||
|
||||
if (identifier) {
|
||||
return `https://spdx.org/licenses/${identifier}.html`
|
||||
}
|
||||
if (identifier) {
|
||||
return `https://spdx.org/licenses/${identifier}.html`
|
||||
}
|
||||
|
||||
return undefined
|
||||
}
|
||||
)
|
||||
)
|
||||
return undefined
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user