CodeNode.js 662 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import Node from './Node.js';
  2. class CodeNode extends Node {
  3. constructor( code = '', includes = [] ) {
  4. super( 'code' );
  5. this.isCodeNode = true;
  6. this.code = code;
  7. this._includes = includes;
  8. }
  9. setIncludes( includes ) {
  10. this._includes = includes;
  11. return this;
  12. }
  13. getIncludes( /*builder*/ ) {
  14. return this._includes;
  15. }
  16. generate( builder ) {
  17. const includes = this.getIncludes( builder );
  18. for ( const include of includes ) {
  19. include.build( builder );
  20. }
  21. const nodeCode = builder.getCodeFromNode( this, this.getNodeType( builder ) );
  22. nodeCode.code = this.code;
  23. return nodeCode.code;
  24. }
  25. }
  26. export default CodeNode;