@@ -78,13 +78,17 @@ private function schema(): SchemaType
7878 ]);
7979
8080 $ upload = S::object ([
81- 'src ' => S::union (S::string (), S::arrayOf (S::string ())),
82- 'dest ' => S::string (),
81+ 'upload ' => S::object ([
82+ 'src ' => S::union (S::string (), S::arrayOf (S::string ())),
83+ 'dest ' => S::string (),
84+ ]),
8385 ]);
8486
8587 $ download = S::object ([
86- 'src ' => S::string (),
87- 'dest ' => S::string (),
88+ 'download ' => S::object ([
89+ 'src ' => S::string (),
90+ 'dest ' => S::string (),
91+ ]),
8892 ]);
8993
9094 $ taskConfig = S::object ([
@@ -274,7 +278,7 @@ protected function tasks(Property $property): void
274278 foreach ($ tasks ->properties as $ task ) {
275279 $ name = $ task ->key ->value ;
276280 $ value = $ task ->value ;
277- $ desc = trim (implode (' \n ' , array_map (fn ($ comment ) => $ comment ->value , $ task ->leadingComments )));
281+ $ desc = trim (implode ("\n" , array_map (fn ($ comment ) => $ comment ->value , $ task ->leadingComments )));
278282 if (!$ value instanceof ArrayNode) {
279283 $ this ->throwException ('Task must be an array ' , $ value ->span );
280284 }
@@ -315,6 +319,12 @@ private function createTask(string $name, ArrayNode $array, string $desc)
315319
316320 foreach ($ object ->properties as $ property ) {
317321 $ key = $ property ->key ->value ;
322+
323+ if (in_array ($ key , ['desc ' , 'once ' , 'hidden ' , 'limit ' , 'select ' ])) {
324+ $ task ->$ key ($ step [$ key ]);
325+ continue ;
326+ }
327+
318328 $ prev = $ body ;
319329
320330 $ body = match ($ key ) {
@@ -365,8 +375,8 @@ private function createTask(string $name, ArrayNode $array, string $desc)
365375 $ prev ();
366376 try {
367377 upload (
368- $ step ['src ' ],
369- $ step ['dest ' ],
378+ $ step ['upload ' ][ ' src ' ],
379+ $ step ['upload ' ][ ' dest ' ],
370380 );
371381 } catch (\Throwable $ e ) {
372382 $ this ->wrapException ($ e , $ property ->span );
@@ -376,14 +386,13 @@ private function createTask(string $name, ArrayNode $array, string $desc)
376386 $ prev ();
377387 try {
378388 download (
379- $ step ['src ' ],
380- $ step ['dest ' ],
389+ $ step ['download ' ][ ' src ' ],
390+ $ step ['download ' ][ ' dest ' ],
381391 );
382392 } catch (\Throwable $ e ) {
383393 $ this ->wrapException ($ e , $ property ->span );
384394 }
385395 },
386- 'desc ' , 'once ' , 'hidden ' , 'limit ' , 'select ' => $ task ->$ key ($ step [$ key ]),
387396 default => $ body ,
388397 };
389398 }
0 commit comments