UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

41 lines (40 loc) 1.5 kB
"use strict"; import { NodeJsonExporter } from "./Node"; import { ParamJsonExporter } from "./Param"; import { ParamNumericJsonExporter } from "./param/Numeric"; import { ParamNodePathJsonExporter } from "./param/NodePath"; import { ParamParamPathJsonExporter } from "./param/ParamPath"; import { ParamStringJsonExporter } from "./param/String"; import { ParamRampJsonExporter } from "./param/Ramp"; import { TypedNumericParam } from "../../../params/_Numeric"; import { NodePathParam } from "../../../params/NodePath"; import { ParamPathParam } from "../../../params/ParamPath"; import { StringParam } from "../../../params/String"; import { RampParam } from "../../../params/Ramp"; import { PolyNodeJsonExporter } from "./nodes/Poly"; export class JsonExportDispatcher { dispatchNode(node) { if (node.polyNodeController) { return new PolyNodeJsonExporter(node, this); } return new NodeJsonExporter(node, this); } dispatchParam(param) { if (param instanceof TypedNumericParam) { return new ParamNumericJsonExporter(param); } if (param instanceof NodePathParam) { return new ParamNodePathJsonExporter(param); } if (param instanceof ParamPathParam) { return new ParamParamPathJsonExporter(param); } if (param instanceof StringParam) { return new ParamStringJsonExporter(param); } if (param instanceof RampParam) { return new ParamRampJsonExporter(param); } return new ParamJsonExporter(param); } }