@@ -44,7 +44,6 @@ const {program} = require('commander'),
4444 compile : require ( './commands/java/compile' ) ,
4545 dataize : require ( './commands/java/dataize' ) ,
4646 test : require ( './commands/java/test' ) ,
47- pipeline : require ( './commands/java/pipeline' ) ,
4847 }
4948 } ,
5049 [ language . js ] : {
@@ -56,9 +55,12 @@ const {program} = require('commander'),
5655 compile : require ( './commands/js/compile' ) ,
5756 dataize : require ( './commands/js/dataize' ) ,
5857 test : require ( './commands/js/test' ) ,
59- pipeline : require ( './commands/js/pipeline' ) ,
6058 }
6159 }
60+ } ,
61+ pipelines = {
62+ [ language . java ] : require ( './commands/java/pipeline' ) ,
63+ [ language . js ] : require ( './commands/js/pipeline' ) ,
6264 } ;
6365
6466if ( process . argv . includes ( '--verbose' ) ) {
@@ -144,7 +146,7 @@ program.command('parse')
144146 pin ( program . opts ( ) ) ;
145147 clear ( str ) ;
146148 if ( program . opts ( ) . alone === undefined ) {
147- await coms ( ) . pipeline ( [ 'register' , 'parse' ] , program . opts ( ) ) ;
149+ await pipe ( ) ( coms ( ) , [ 'register' , 'parse' ] , program . opts ( ) ) ;
148150 } else {
149151 await coms ( ) . parse ( program . opts ( ) ) ;
150152 }
@@ -156,7 +158,7 @@ program.command('assemble')
156158 pin ( program . opts ( ) ) ;
157159 clear ( str ) ;
158160 if ( program . opts ( ) . alone === undefined ) {
159- await coms ( ) . pipeline ( [ 'register' , 'assemble' ] , program . opts ( ) ) ;
161+ await pipe ( ) ( coms ( ) , [ 'register' , 'assemble' ] , program . opts ( ) ) ;
160162 } else {
161163 await coms ( ) . assemble ( program . opts ( ) ) ;
162164 }
@@ -174,7 +176,7 @@ program.command('sodg')
174176 pin ( program . opts ( ) ) ;
175177 clear ( str ) ;
176178 if ( program . opts ( ) . alone === undefined ) {
177- await coms ( ) . pipeline ( [ 'register' , 'assemble' ] , program . opts ( ) ) ;
179+ await pipe ( ) ( coms ( ) , [ 'register' , 'assemble' ] , program . opts ( ) ) ;
178180 await coms ( ) . sodg ( { ...program . opts ( ) , ...str } ) ;
179181 } else {
180182 await coms ( ) . sodg ( { ...program . opts ( ) , ...str } ) ;
@@ -190,7 +192,7 @@ program.command('print')
190192 )
191193 . option (
192194 '--print-output <dir>' ,
193- 'Directory where translated EO files are stored (relative to --target)' ,
195+ 'Directory where translated EO files are pipelinesd (relative to --target)' ,
194196 'print'
195197 )
196198 . action ( ( str , opts ) => {
@@ -205,7 +207,7 @@ program.command('lint')
205207 pin ( program . opts ( ) ) ;
206208 clear ( str ) ;
207209 if ( program . opts ( ) . alone === undefined ) {
208- await coms ( ) . pipeline ( [ 'register' , 'assemble' , 'lint' ] , program . opts ( ) ) ;
210+ await pipe ( ) ( coms ( ) , [ 'register' , 'assemble' , 'lint' ] , program . opts ( ) ) ;
209211 } else {
210212 await coms ( ) . lint ( program . opts ( ) ) ;
211213 }
@@ -217,7 +219,7 @@ program.command('resolve')
217219 pin ( program . opts ( ) ) ;
218220 clear ( str ) ;
219221 if ( program . opts ( ) . alone === undefined ) {
220- await coms ( ) . pipeline ( [ 'register' , 'assemble' , 'lint' , 'resolve' ] , program . opts ( ) ) ;
222+ await pipe ( ) ( coms ( ) , [ 'register' , 'assemble' , 'lint' , 'resolve' ] , program . opts ( ) ) ;
221223 } else {
222224 await coms ( ) . resolve ( program . opts ( ) ) ;
223225 }
@@ -229,7 +231,7 @@ program.command('transpile')
229231 pin ( program . opts ( ) ) ;
230232 clear ( str ) ;
231233 if ( program . opts ( ) . alone === undefined ) {
232- await coms ( ) . pipeline ( [ 'register' , 'assemble' , 'lint' , 'resolve' , 'transpile' ] , program . opts ( ) ) ;
234+ await pipe ( ) ( coms ( ) , [ 'register' , 'assemble' , 'lint' , 'resolve' , 'transpile' ] , program . opts ( ) ) ;
233235 } else {
234236 await coms ( ) . transpile ( program . opts ( ) ) ;
235237 }
@@ -241,7 +243,7 @@ program.command('compile')
241243 pin ( program . opts ( ) ) ;
242244 clear ( str ) ;
243245 if ( program . opts ( ) . alone === undefined ) {
244- await coms ( ) . pipeline ( [ 'register' , 'assemble' , 'lint' , 'resolve' , 'transpile' , 'compile' ] , program . opts ( ) ) ;
246+ await pipe ( ) ( coms ( ) , [ 'register' , 'assemble' , 'lint' , 'resolve' , 'transpile' , 'compile' ] , program . opts ( ) ) ;
245247 } else {
246248 await coms ( ) . compile ( program . opts ( ) ) ;
247249 }
@@ -252,7 +254,7 @@ program.command('link')
252254 . action ( async ( str , opts ) => {
253255 clear ( str ) ;
254256 if ( program . opts ( ) . alone === undefined ) {
255- await coms ( ) . pipeline ( [ 'register' , 'assemble' , 'lint' , 'resolve' , 'transpile' , 'compile' , 'link' ] , program . opts ( ) ) ;
257+ await pipe ( ) ( coms ( ) , [ 'register' , 'assemble' , 'lint' , 'resolve' , 'transpile' , 'compile' , 'link' ] , program . opts ( ) ) ;
256258 } else {
257259 await coms ( ) . link ( program . opts ( ) ) ;
258260 }
@@ -266,7 +268,7 @@ program.command('dataize')
266268 pin ( program . opts ( ) ) ;
267269 clear ( str ) ;
268270 if ( program . opts ( ) . alone === undefined ) {
269- await coms ( ) . pipeline ( [ 'register' , 'assemble' , 'lint' , 'resolve' , 'transpile' , 'compile' , 'link' ] , program . opts ( ) ) ;
271+ await pipe ( ) ( coms ( ) , [ 'register' , 'assemble' , 'lint' , 'resolve' , 'transpile' , 'compile' , 'link' ] , program . opts ( ) ) ;
270272 await coms ( ) . dataize (
271273 program . args [ 1 ] , program . args . slice ( 2 ) , { ...program . opts ( ) , ...str }
272274 ) ;
@@ -285,7 +287,7 @@ program.command('test')
285287 pin ( program . opts ( ) ) ;
286288 clear ( str ) ;
287289 if ( program . opts ( ) . alone === undefined ) {
288- await coms ( ) . pipeline ( [ 'register' , 'assemble' , 'lint' , 'resolve' , 'transpile' , 'compile' , 'link' ] , program . opts ( ) ) ;
290+ await pipe ( ) ( coms ( ) , [ 'register' , 'assemble' , 'lint' , 'resolve' , 'transpile' , 'compile' , 'link' ] , program . opts ( ) ) ;
289291 await coms ( ) . test ( { ...program . opts ( ) , ...str } ) ;
290292 } else {
291293 await coms ( ) . test ( { ...program . opts ( ) , ...str } ) ;
@@ -364,7 +366,7 @@ program.command('latex')
364366 . action ( async ( str , opts ) => {
365367 pin ( program . opts ( ) ) ;
366368 clear ( str ) ;
367- await coms ( ) . pipeline ( [ 'register' , 'parse' ] , program . opts ( ) ) ;
369+ await pipe ( ) ( coms ( ) , [ 'register' , 'parse' ] , program . opts ( ) ) ;
368370 await coms ( ) . latex ( program . opts ( ) ) ;
369371 } ) ;
370372
@@ -373,7 +375,7 @@ program.command('fmt')
373375 . action ( async ( str , opts ) => {
374376 pin ( program . opts ( ) ) ;
375377 clear ( str ) ;
376- await coms ( ) . pipeline ( [ 'register' , 'parse' ] , program . opts ( ) ) ;
378+ await pipe ( ) ( coms ( ) , [ 'register' , 'parse' ] , program . opts ( ) ) ;
377379 await coms ( ) . print ( {
378380 printInput : '1-parse' ,
379381 printOutput : program . opts ( ) . sources ,
@@ -422,3 +424,16 @@ function coms() {
422424 }
423425 return hash ;
424426}
427+
428+ /**
429+ * Get pipeline for the target language.
430+ * @return {Function } - pipeline function
431+ */
432+ function pipe ( ) {
433+ const lang = program . opts ( ) . language ,
434+ pipeline = pipelines [ lang ] ;
435+ if ( pipeline === undefined ) {
436+ throw new Error ( `Unknown platform ${ lang } ` ) ;
437+ }
438+ return pipeline ;
439+ }
0 commit comments