1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import Node, { addNodeClass } from './Node.js';
- import { getValueType, getValueFromType, arrayBufferToBase64 } from './NodeUtils.js';
- class InputNode extends Node {
- constructor( value, nodeType = null ) {
- super( nodeType );
- this.isInputNode = true;
- this.value = value;
- this.precision = null;
- }
- getNodeType( /*builder*/ ) {
- if ( this.nodeType === null ) {
- return getValueType( this.value );
- }
- return this.nodeType;
- }
- getInputType( builder ) {
- return this.getNodeType( builder );
- }
- setPrecision( precision ) {
- this.precision = precision;
- return this;
- }
- serialize( data ) {
- super.serialize( data );
- data.value = this.value;
- if ( this.value && this.value.toArray ) data.value = this.value.toArray();
- data.valueType = getValueType( this.value );
- data.nodeType = this.nodeType;
- if ( data.valueType === 'ArrayBuffer' ) data.value = arrayBufferToBase64( data.value );
- data.precision = this.precision;
- }
- deserialize( data ) {
- super.deserialize( data );
- this.nodeType = data.nodeType;
- this.value = Array.isArray( data.value ) ? getValueFromType( data.valueType, ...data.value ) : data.value;
- this.precision = data.precision || null;
- if ( this.value && this.value.fromArray ) this.value = this.value.fromArray( data.value );
- }
- generate( /*builder, output*/ ) {
- console.warn( 'Abstract function.' );
- }
- }
- export default InputNode;
- addNodeClass( 'InputNode', InputNode );
|