UNPKG

stitch-ui

Version:

43 lines (39 loc) 1.04 kB
import { List, Record } from "immutable"; import JSONState from "./JSONState"; import Pipeline from "./Pipeline"; import PipelineStage from "./PipelineStage"; export default class NamedPipeline extends Record({ name: "", output: "", pipeline: List(), skipRules: false, canEvaluate: JSONState, parameters: List(), private: false, dirty: false }) { static fromRaw(raw) { const out = new NamedPipeline({ output: raw.output, pipeline: new Pipeline({ output: raw.output, stages: new List(raw.pipeline.map(s => new PipelineStage(s))) }), skipRules: !!raw.skipRules, canEvaluate: JSONState.fromRaw(raw.canEvaluate, {}), parameters: List(raw.parameters), private: !!raw.private }); return out; } toRaw() { return { output: this.output, pipeline: this.pipeline.toRaw().pipeline, skipRules: this.skipRules, canEvaluate: this.canEvaluate.data, parameters: this.parameters.toArray(), private: this.private }; } }