Squash commit: Links reimplementation; OAS interface improvements

This commit is contained in:
Kyle Shockey
2017-06-16 00:28:09 -07:00
parent e415ec7f8a
commit 9dc9a857b7
8 changed files with 67 additions and 12 deletions

View File

@@ -1,14 +1,14 @@
import { createSelector } from "reselect"
import { Map } from "immutable"
import { SUPPORTED_OPENAPI_VERSIONS } from "./helpers"
import { isOAS3 as isOAS3Helper } from "./helpers"
// Helpers
function onlyOAS3(selector) {
return (ori, system) => (...args) => {
const spec = system.getSystem().specSelectors.specJson()
const version = spec.get("openapi")
if(typeof version === "string" && SUPPORTED_OPENAPI_VERSIONS.indexOf(version) > -1) {
if(isOAS3Helper(spec)) {
return selector(...args)
} else {
return ori(...args)
@@ -43,3 +43,10 @@ export const definitions = onlyOAS3(createSelector(
spec,
spec => spec.getIn(["components", "schemas"]) || Map()
))
// New selectors
export const isOAS3 = (ori, system) => () => {
const spec = system.getSystem().specSelectors.specJson()
return isOAS3Helper(spec)
}