UNPKG

polygonjs-engine

Version:

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

53 lines (48 loc) 2.04 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 {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 {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 { static dispatch_node(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); } return new NodeJsonExporter(node); } static dispatch_param(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 StringParam) { return new ParamStringJsonExporter(param); } if (param instanceof RampParam) { return new ParamRampJsonExporter(param); } return new ParamJsonExporter(param); } }