function()

in src/main.ts [47:103]


    function (args) {
      const valueObjectsFuture = ObjectSpecs.generate(
        process.cwd(),
        'value',
        '.valueObjectConfig',
        args.valueObjectConfigPath,
        ValueObjectDefaultConfig.VALUE_OBJECT_DEFAULT_CONFIG,
        args,
      );
      const objectsFuture = ObjectSpecs.generate(
        process.cwd(),
        'object',
        '.objectConfig',
        args.objectConfigPath,
        ObjectSpecDefaultConfig.OBJECT_SPEC_DEFAULT_CONFIG,
        args,
      );
      const algebraicTypesFuture = AlgebraicTypes.generate(
        process.cwd(),
        args.adtConfigPath,
        args,
      );

      const promise = Promise.all(
        List.of(valueObjectsFuture, objectsFuture, algebraicTypesFuture),
      );

      Promise.then(function (results) {
        const aggregatedResult = aggregateResults(results);

        if (!testEnv) {
          if (aggregatedResult.errorCount === 0) {
            console.log(
              colors.green(
                'Successfully generated ' +
                  aggregatedResult.successCount +
                  ' objects.',
              ),
            );
          } else {
            console.log(
              colors.red(
                'Successfully generated ' +
                  aggregatedResult.successCount +
                  ' objects. Encountered ' +
                  aggregatedResult.errorCount +
                  ' errors in other files',
              ),
            );
            process.exit(1);
          }

          ParallelProcessQueue.shutDown();
        }
      }, promise);
      return promise;
    },