clean up spec actions a bit

This commit is contained in:
Josh Ponelat
2017-10-24 12:42:06 +02:00
parent e8772fbe2a
commit c6f354ae6c

View File

@@ -1,6 +1,7 @@
import YAML from "js-yaml" import YAML from "js-yaml"
import parseUrl from "url-parse" import parseUrl from "url-parse"
import serializeError from "serialize-error" import serializeError from "serialize-error"
import isString from "lodash/isString"
import { isJSONObject } from "core/utils" import { isJSONObject } from "core/utils"
// Actions conform to FSA (flux-standard-actions) // Actions conform to FSA (flux-standard-actions)
@@ -22,22 +23,16 @@ export const UPDATE_OPERATION_VALUE = "spec_update_operation_value"
export const UPDATE_RESOLVED = "spec_update_resolved" export const UPDATE_RESOLVED = "spec_update_resolved"
export const SET_SCHEME = "set_scheme" export const SET_SCHEME = "set_scheme"
export function updateSpec(spec) { const toStr = (str) => isString(str) ? str : ""
if(spec instanceof Error) {
return {type: UPDATE_SPEC, error: true, payload: spec}
}
export function updateSpec(spec) {
const cleanSpec = (toStr(spec)).replace(/\t/g, " ")
if(typeof spec === "string") { if(typeof spec === "string") {
return { return {
type: UPDATE_SPEC, type: UPDATE_SPEC,
payload: spec.replace(/\t/g, " ") || "" payload: cleanSpec
} }
} }
return {
type: UPDATE_SPEC,
payload: ""
}
} }
export function updateResolved(spec) { export function updateResolved(spec) {
@@ -52,9 +47,6 @@ export function updateUrl(url) {
} }
export function updateJsonSpec(json) { export function updateJsonSpec(json) {
if(!json || typeof json !== "object") {
throw new Error("updateJson must only accept a simple JSON object")
}
return {type: UPDATE_JSON, payload: json} return {type: UPDATE_JSON, payload: json}
} }
@@ -76,7 +68,10 @@ export const parseToJson = (str) => ({specActions, specSelectors, errActions}) =
line: e.mark && e.mark.line ? e.mark.line + 1 : undefined line: e.mark && e.mark.line ? e.mark.line + 1 : undefined
}) })
} }
return specActions.updateJsonSpec(json) if(json) {
return specActions.updateJsonSpec(json)
}
return {}
} }
export const resolveSpec = (json, url) => ({specActions, specSelectors, errActions, fn: { fetch, resolve, AST }, getConfigs}) => { export const resolveSpec = (json, url) => ({specActions, specSelectors, errActions, fn: { fetch, resolve, AST }, getConfigs}) => {
@@ -118,18 +113,6 @@ export const resolveSpec = (json, url) => ({specActions, specSelectors, errActio
}) })
} }
export const formatIntoYaml = () => ({specActions, specSelectors}) => {
let { specStr } = specSelectors
let { updateSpec } = specActions
try {
let yaml = YAML.safeDump(YAML.safeLoad(specStr()), {indent: 2})
updateSpec(yaml)
} catch(e) {
updateSpec(e)
}
}
export function changeParam( path, paramName, paramIn, value, isXml ){ export function changeParam( path, paramName, paramIn, value, isXml ){
return { return {
type: UPDATE_PARAM, type: UPDATE_PARAM,