UNPKG

@polygonjs/polygonjs

Version:

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

64 lines (58 loc) 2.48 kB
import {BaseNodeType} from '../../../nodes/_Base'; import {BaseParamType} from '../../../params/_Base'; import {NodeJsonExporter} from './Node'; // import {BaseNodeObjJsonExporter} from './node/Obj'; // import {BaseNodeSopSubnetworkJsonExporter} from './node/Subnetwork'; import {ParamJsonExporter} from './Param'; // import {ParamMultipleJsonExporter} from './param/Multiple'; import {ParamNumericJsonExporter} from './param/Numeric'; // import {ParamOperatorPathJsonExporter} from './param/OperatorPath'; import {ParamNodePathJsonExporter} from './param/NodePath'; import {ParamParamPathJsonExporter} from './param/ParamPath'; import {ParamStringJsonExporter} from './param/String'; import {ParamRampJsonExporter} from './param/Ramp'; // import {TypedObjNode} from '../../../nodes/obj/_Base'; // import {TypedMultipleParam} from '../../../params/_Multiple'; import {TypedNumericParam} from '../../../params/_Numeric'; // import {OperatorPathParam} from '../../../params/OperatorPath'; import {NodePathParam} from '../../../params/NodePath'; import {ParamPathParam} from '../../../params/ParamPath'; import {StringParam} from '../../../params/String'; import {RampParam} from '../../../params/Ramp'; // import {PolySopNode} from '../../../nodes/sop/Poly'; // import {PolyObjNode} from '../../../nodes/obj/Poly'; import {PolyNodeJsonExporter} from './nodes/Poly'; export class JsonExportDispatcher { dispatchNode(node: BaseNodeType) { // using PolySopNode and PolyObjNode seem to create circular dependency with webpack // if (node instanceof PolySopNode || node instanceof PolyObjNode) if (node.polyNodeController) { return new PolyNodeJsonExporter(node, this); } return new NodeJsonExporter(node, this); } dispatchParam(param: BaseParamType) { // if (param instanceof TypedMultipleParam) { // return new ParamMultipleJsonExporter(param); // } if (param instanceof TypedNumericParam) { return new ParamNumericJsonExporter(param); } // if (param instanceof OperatorPathParam) { // return new ParamOperatorPathJsonExporter(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); } }