@nestia/migrate 6.0.5 → 7.0.0-dev.20250605
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -92
 - package/lib/NestiaMigrateApplication.d.ts +23 -0
 - package/lib/NestiaMigrateApplication.js +17522 -0
 - package/lib/NestiaMigrateApplication.js.map +1 -0
 - package/lib/analyzers/NestiaMigrateControllerAnalyzer.d.ts +5 -0
 - package/lib/analyzers/{MigrateControllerAnalyzer.js → NestiaMigrateControllerAnalyzer.js} +10 -10
 - package/lib/analyzers/NestiaMigrateControllerAnalyzer.js.map +1 -0
 - package/lib/archivers/NestiaMigrateFileArchiver.d.ts +8 -0
 - package/lib/archivers/NestiaMigrateFileArchiver.js +36 -0
 - package/lib/archivers/NestiaMigrateFileArchiver.js.map +1 -0
 - package/lib/bundles/NEST_TEMPLATE.d.ts +1 -5
 - package/lib/bundles/NEST_TEMPLATE.js +50 -242
 - package/lib/bundles/NEST_TEMPLATE.js.map +1 -1
 - package/lib/bundles/SDK_TEMPLATE.d.ts +1 -5
 - package/lib/bundles/SDK_TEMPLATE.js +23 -107
 - package/lib/bundles/SDK_TEMPLATE.js.map +1 -1
 - package/lib/{internal/MigrateCommander.d.ts → executable/NestiaMigrateCommander.d.ts} +1 -1
 - package/lib/{internal/MigrateCommander.js → executable/NestiaMigrateCommander.js} +23 -21
 - package/lib/executable/NestiaMigrateCommander.js.map +1 -0
 - package/lib/{internal/MigrateInquirer.d.ts → executable/NestiaMigrateInquirer.d.ts} +2 -1
 - package/lib/{internal/MigrateInquirer.js → executable/NestiaMigrateInquirer.js} +22 -9
 - package/lib/executable/NestiaMigrateInquirer.js.map +1 -0
 - package/lib/executable/migrate.js +2 -2
 - package/lib/executable/migrate.js.map +1 -1
 - package/lib/index.mjs +10042 -694
 - package/lib/index.mjs.map +1 -1
 - package/lib/module.d.ts +2 -5
 - package/lib/module.js +2 -5
 - package/lib/module.js.map +1 -1
 - package/lib/programmers/NestiaMigrateApiFileProgrammer.d.ts +13 -0
 - package/lib/programmers/NestiaMigrateApiFileProgrammer.js +40 -0
 - package/lib/programmers/NestiaMigrateApiFileProgrammer.js.map +1 -0
 - package/lib/programmers/NestiaMigrateApiFunctionProgrammer.d.ts +14 -0
 - package/lib/programmers/NestiaMigrateApiFunctionProgrammer.js +132 -0
 - package/lib/programmers/NestiaMigrateApiFunctionProgrammer.js.map +1 -0
 - package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.d.ts +14 -0
 - package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.js +237 -0
 - package/lib/programmers/NestiaMigrateApiNamespaceProgrammer.js.map +1 -0
 - package/lib/programmers/NestiaMigrateApiProgrammer.d.ts +4 -0
 - package/lib/programmers/{MigrateApiProgrammer.js → NestiaMigrateApiProgrammer.js} +31 -30
 - package/lib/programmers/NestiaMigrateApiProgrammer.js.map +1 -0
 - package/lib/programmers/NestiaMigrateApiSimulationProgrammer.d.ts +14 -0
 - package/lib/programmers/{MigrateApiSimulationProgrammer.js → NestiaMigrateApiSimulationProgrammer.js} +54 -36
 - package/lib/programmers/NestiaMigrateApiSimulationProgrammer.js.map +1 -0
 - package/lib/programmers/NestiaMigrateApiStartProgrammer.d.ts +4 -0
 - package/lib/programmers/{MigrateApiStartProgrammer.js → NestiaMigrateApiStartProgrammer.js} +23 -20
 - package/lib/programmers/NestiaMigrateApiStartProgrammer.js.map +1 -0
 - package/lib/programmers/NestiaMigrateDtoProgrammer.d.ts +15 -0
 - package/lib/programmers/{MigrateDtoProgrammer.js → NestiaMigrateDtoProgrammer.js} +21 -12
 - package/lib/programmers/NestiaMigrateDtoProgrammer.js.map +1 -0
 - package/lib/programmers/NestiaMigrateE2eFileProgrammer.d.ts +14 -0
 - package/lib/programmers/NestiaMigrateE2eFileProgrammer.js +81 -0
 - package/lib/programmers/NestiaMigrateE2eFileProgrammer.js.map +1 -0
 - package/lib/programmers/NestiaMigrateE2eProgrammer.d.ts +4 -0
 - package/lib/programmers/NestiaMigrateE2eProgrammer.js +32 -0
 - package/lib/programmers/NestiaMigrateE2eProgrammer.js.map +1 -0
 - package/lib/programmers/{MigrateImportProgrammer.d.ts → NestiaMigrateImportProgrammer.d.ts} +1 -1
 - package/lib/programmers/{MigrateImportProgrammer.js → NestiaMigrateImportProgrammer.js} +4 -4
 - package/lib/programmers/NestiaMigrateImportProgrammer.js.map +1 -0
 - package/lib/programmers/NestiaMigrateNestControllerProgrammer.d.ts +12 -0
 - package/lib/programmers/{MigrateNestControllerProgrammer.js → NestiaMigrateNestControllerProgrammer.js} +20 -13
 - package/lib/programmers/NestiaMigrateNestControllerProgrammer.js.map +1 -0
 - package/lib/programmers/NestiaMigrateNestMethodProgrammer.d.ts +15 -0
 - package/lib/programmers/{MigrateNestMethodProgrammer.js → NestiaMigrateNestMethodProgrammer.js} +85 -69
 - package/lib/programmers/NestiaMigrateNestMethodProgrammer.js.map +1 -0
 - package/lib/programmers/NestiaMigrateNestModuleProgrammer.d.ts +5 -0
 - package/lib/programmers/{MigrateNestModuleProgrammer.js → NestiaMigrateNestModuleProgrammer.js} +6 -6
 - package/lib/programmers/NestiaMigrateNestModuleProgrammer.js.map +1 -0
 - package/lib/programmers/NestiaMigrateNestProgrammer.d.ts +4 -0
 - package/lib/programmers/NestiaMigrateNestProgrammer.js +65 -0
 - package/lib/programmers/NestiaMigrateNestProgrammer.js.map +1 -0
 - package/lib/programmers/NestiaMigrateSchemaProgrammer.d.ts +10 -0
 - package/lib/programmers/NestiaMigrateSchemaProgrammer.js +414 -0
 - package/lib/programmers/NestiaMigrateSchemaProgrammer.js.map +1 -0
 - package/lib/structures/INestiaMigrateConfig.d.ts +10 -0
 - package/lib/structures/{IHttpMigrateFile.js → INestiaMigrateConfig.js} +1 -1
 - package/lib/structures/INestiaMigrateConfig.js.map +1 -0
 - package/lib/structures/INestiaMigrateContext.d.ts +9 -0
 - package/lib/structures/INestiaMigrateContext.js +3 -0
 - package/lib/structures/INestiaMigrateContext.js.map +1 -0
 - package/lib/structures/INestiaMigrateController.d.ts +7 -0
 - package/lib/structures/{IHttpMigrateController.js → INestiaMigrateController.js} +1 -1
 - package/lib/structures/INestiaMigrateController.js.map +1 -0
 - package/lib/structures/{IHttpMigrateDto.d.ts → INestiaMigrateDto.d.ts} +2 -2
 - package/lib/structures/{IHttpMigrateRoute.js → INestiaMigrateDto.js} +1 -1
 - package/lib/structures/INestiaMigrateDto.js.map +1 -0
 - package/lib/structures/{IHttpMigrateFile.d.ts → INestiaMigrateFile.d.ts} +1 -1
 - package/lib/structures/{IHttpMigrateDto.js → INestiaMigrateFile.js} +1 -1
 - package/lib/structures/INestiaMigrateFile.js.map +1 -0
 - package/lib/structures/INestiaMigrateProgram.d.ts +9 -0
 - package/lib/structures/INestiaMigrateProgram.js +3 -0
 - package/lib/structures/INestiaMigrateProgram.js.map +1 -0
 - package/lib/structures/INestiaMigrateSchema.d.ts +4 -0
 - package/lib/structures/{IHttpMigrateProgram.js → INestiaMigrateSchema.js} +1 -1
 - package/lib/structures/INestiaMigrateSchema.js.map +1 -0
 - package/lib/utils/openapi-down-convert/converter.js +2 -2
 - package/package.json +8 -8
 - package/src/NestiaMigrateApplication.ts +144 -0
 - package/src/analyzers/{MigrateControllerAnalyzer.ts → NestiaMigrateControllerAnalyzer.ts} +51 -51
 - package/src/archivers/NestiaMigrateFileArchiver.ts +28 -0
 - package/src/bundles/NEST_TEMPLATE.ts +50 -242
 - package/src/bundles/SDK_TEMPLATE.ts +23 -107
 - package/src/{internal/MigrateCommander.ts → executable/NestiaMigrateCommander.ts} +98 -94
 - package/src/{internal/MigrateInquirer.ts → executable/NestiaMigrateInquirer.ts} +106 -89
 - package/src/executable/bundle.js +129 -127
 - package/src/executable/migrate.ts +7 -7
 - package/src/factories/TypeLiteralFactory.ts +57 -57
 - package/src/index.ts +4 -4
 - package/src/module.ts +2 -8
 - package/src/programmers/NestiaMigrateApiFileProgrammer.ts +55 -0
 - package/src/programmers/NestiaMigrateApiFunctionProgrammer.ts +256 -0
 - package/src/programmers/NestiaMigrateApiNamespaceProgrammer.ts +524 -0
 - package/src/programmers/NestiaMigrateApiProgrammer.ts +107 -0
 - package/src/programmers/NestiaMigrateApiSimulationProgrammer.ts +340 -0
 - package/src/programmers/NestiaMigrateApiStartProgrammer.ts +198 -0
 - package/src/programmers/NestiaMigrateDtoProgrammer.ts +101 -0
 - package/src/programmers/NestiaMigrateE2eFileProgrammer.ts +153 -0
 - package/src/programmers/NestiaMigrateE2eProgrammer.ts +46 -0
 - package/src/programmers/{MigrateImportProgrammer.ts → NestiaMigrateImportProgrammer.ts} +118 -118
 - package/src/programmers/NestiaMigrateNestControllerProgrammer.ts +66 -0
 - package/src/programmers/NestiaMigrateNestMethodProgrammer.ts +406 -0
 - package/src/programmers/{MigrateNestModuleProgrammer.ts → NestiaMigrateNestModuleProgrammer.ts} +65 -65
 - package/src/programmers/NestiaMigrateNestProgrammer.ts +88 -0
 - package/src/programmers/NestiaMigrateSchemaProgrammer.ts +475 -0
 - package/src/structures/INestiaMigrateConfig.ts +10 -0
 - package/src/structures/INestiaMigrateContext.ts +15 -0
 - package/src/structures/INestiaMigrateController.ts +8 -0
 - package/src/structures/{IHttpMigrateDto.ts → INestiaMigrateDto.ts} +8 -8
 - package/src/structures/{IHttpMigrateFile.ts → INestiaMigrateFile.ts} +5 -5
 - package/src/structures/INestiaMigrateProgram.ts +11 -0
 - package/src/structures/INestiaMigrateSchema.ts +4 -0
 - package/src/utils/FilePrinter.ts +38 -38
 - package/src/utils/MapUtil.ts +13 -13
 - package/src/utils/OpenApiTypeChecker.ts +73 -73
 - package/src/utils/SetupWizard.ts +12 -12
 - package/src/utils/StringUtil.ts +113 -113
 - package/src/utils/openapi-down-convert/RefVisitor.ts +139 -139
 - package/src/utils/openapi-down-convert/converter.ts +527 -527
 - package/lib/MigrateApplication.d.ts +0 -28
 - package/lib/MigrateApplication.js +0 -7994
 - package/lib/MigrateApplication.js.map +0 -1
 - package/lib/analyzers/MigrateApplicationAnalyzer.d.ts +0 -4
 - package/lib/analyzers/MigrateApplicationAnalyzer.js +0 -12
 - package/lib/analyzers/MigrateApplicationAnalyzer.js.map +0 -1
 - package/lib/analyzers/MigrateControllerAnalyzer.d.ts +0 -7
 - package/lib/analyzers/MigrateControllerAnalyzer.js.map +0 -1
 - package/lib/archivers/MigrateFileArchiver.d.ts +0 -8
 - package/lib/archivers/MigrateFileArchiver.js +0 -35
 - package/lib/archivers/MigrateFileArchiver.js.map +0 -1
 - package/lib/internal/MigrateCommander.js.map +0 -1
 - package/lib/internal/MigrateInquirer.js.map +0 -1
 - package/lib/programmers/MigrateApiFileProgrammer.d.ts +0 -11
 - package/lib/programmers/MigrateApiFileProgrammer.js +0 -30
 - package/lib/programmers/MigrateApiFileProgrammer.js.map +0 -1
 - package/lib/programmers/MigrateApiFunctionProgrammer.d.ts +0 -9
 - package/lib/programmers/MigrateApiFunctionProgrammer.js +0 -102
 - package/lib/programmers/MigrateApiFunctionProgrammer.js.map +0 -1
 - package/lib/programmers/MigrateApiNamespaceProgrammer.d.ts +0 -9
 - package/lib/programmers/MigrateApiNamespaceProgrammer.js +0 -142
 - package/lib/programmers/MigrateApiNamespaceProgrammer.js.map +0 -1
 - package/lib/programmers/MigrateApiProgrammer.d.ts +0 -5
 - package/lib/programmers/MigrateApiProgrammer.js.map +0 -1
 - package/lib/programmers/MigrateApiSimulationProgrammer.d.ts +0 -8
 - package/lib/programmers/MigrateApiSimulationProgrammer.js.map +0 -1
 - package/lib/programmers/MigrateApiStartProgrammer.d.ts +0 -5
 - package/lib/programmers/MigrateApiStartProgrammer.js.map +0 -1
 - package/lib/programmers/MigrateDtoProgrammer.d.ts +0 -11
 - package/lib/programmers/MigrateDtoProgrammer.js.map +0 -1
 - package/lib/programmers/MigrateE2eFileProgrammer.d.ts +0 -8
 - package/lib/programmers/MigrateE2eFileProgrammer.js +0 -45
 - package/lib/programmers/MigrateE2eFileProgrammer.js.map +0 -1
 - package/lib/programmers/MigrateE2eProgrammer.d.ts +0 -5
 - package/lib/programmers/MigrateE2eProgrammer.js +0 -25
 - package/lib/programmers/MigrateE2eProgrammer.js.map +0 -1
 - package/lib/programmers/MigrateImportProgrammer.js.map +0 -1
 - package/lib/programmers/MigrateNestControllerProgrammer.d.ts +0 -7
 - package/lib/programmers/MigrateNestControllerProgrammer.js.map +0 -1
 - package/lib/programmers/MigrateNestMethodProgrammer.d.ts +0 -9
 - package/lib/programmers/MigrateNestMethodProgrammer.js.map +0 -1
 - package/lib/programmers/MigrateNestModuleProgrammer.d.ts +0 -5
 - package/lib/programmers/MigrateNestModuleProgrammer.js.map +0 -1
 - package/lib/programmers/MigrateNestProgrammer.d.ts +0 -5
 - package/lib/programmers/MigrateNestProgrammer.js +0 -69
 - package/lib/programmers/MigrateNestProgrammer.js.map +0 -1
 - package/lib/programmers/MigrateSchemaProgrammer.d.ts +0 -6
 - package/lib/programmers/MigrateSchemaProgrammer.js +0 -335
 - package/lib/programmers/MigrateSchemaProgrammer.js.map +0 -1
 - package/lib/structures/IHttpMigrateController.d.ts +0 -7
 - package/lib/structures/IHttpMigrateController.js.map +0 -1
 - package/lib/structures/IHttpMigrateDto.js.map +0 -1
 - package/lib/structures/IHttpMigrateFile.js.map +0 -1
 - package/lib/structures/IHttpMigrateProgram.d.ts +0 -33
 - package/lib/structures/IHttpMigrateProgram.js.map +0 -1
 - package/lib/structures/IHttpMigrateRoute.d.ts +0 -1
 - package/lib/structures/IHttpMigrateRoute.js.map +0 -1
 - package/lib/structures/IHttpMigrateSchema.d.ts +0 -4
 - package/lib/structures/IHttpMigrateSchema.js +0 -3
 - package/lib/structures/IHttpMigrateSchema.js.map +0 -1
 - package/src/MigrateApplication.ts +0 -124
 - package/src/analyzers/MigrateApplicationAnalyzer.ts +0 -18
 - package/src/archivers/MigrateFileArchiver.ts +0 -38
 - package/src/programmers/MigrateApiFileProgrammer.ts +0 -51
 - package/src/programmers/MigrateApiFunctionProgrammer.ts +0 -213
 - package/src/programmers/MigrateApiNamespaceProgrammer.ts +0 -418
 - package/src/programmers/MigrateApiProgrammer.ts +0 -104
 - package/src/programmers/MigrateApiSimulationProgrammer.ts +0 -324
 - package/src/programmers/MigrateApiStartProgrammer.ts +0 -194
 - package/src/programmers/MigrateDtoProgrammer.ts +0 -87
 - package/src/programmers/MigrateE2eFileProgrammer.ts +0 -117
 - package/src/programmers/MigrateE2eProgrammer.ts +0 -34
 - package/src/programmers/MigrateNestControllerProgrammer.ts +0 -57
 - package/src/programmers/MigrateNestMethodProgrammer.ts +0 -397
 - package/src/programmers/MigrateNestProgrammer.ts +0 -82
 - package/src/programmers/MigrateSchemaProgrammer.ts +0 -378
 - package/src/structures/IHttpMigrateController.ts +0 -8
 - package/src/structures/IHttpMigrateProgram.ts +0 -35
 - package/src/structures/IHttpMigrateRoute.ts +0 -1
 - package/src/structures/IHttpMigrateSchema.ts +0 -4
 
    
        package/lib/programmers/{MigrateNestMethodProgrammer.js → NestiaMigrateNestMethodProgrammer.js}
    RENAMED
    
    | 
         @@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) { 
     | 
|
| 
       3 
3 
     | 
    
         
             
                return (mod && mod.__esModule) ? mod : { "default": mod };
         
     | 
| 
       4 
4 
     | 
    
         
             
            };
         
     | 
| 
       5 
5 
     | 
    
         
             
            Object.defineProperty(exports, "__esModule", { value: true });
         
     | 
| 
       6 
     | 
    
         
            -
            exports. 
     | 
| 
      
 6 
     | 
    
         
            +
            exports.NestiaMigrateNestMethodProgrammer = void 0;
         
     | 
| 
       7 
7 
     | 
    
         
             
            const typescript_1 = __importDefault(require("typescript"));
         
     | 
| 
       8 
8 
     | 
    
         
             
            const ExpressionFactory_1 = require("typia/lib/factories/ExpressionFactory");
         
     | 
| 
       9 
9 
     | 
    
         
             
            const IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
         
     | 
| 
         @@ -11,76 +11,84 @@ const LiteralFactory_1 = require("typia/lib/factories/LiteralFactory"); 
     | 
|
| 
       11 
11 
     | 
    
         
             
            const TypeFactory_1 = require("typia/lib/factories/TypeFactory");
         
     | 
| 
       12 
12 
     | 
    
         
             
            const FilePrinter_1 = require("../utils/FilePrinter");
         
     | 
| 
       13 
13 
     | 
    
         
             
            const StringUtil_1 = require("../utils/StringUtil");
         
     | 
| 
       14 
     | 
    
         
            -
            const  
     | 
| 
       15 
     | 
    
         
            -
            var  
     | 
| 
       16 
     | 
    
         
            -
            (function ( 
     | 
| 
       17 
     | 
    
         
            -
                 
     | 
| 
       18 
     | 
    
         
            -
                    const output = route.success
         
     | 
| 
       19 
     | 
    
         
            -
                        ?  
     | 
| 
      
 14 
     | 
    
         
            +
            const NestiaMigrateSchemaProgrammer_1 = require("./NestiaMigrateSchemaProgrammer");
         
     | 
| 
      
 15 
     | 
    
         
            +
            var NestiaMigrateNestMethodProgrammer;
         
     | 
| 
      
 16 
     | 
    
         
            +
            (function (NestiaMigrateNestMethodProgrammer) {
         
     | 
| 
      
 17 
     | 
    
         
            +
                NestiaMigrateNestMethodProgrammer.write = (ctx) => {
         
     | 
| 
      
 18 
     | 
    
         
            +
                    const output = ctx.route.success
         
     | 
| 
      
 19 
     | 
    
         
            +
                        ? NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
         
     | 
| 
      
 20 
     | 
    
         
            +
                            components: ctx.components,
         
     | 
| 
      
 21 
     | 
    
         
            +
                            importer: ctx.importer,
         
     | 
| 
      
 22 
     | 
    
         
            +
                            schema: ctx.route.success.schema,
         
     | 
| 
      
 23 
     | 
    
         
            +
                        })
         
     | 
| 
       20 
24 
     | 
    
         
             
                        : TypeFactory_1.TypeFactory.keyword("void");
         
     | 
| 
       21 
25 
     | 
    
         
             
                    const method = typescript_1.default.factory.createMethodDeclaration([
         
     | 
| 
       22 
     | 
    
         
            -
                        ...writeMethodDecorators( 
     | 
| 
      
 26 
     | 
    
         
            +
                        ...writeMethodDecorators(ctx),
         
     | 
| 
       23 
27 
     | 
    
         
             
                        typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.PublicKeyword),
         
     | 
| 
       24 
28 
     | 
    
         
             
                        typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.AsyncKeyword),
         
     | 
| 
       25 
     | 
    
         
            -
                    ], undefined, route.accessor.at(-1), undefined, undefined, writeParameters( 
     | 
| 
      
 29 
     | 
    
         
            +
                    ], undefined, ctx.route.accessor.at(-1), undefined, undefined, writeParameters(ctx), typescript_1.default.factory.createTypeReferenceNode("Promise", [output]), typescript_1.default.factory.createBlock([
         
     | 
| 
       26 
30 
     | 
    
         
             
                        ...[
         
     | 
| 
       27 
     | 
    
         
            -
                            ...route.parameters.map((p) => p.key),
         
     | 
| 
       28 
     | 
    
         
            -
                            ...(route.headers ? ["headers"] : []),
         
     | 
| 
       29 
     | 
    
         
            -
                            ...(route.query ? ["query"] : []),
         
     | 
| 
       30 
     | 
    
         
            -
                            ...(route.body ? ["body"] : []),
         
     | 
| 
      
 31 
     | 
    
         
            +
                            ...ctx.route.parameters.map((p) => p.key),
         
     | 
| 
      
 32 
     | 
    
         
            +
                            ...(ctx.route.headers ? ["headers"] : []),
         
     | 
| 
      
 33 
     | 
    
         
            +
                            ...(ctx.route.query ? ["query"] : []),
         
     | 
| 
      
 34 
     | 
    
         
            +
                            ...(ctx.route.body ? ["body"] : []),
         
     | 
| 
       31 
35 
     | 
    
         
             
                        ].map((str) => typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createIdentifier(str))),
         
     | 
| 
       32 
     | 
    
         
            -
                        typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(importer.external({
         
     | 
| 
      
 36 
     | 
    
         
            +
                        typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(ctx.importer.external({
         
     | 
| 
       33 
37 
     | 
    
         
             
                            type: "default",
         
     | 
| 
       34 
38 
     | 
    
         
             
                            library: "typia",
         
     | 
| 
       35 
39 
     | 
    
         
             
                            name: "typia",
         
     | 
| 
       36 
40 
     | 
    
         
             
                        })), "random"), [output], undefined)),
         
     | 
| 
       37 
41 
     | 
    
         
             
                    ], true));
         
     | 
| 
       38 
     | 
    
         
            -
                    return FilePrinter_1.FilePrinter.description(method, writeDescription(config 
     | 
| 
      
 42 
     | 
    
         
            +
                    return FilePrinter_1.FilePrinter.description(method, writeDescription(ctx.config, ctx.route));
         
     | 
| 
       39 
43 
     | 
    
         
             
                };
         
     | 
| 
       40 
     | 
    
         
            -
                const writeDescription = (config 
     | 
| 
      
 44 
     | 
    
         
            +
                const writeDescription = (config, method) => {
         
     | 
| 
       41 
45 
     | 
    
         
             
                    var _a, _b, _c, _d;
         
     | 
| 
       42 
46 
     | 
    
         
             
                    return [
         
     | 
| 
       43 
47 
     | 
    
         
             
                        method.comment(),
         
     | 
| 
       44 
48 
     | 
    
         
             
                        `@${(_b = (_a = config.author) === null || _a === void 0 ? void 0 : _a.tag) !== null && _b !== void 0 ? _b : "nestia"} ${(_d = (_c = config.author) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : "Generated by Nestia - https://github.com/samchon/nestia"}`,
         
     | 
| 
       45 
49 
     | 
    
         
             
                    ].join("\n");
         
     | 
| 
       46 
50 
     | 
    
         
             
                };
         
     | 
| 
       47 
     | 
    
         
            -
                const writeMethodDecorators = ( 
     | 
| 
      
 51 
     | 
    
         
            +
                const writeMethodDecorators = (ctx) => {
         
     | 
| 
       48 
52 
     | 
    
         
             
                    var _a, _b, _c, _d, _e, _f;
         
     | 
| 
       49 
     | 
    
         
            -
                    const external = (lib 
     | 
| 
      
 53 
     | 
    
         
            +
                    const external = (lib, instance) => typescript_1.default.factory.createIdentifier(ctx.importer.external({
         
     | 
| 
       50 
54 
     | 
    
         
             
                        type: "instance",
         
     | 
| 
       51 
55 
     | 
    
         
             
                        library: lib,
         
     | 
| 
       52 
56 
     | 
    
         
             
                        name: instance,
         
     | 
| 
       53 
57 
     | 
    
         
             
                    }));
         
     | 
| 
       54 
58 
     | 
    
         
             
                    // EXAMPLES
         
     | 
| 
       55 
59 
     | 
    
         
             
                    const decorators = [];
         
     | 
| 
       56 
     | 
    
         
            -
                    if (route.success)
         
     | 
| 
       57 
     | 
    
         
            -
                        decorators.push(...writeExampleDecorators("Response")(importer)(route.success.media()));
         
     | 
| 
      
 60 
     | 
    
         
            +
                    if (ctx.route.success)
         
     | 
| 
      
 61 
     | 
    
         
            +
                        decorators.push(...writeExampleDecorators("Response")(ctx.importer)(ctx.route.success.media()));
         
     | 
| 
       58 
62 
     | 
    
         
             
                    // HUMAN-ONLY
         
     | 
| 
       59 
     | 
    
         
            -
                    if (route.operation()["x-samchon-human"] === true)
         
     | 
| 
       60 
     | 
    
         
            -
                        decorators.push(typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(external("@nestia/core" 
     | 
| 
      
 63 
     | 
    
         
            +
                    if (ctx.route.operation()["x-samchon-human"] === true)
         
     | 
| 
      
 64 
     | 
    
         
            +
                        decorators.push(typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(external("@nestia/core", "HumanRoute"), undefined, undefined)));
         
     | 
| 
       61 
65 
     | 
    
         
             
                    // ROUTER
         
     | 
| 
       62 
     | 
    
         
            -
                    const localPath = route.emendedPath
         
     | 
| 
       63 
     | 
    
         
            -
                        .slice(controller.path.length)
         
     | 
| 
      
 66 
     | 
    
         
            +
                    const localPath = ctx.route.emendedPath
         
     | 
| 
      
 67 
     | 
    
         
            +
                        .slice(ctx.controller.path.length)
         
     | 
| 
       64 
68 
     | 
    
         
             
                        .split("/")
         
     | 
| 
       65 
69 
     | 
    
         
             
                        .filter((str) => !!str.length)
         
     | 
| 
       66 
70 
     | 
    
         
             
                        .join("/");
         
     | 
| 
       67 
     | 
    
         
            -
                    const router = (instance) => typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(external("@nestia/core" 
     | 
| 
      
 71 
     | 
    
         
            +
                    const router = (instance) => typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(external("@nestia/core", instance), StringUtil_1.StringUtil.capitalize(ctx.route.method)), [], localPath.length
         
     | 
| 
       68 
72 
     | 
    
         
             
                        ? [typescript_1.default.factory.createStringLiteral(localPath)]
         
     | 
| 
       69 
73 
     | 
    
         
             
                        : undefined));
         
     | 
| 
       70 
     | 
    
         
            -
                    if ((_a = route.success) === null || _a === void 0 ? void 0 : _a["x-nestia-encrypted"])
         
     | 
| 
      
 74 
     | 
    
         
            +
                    if ((_a = ctx.route.success) === null || _a === void 0 ? void 0 : _a["x-nestia-encrypted"])
         
     | 
| 
       71 
75 
     | 
    
         
             
                        decorators.push(router("EncryptedRoute"));
         
     | 
| 
       72 
     | 
    
         
            -
                    else if (((_b = route.success) === null || _b === void 0 ? void 0 : _b.type) === "text/plain")
         
     | 
| 
       73 
     | 
    
         
            -
                        decorators.push(typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(external("@nestjs/common" 
     | 
| 
       74 
     | 
    
         
            -
                    else if (((_c = route.success) === null || _c === void 0 ? void 0 : _c.type) === "application/x-www-form-urlencoded")
         
     | 
| 
      
 76 
     | 
    
         
            +
                    else if (((_b = ctx.route.success) === null || _b === void 0 ? void 0 : _b.type) === "text/plain")
         
     | 
| 
      
 77 
     | 
    
         
            +
                        decorators.push(typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(external("@nestjs/common", StringUtil_1.StringUtil.capitalize(ctx.route.method)), [], [typescript_1.default.factory.createStringLiteral(ctx.route.path)])));
         
     | 
| 
      
 78 
     | 
    
         
            +
                    else if (((_c = ctx.route.success) === null || _c === void 0 ? void 0 : _c.type) === "application/x-www-form-urlencoded")
         
     | 
| 
       75 
79 
     | 
    
         
             
                        decorators.push(router("TypedQuery"));
         
     | 
| 
       76 
     | 
    
         
            -
                    else if (route.method === "head")
         
     | 
| 
       77 
     | 
    
         
            -
                        decorators.push(typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(external("@nestjs/common" 
     | 
| 
       78 
     | 
    
         
            -
                    else if (route.success === null ||
         
     | 
| 
       79 
     | 
    
         
            -
                        ((_d = route.success) === null || _d === void 0 ? void 0 : _d.type) === "application/json")
         
     | 
| 
      
 80 
     | 
    
         
            +
                    else if (ctx.route.method === "head")
         
     | 
| 
      
 81 
     | 
    
         
            +
                        decorators.push(typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(external("@nestjs/common", "Head"), [], [typescript_1.default.factory.createStringLiteral(ctx.route.path)])));
         
     | 
| 
      
 82 
     | 
    
         
            +
                    else if (ctx.route.success === null ||
         
     | 
| 
      
 83 
     | 
    
         
            +
                        ((_d = ctx.route.success) === null || _d === void 0 ? void 0 : _d.type) === "application/json")
         
     | 
| 
       80 
84 
     | 
    
         
             
                        decorators.push(router("TypedRoute"));
         
     | 
| 
       81 
     | 
    
         
            -
                    for (const [key, value] of Object.entries((_e = route.exceptions) !== null && _e !== void 0 ? _e : {}))
         
     | 
| 
       82 
     | 
    
         
            -
                        decorators.push(typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(external("@nestia/core" 
     | 
| 
       83 
     | 
    
         
            -
                             
     | 
| 
      
 85 
     | 
    
         
            +
                    for (const [key, value] of Object.entries((_e = ctx.route.exceptions) !== null && _e !== void 0 ? _e : {}))
         
     | 
| 
      
 86 
     | 
    
         
            +
                        decorators.push(typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(external("@nestia/core", "TypedException"), [
         
     | 
| 
      
 87 
     | 
    
         
            +
                            NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
         
     | 
| 
      
 88 
     | 
    
         
            +
                                components: ctx.components,
         
     | 
| 
      
 89 
     | 
    
         
            +
                                importer: ctx.importer,
         
     | 
| 
      
 90 
     | 
    
         
            +
                                schema: value.schema,
         
     | 
| 
      
 91 
     | 
    
         
            +
                            }),
         
     | 
| 
       84 
92 
     | 
    
         
             
                        ], [
         
     | 
| 
       85 
93 
     | 
    
         
             
                            isNaN(Number(key))
         
     | 
| 
       86 
94 
     | 
    
         
             
                                ? typescript_1.default.factory.createStringLiteral(key)
         
     | 
| 
         @@ -93,76 +101,80 @@ var MigrateNestMethodProgrammer; 
     | 
|
| 
       93 
101 
     | 
    
         
             
                        ])));
         
     | 
| 
       94 
102 
     | 
    
         
             
                    return decorators;
         
     | 
| 
       95 
103 
     | 
    
         
             
                };
         
     | 
| 
       96 
     | 
    
         
            -
                const writeParameters = ( 
     | 
| 
      
 104 
     | 
    
         
            +
                const writeParameters = (ctx) => {
         
     | 
| 
       97 
105 
     | 
    
         
             
                    var _a;
         
     | 
| 
       98 
106 
     | 
    
         
             
                    return [
         
     | 
| 
       99 
     | 
    
         
            -
                        ...route.parameters.map((p) => typescript_1.default.factory.createParameterDeclaration([
         
     | 
| 
       100 
     | 
    
         
            -
                            ...writeExampleDecorators("Parameter")(importer)(p.parameter()),
         
     | 
| 
       101 
     | 
    
         
            -
                            typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.external({
         
     | 
| 
      
 107 
     | 
    
         
            +
                        ...ctx.route.parameters.map((p) => typescript_1.default.factory.createParameterDeclaration([
         
     | 
| 
      
 108 
     | 
    
         
            +
                            ...writeExampleDecorators("Parameter")(ctx.importer)(p.parameter()),
         
     | 
| 
      
 109 
     | 
    
         
            +
                            typescript_1.default.factory.createDecorator(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
         
     | 
| 
       102 
110 
     | 
    
         
             
                                type: "instance",
         
     | 
| 
       103 
111 
     | 
    
         
             
                                library: "@nestia/core",
         
     | 
| 
       104 
112 
     | 
    
         
             
                                name: "TypedParam",
         
     | 
| 
       105 
113 
     | 
    
         
             
                            })), undefined, [typescript_1.default.factory.createStringLiteral(p.key)])),
         
     | 
| 
       106 
     | 
    
         
            -
                        ], undefined, p.key, undefined,  
     | 
| 
       107 
     | 
    
         
            -
             
     | 
| 
      
 114 
     | 
    
         
            +
                        ], undefined, p.key, undefined, NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
         
     | 
| 
      
 115 
     | 
    
         
            +
                            components: ctx.components,
         
     | 
| 
      
 116 
     | 
    
         
            +
                            importer: ctx.importer,
         
     | 
| 
      
 117 
     | 
    
         
            +
                            schema: p.schema,
         
     | 
| 
      
 118 
     | 
    
         
            +
                        }))),
         
     | 
| 
      
 119 
     | 
    
         
            +
                        ...(ctx.route.headers
         
     | 
| 
       108 
120 
     | 
    
         
             
                            ? [
         
     | 
| 
       109 
121 
     | 
    
         
             
                                writeDtoParameter({
         
     | 
| 
       110 
122 
     | 
    
         
             
                                    method: "TypedHeaders",
         
     | 
| 
       111 
123 
     | 
    
         
             
                                    variable: "headers",
         
     | 
| 
       112 
124 
     | 
    
         
             
                                    arguments: [],
         
     | 
| 
       113 
     | 
    
         
            -
                                })(components)(importer)({
         
     | 
| 
      
 125 
     | 
    
         
            +
                                })(ctx.components)(ctx.importer)({
         
     | 
| 
       114 
126 
     | 
    
         
             
                                    required: true,
         
     | 
| 
       115 
     | 
    
         
            -
                                    schema: route.headers.schema,
         
     | 
| 
       116 
     | 
    
         
            -
                                    example: route.headers.example(),
         
     | 
| 
       117 
     | 
    
         
            -
                                    examples: route.headers.examples(),
         
     | 
| 
      
 127 
     | 
    
         
            +
                                    schema: ctx.route.headers.schema,
         
     | 
| 
      
 128 
     | 
    
         
            +
                                    example: ctx.route.headers.example(),
         
     | 
| 
      
 129 
     | 
    
         
            +
                                    examples: ctx.route.headers.examples(),
         
     | 
| 
       118 
130 
     | 
    
         
             
                                }),
         
     | 
| 
       119 
131 
     | 
    
         
             
                            ]
         
     | 
| 
       120 
132 
     | 
    
         
             
                            : []),
         
     | 
| 
       121 
     | 
    
         
            -
                        ...(route.query
         
     | 
| 
      
 133 
     | 
    
         
            +
                        ...(ctx.route.query
         
     | 
| 
       122 
134 
     | 
    
         
             
                            ? [
         
     | 
| 
       123 
135 
     | 
    
         
             
                                writeDtoParameter({
         
     | 
| 
       124 
136 
     | 
    
         
             
                                    method: "TypedQuery",
         
     | 
| 
       125 
137 
     | 
    
         
             
                                    variable: "query",
         
     | 
| 
       126 
138 
     | 
    
         
             
                                    arguments: [],
         
     | 
| 
       127 
     | 
    
         
            -
                                })(components)(importer)({
         
     | 
| 
      
 139 
     | 
    
         
            +
                                })(ctx.components)(ctx.importer)({
         
     | 
| 
       128 
140 
     | 
    
         
             
                                    required: true,
         
     | 
| 
       129 
     | 
    
         
            -
                                    schema: route.query.schema,
         
     | 
| 
       130 
     | 
    
         
            -
                                    example: route.query.example(),
         
     | 
| 
       131 
     | 
    
         
            -
                                    examples: route.query.examples(),
         
     | 
| 
      
 141 
     | 
    
         
            +
                                    schema: ctx.route.query.schema,
         
     | 
| 
      
 142 
     | 
    
         
            +
                                    example: ctx.route.query.example(),
         
     | 
| 
      
 143 
     | 
    
         
            +
                                    examples: ctx.route.query.examples(),
         
     | 
| 
       132 
144 
     | 
    
         
             
                                }),
         
     | 
| 
       133 
145 
     | 
    
         
             
                            ]
         
     | 
| 
       134 
146 
     | 
    
         
             
                            : []),
         
     | 
| 
       135 
     | 
    
         
            -
                        ...(route.body
         
     | 
| 
      
 147 
     | 
    
         
            +
                        ...(ctx.route.body
         
     | 
| 
       136 
148 
     | 
    
         
             
                            ? [
         
     | 
| 
       137 
149 
     | 
    
         
             
                                writeDtoParameter({
         
     | 
| 
       138 
     | 
    
         
            -
                                    method: route.body["x-nestia-encrypted"]
         
     | 
| 
      
 150 
     | 
    
         
            +
                                    method: ctx.route.body["x-nestia-encrypted"]
         
     | 
| 
       139 
151 
     | 
    
         
             
                                        ? "EncryptedBody"
         
     | 
| 
       140 
     | 
    
         
            -
                                        : route.body.type === "application/json"
         
     | 
| 
      
 152 
     | 
    
         
            +
                                        : ctx.route.body.type === "application/json"
         
     | 
| 
       141 
153 
     | 
    
         
             
                                            ? "TypedBody"
         
     | 
| 
       142 
     | 
    
         
            -
                                            : route.body.type === "application/x-www-form-urlencoded"
         
     | 
| 
      
 154 
     | 
    
         
            +
                                            : ctx.route.body.type === "application/x-www-form-urlencoded"
         
     | 
| 
       143 
155 
     | 
    
         
             
                                                ? ["TypedQuery", "Body"]
         
     | 
| 
       144 
     | 
    
         
            -
                                                : route.body.type === "text/plain"
         
     | 
| 
      
 156 
     | 
    
         
            +
                                                : ctx.route.body.type === "text/plain"
         
     | 
| 
       145 
157 
     | 
    
         
             
                                                    ? "PlainBody"
         
     | 
| 
       146 
     | 
    
         
            -
                                                    : route.body.type === "multipart/form-data"
         
     | 
| 
      
 158 
     | 
    
         
            +
                                                    : ctx.route.body.type === "multipart/form-data"
         
     | 
| 
       147 
159 
     | 
    
         
             
                                                        ? ["TypedFormData", "Body"]
         
     | 
| 
       148 
160 
     | 
    
         
             
                                                        : "TypedBody",
         
     | 
| 
       149 
161 
     | 
    
         
             
                                    variable: "body",
         
     | 
| 
       150 
     | 
    
         
            -
                                    arguments: route.body.type === "multipart/form-data"
         
     | 
| 
      
 162 
     | 
    
         
            +
                                    arguments: ctx.route.body.type === "multipart/form-data"
         
     | 
| 
       151 
163 
     | 
    
         
             
                                        ? [
         
     | 
| 
       152 
     | 
    
         
            -
                                            typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.external({
         
     | 
| 
      
 164 
     | 
    
         
            +
                                            typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(ctx.importer.external({
         
     | 
| 
       153 
165 
     | 
    
         
             
                                                type: "default",
         
     | 
| 
       154 
166 
     | 
    
         
             
                                                library: "multer",
         
     | 
| 
       155 
167 
     | 
    
         
             
                                                name: "Multer",
         
     | 
| 
       156 
168 
     | 
    
         
             
                                            })), undefined, undefined)),
         
     | 
| 
       157 
169 
     | 
    
         
             
                                        ]
         
     | 
| 
       158 
170 
     | 
    
         
             
                                        : [],
         
     | 
| 
       159 
     | 
    
         
            -
                                })(components)(importer)({
         
     | 
| 
       160 
     | 
    
         
            -
                                    schema: route.body.schema,
         
     | 
| 
       161 
     | 
    
         
            -
                                    required: !((route.body.type === "application/json" ||
         
     | 
| 
       162 
     | 
    
         
            -
                                        route.body.type === "text/plain") &&
         
     | 
| 
       163 
     | 
    
         
            -
                                        ((_a = route.operation().requestBody) === null || _a === void 0 ? void 0 : _a.required) === false),
         
     | 
| 
       164 
     | 
    
         
            -
                                    example: route.body.media().example,
         
     | 
| 
       165 
     | 
    
         
            -
                                    examples: route.body.media().examples,
         
     | 
| 
      
 171 
     | 
    
         
            +
                                })(ctx.components)(ctx.importer)({
         
     | 
| 
      
 172 
     | 
    
         
            +
                                    schema: ctx.route.body.schema,
         
     | 
| 
      
 173 
     | 
    
         
            +
                                    required: !((ctx.route.body.type === "application/json" ||
         
     | 
| 
      
 174 
     | 
    
         
            +
                                        ctx.route.body.type === "text/plain") &&
         
     | 
| 
      
 175 
     | 
    
         
            +
                                        ((_a = ctx.route.operation().requestBody) === null || _a === void 0 ? void 0 : _a.required) === false),
         
     | 
| 
      
 176 
     | 
    
         
            +
                                    example: ctx.route.body.media().example,
         
     | 
| 
      
 177 
     | 
    
         
            +
                                    examples: ctx.route.body.media().examples,
         
     | 
| 
       166 
178 
     | 
    
         
             
                                }),
         
     | 
| 
       167 
179 
     | 
    
         
             
                            ]
         
     | 
| 
       168 
180 
     | 
    
         
             
                            : []),
         
     | 
| 
         @@ -183,7 +195,11 @@ var MigrateNestMethodProgrammer; 
     | 
|
| 
       183 
195 
     | 
    
         
             
                            : IdentifierFactory_1.IdentifierFactory.access(instance, accessor.method[1]), undefined, accessor.arguments)),
         
     | 
| 
       184 
196 
     | 
    
         
             
                    ], undefined, accessor.variable, props.required === false
         
     | 
| 
       185 
197 
     | 
    
         
             
                        ? typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)
         
     | 
| 
       186 
     | 
    
         
            -
                        : undefined,  
     | 
| 
      
 198 
     | 
    
         
            +
                        : undefined, NestiaMigrateSchemaProgrammer_1.NestiaMigrateSchemaProgrammer.write({
         
     | 
| 
      
 199 
     | 
    
         
            +
                        components,
         
     | 
| 
      
 200 
     | 
    
         
            +
                        importer,
         
     | 
| 
      
 201 
     | 
    
         
            +
                        schema: props.schema,
         
     | 
| 
      
 202 
     | 
    
         
            +
                    }));
         
     | 
| 
       187 
203 
     | 
    
         
             
                };
         
     | 
| 
       188 
204 
     | 
    
         
             
                const writeExampleDecorators = (kind) => (importer) => (media) => {
         
     | 
| 
       189 
205 
     | 
    
         
             
                    var _a;
         
     | 
| 
         @@ -204,5 +220,5 @@ var MigrateNestMethodProgrammer; 
     | 
|
| 
       204 
220 
     | 
    
         
             
                        })), kind), [], [typescript_1.default.factory.createStringLiteral(key), LiteralFactory_1.LiteralFactory.write(value)]))),
         
     | 
| 
       205 
221 
     | 
    
         
             
                    ];
         
     | 
| 
       206 
222 
     | 
    
         
             
                };
         
     | 
| 
       207 
     | 
    
         
            -
            })( 
     | 
| 
       208 
     | 
    
         
            -
            //# sourceMappingURL= 
     | 
| 
      
 223 
     | 
    
         
            +
            })(NestiaMigrateNestMethodProgrammer || (exports.NestiaMigrateNestMethodProgrammer = NestiaMigrateNestMethodProgrammer = {}));
         
     | 
| 
      
 224 
     | 
    
         
            +
            //# sourceMappingURL=NestiaMigrateNestMethodProgrammer.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"NestiaMigrateNestMethodProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestiaMigrateNestMethodProgrammer.ts"],"names":[],"mappings":";;;;;;AACA,4DAA4B;AAC5B,6EAA0E;AAC1E,6EAA0E;AAC1E,uEAAoE;AACpE,iEAA8D;AAI9D,sDAAmD;AACnD,oDAAiD;AAEjD,mFAAgF;AAEhF,IAAiB,iCAAiC,CAuYjD;AAvYD,WAAiB,iCAAiC;IASnC,uCAAK,GAAG,CAAC,GAAa,EAAwB,EAAE;QAC3D,MAAM,MAAM,GAAgB,GAAG,CAAC,KAAK,CAAC,OAAO;YAC3C,CAAC,CAAC,6DAA6B,CAAC,KAAK,CAAC;gBAClC,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;aACjC,CAAC;YACJ,CAAC,CAAC,yBAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAyB,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACrE;YACE,GAAG,qBAAqB,CAAC,GAAG,CAAC;YAC7B,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;YACnD,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,YAAY,CAAC;SACnD,EACD,SAAS,EACT,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,EAC1B,SAAS,EACT,SAAS,EACT,eAAe,CAAC,GAAG,CAAC,EACpB,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,EACvD,oBAAE,CAAC,OAAO,CAAC,WAAW,CACpB;YACE,GAAG;gBACD,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBACzC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACZ,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CACjC,CACF;YACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CACtB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,OAAO;aACd,CAAC,CACH,EACD,QAAQ,CACT,EACD,CAAC,MAAM,CAAC,EACR,SAAS,CACV,CACF;SACF,EACD,IAAI,CACL,CACF,CAAC;QACF,OAAO,yBAAW,CAAC,WAAW,CAC5B,MAAM,EACN,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CACxC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CACvB,MAA4B,EAC5B,MAAyB,EACjB,EAAE;;QACV,OAAA;YACE,MAAM,CAAC,OAAO,EAAE;YAChB,IAAI,MAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,GAAG,mCAAI,QAAQ,IAAI,MAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,KAAK,mCAAI,yDAAyD,EAAE;SAC1H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAAA,CAAC;IAEf,MAAM,qBAAqB,GAAG,CAAC,GAAa,EAAkB,EAAE;;QAC9D,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,QAAgB,EAAiB,EAAE,CAChE,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,QAAQ;SACf,CAAC,CACH,CAAC;QAEJ,WAAW;QACX,MAAM,UAAU,GAAmB,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO;YACnB,UAAU,CAAC,IAAI,CACb,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CACjD,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAC1B,CACF,CAAC;QAEJ,aAAa;QACb,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,KAAK,IAAI;YACnD,UAAU,CAAC,IAAI,CACb,oBAAE,CAAC,OAAO,CAAC,eAAe,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,EACtC,SAAS,EACT,SAAS,CACV,CACF,CACF,CAAC;QAEJ,SAAS;QACT,MAAM,SAAS,GAAW,GAAG,CAAC,KAAK,CAAC,WAAW;aAC5C,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;aACjC,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;aAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,MAAM,GAAG,CAAC,QAAgB,EAAE,EAAE,CAClC,oBAAE,CAAC,OAAO,CAAC,eAAe,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CACtB,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,EAClC,uBAAU,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CACxC,EACD,EAAE,EACF,SAAS,CAAC,MAAM;YACd,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC,CAAC,SAAS,CACd,CACF,CAAC;QACJ,IAAI,MAAA,GAAG,CAAC,KAAK,CAAC,OAAO,0CAAG,oBAAoB,CAAC;YAC3C,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;aACvC,IAAI,CAAA,MAAA,GAAG,CAAC,KAAK,CAAC,OAAO,0CAAE,IAAI,MAAK,YAAY;YAC/C,UAAU,CAAC,IAAI,CACb,oBAAE,CAAC,OAAO,CAAC,eAAe,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,QAAQ,CAAC,gBAAgB,EAAE,uBAAU,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EACnE,EAAE,EACF,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACjD,CACF,CACF,CAAC;aACC,IAAI,CAAA,MAAA,GAAG,CAAC,KAAK,CAAC,OAAO,0CAAE,IAAI,MAAK,mCAAmC;YACtE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;aACnC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM;YAClC,UAAU,CAAC,IAAI,CACb,oBAAE,CAAC,OAAO,CAAC,eAAe,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAClC,EAAE,EACF,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACjD,CACF,CACF,CAAC;aACC,IACH,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI;YAC1B,CAAA,MAAA,GAAG,CAAC,KAAK,CAAC,OAAO,0CAAE,IAAI,MAAK,kBAAkB;YAE9C,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAA,GAAG,CAAC,KAAK,CAAC,UAAU,mCAAI,EAAE,CAAC;YACnE,UAAU,CAAC,IAAI,CACb,oBAAE,CAAC,OAAO,CAAC,eAAe,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAC1C;gBACE,6DAA6B,CAAC,KAAK,CAAC;oBAClC,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC;aACH,EACD;gBACE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC;oBACrC,CAAC,CAAC,qCAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzC,GAAG,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,0CAAE,MAAM;oBACtC,CAAC,CAAC;wBACE,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAY,CAC9B;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CACF,CACF,CACF,CAAC;QACJ,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,GAAa,EAA6B,EAAE;;QAAC,OAAA;YACpE,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,oBAAE,CAAC,OAAO,CAAC,0BAA0B,CACnC;gBACE,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;gBACnE,oBAAE,CAAC,OAAO,CAAC,eAAe,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACpB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,cAAc;oBACvB,IAAI,EAAE,YAAY;iBACnB,CAAC,CACH,EACD,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CACxC,CACF;aACF,EACD,SAAS,EACT,CAAC,CAAC,GAAG,EACL,SAAS,EACT,6DAA6B,CAAC,KAAK,CAAC;gBAClC,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CACH,CACF;YACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO;gBACnB,CAAC,CAAC;oBACE,iBAAiB,CAAC;wBAChB,MAAM,EAAE,cAAc;wBACtB,QAAQ,EAAE,SAAS;wBACnB,SAAS,EAAE,EAAE;qBACd,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC/B,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;wBAChC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;wBACpC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;qBACvC,CAAC;iBACH;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK;gBACjB,CAAC,CAAC;oBACE,iBAAiB,CAAC;wBAChB,MAAM,EAAE,YAAY;wBACpB,QAAQ,EAAE,OAAO;wBACjB,SAAS,EAAE,EAAE;qBACd,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC/B,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;wBAC9B,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;wBAClC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE;qBACrC,CAAC;iBACH;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI;gBAChB,CAAC,CAAC;oBACE,iBAAiB,CAAC;wBAChB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC;4BAC1C,CAAC,CAAC,eAAe;4BACjB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB;gCAC1C,CAAC,CAAC,WAAW;gCACb,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,mCAAmC;oCAC3D,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC;oCACxB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY;wCACpC,CAAC,CAAC,WAAW;wCACb,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB;4CAC7C,CAAC,CAAC,CAAC,eAAe,EAAE,MAAM,CAAC;4CAC3B,CAAC,CAAC,WAAW;wBACvB,QAAQ,EAAE,MAAM;wBAChB,SAAS,EACP,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB;4BAC3C,CAAC,CAAC;gCACE,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,SAAS,EACT,SAAS,EACT,EAAE,EACF,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;oCACpB,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,QAAQ;oCACjB,IAAI,EAAE,QAAQ;iCACf,CAAC,CACH,EACD,SAAS,EACT,SAAS,CACV,CACF;6BACF;4BACH,CAAC,CAAC,EAAE;qBACT,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC/B,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;wBAC7B,QAAQ,EAAE,CAAC,CACT,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB;4BACzC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;4BACvC,CAAA,MAAA,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,WAAW,0CAAE,QAAQ,MAAK,KAAK,CACtD;wBACD,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO;wBACvC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ;qBAC1C,CAAC;iBACH;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAA;KAAA,CAAC;IAEF,MAAM,iBAAiB,GACrB,CAAC,QAIA,EAAE,EAAE,CACL,CAAC,UAA+B,EAAE,EAAE,CACpC,CAAC,QAAuC,EAAE,EAAE,CAC5C,CAAC,KAKA,EAA2B,EAAE;QAC5B,MAAM,QAAQ,GAAG,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAC1C,QAAQ,CAAC,QAAQ,CAAC;YAChB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,cAAc;YACvB,IAAI,EACF,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ;gBACjC,CAAC,CAAC,QAAQ,CAAC,MAAM;gBACjB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;SACzB,CAAC,CACH,CAAC;QACF,OAAO,oBAAE,CAAC,OAAO,CAAC,0BAA0B,CAC1C;YACE,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;YACvD,oBAAE,CAAC,OAAO,CAAC,eAAe,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ;gBACjC,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,qCAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC1D,SAAS,EACT,QAAQ,CAAC,SAAS,CACnB,CACF;SACF,EACD,SAAS,EACT,QAAQ,CAAC,QAAQ,EACjB,KAAK,CAAC,QAAQ,KAAK,KAAK;YACtB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;YACrD,CAAC,CAAC,SAAS,EACb,6DAA6B,CAAC,KAAK,CAAC;YAClC,UAAU;YACV,QAAQ;YACR,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEJ,MAAM,sBAAsB,GAC1B,CAAC,IAA8B,EAAE,EAAE,CACnC,CAAC,QAAuC,EAAE,EAAE,CAC5C,CAAC,KAGA,EAAkB,EAAE;;QAAC,OAAA;YACpB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS;gBAC7B,CAAC,CAAC;oBACE,oBAAE,CAAC,OAAO,CAAC,eAAe,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CACtB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,QAAQ,CAAC,QAAQ,CAAC;wBAChB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,cAAc;wBACvB,IAAI,EAAE,gBAAgB;qBACvB,CAAC,CACH,EACD,IAAI,CACL,EACD,EAAE,EACF,CAAC,+BAAc,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CACtC,CACF;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,KAAK,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAC3D,oBAAE,CAAC,OAAO,CAAC,eAAe,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CACtB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,QAAQ,CAAC,QAAQ,CAAC;gBAChB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,cAAc;gBACvB,IAAI,EAAE,gBAAgB;aACvB,CAAC,CACH,EACD,IAAI,CACL,EACD,EAAE,EACF,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,+BAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACnE,CACF,CACF;SACF,CAAA;KAAA,CAAC;AACN,CAAC,EAvYgB,iCAAiC,iDAAjC,iCAAiC,QAuYjD"}
         
     | 
    
        package/lib/programmers/{MigrateNestModuleProgrammer.js → NestiaMigrateNestModuleProgrammer.js}
    RENAMED
    
    | 
         @@ -3,12 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) { 
     | 
|
| 
       3 
3 
     | 
    
         
             
                return (mod && mod.__esModule) ? mod : { "default": mod };
         
     | 
| 
       4 
4 
     | 
    
         
             
            };
         
     | 
| 
       5 
5 
     | 
    
         
             
            Object.defineProperty(exports, "__esModule", { value: true });
         
     | 
| 
       6 
     | 
    
         
            -
            exports. 
     | 
| 
      
 6 
     | 
    
         
            +
            exports.NestiaMigrateNestModuleProgrammer = void 0;
         
     | 
| 
       7 
7 
     | 
    
         
             
            const typescript_1 = __importDefault(require("typescript"));
         
     | 
| 
       8 
8 
     | 
    
         
             
            const FilePrinter_1 = require("../utils/FilePrinter");
         
     | 
| 
       9 
     | 
    
         
            -
            var  
     | 
| 
       10 
     | 
    
         
            -
            (function ( 
     | 
| 
       11 
     | 
    
         
            -
                 
     | 
| 
      
 9 
     | 
    
         
            +
            var NestiaMigrateNestModuleProgrammer;
         
     | 
| 
      
 10 
     | 
    
         
            +
            (function (NestiaMigrateNestModuleProgrammer) {
         
     | 
| 
      
 11 
     | 
    
         
            +
                NestiaMigrateNestModuleProgrammer.write = (controllers) => [
         
     | 
| 
       12 
12 
     | 
    
         
             
                    $import("@nestjs/common")("Module"),
         
     | 
| 
       13 
13 
     | 
    
         
             
                    ...(controllers.length ? [FilePrinter_1.FilePrinter.newLine()] : []),
         
     | 
| 
       14 
14 
     | 
    
         
             
                    ...controllers.map((c) => $import(`${c.location.replace("src/", "./")}/${c.name}`)(c.name)),
         
     | 
| 
         @@ -22,8 +22,8 @@ var MigrateNestModuleProgrammer; 
     | 
|
| 
       22 
22 
     | 
    
         
             
                        typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.ExportKeyword),
         
     | 
| 
       23 
23 
     | 
    
         
             
                    ], "MyModule", undefined, undefined, []),
         
     | 
| 
       24 
24 
     | 
    
         
             
                ];
         
     | 
| 
       25 
     | 
    
         
            -
            })( 
     | 
| 
      
 25 
     | 
    
         
            +
            })(NestiaMigrateNestModuleProgrammer || (exports.NestiaMigrateNestModuleProgrammer = NestiaMigrateNestModuleProgrammer = {}));
         
     | 
| 
       26 
26 
     | 
    
         
             
            const $import = (file) => (instance) => typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamedImports([
         
     | 
| 
       27 
27 
     | 
    
         
             
                typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier(instance)),
         
     | 
| 
       28 
28 
     | 
    
         
             
            ])), typescript_1.default.factory.createStringLiteral(file));
         
     | 
| 
       29 
     | 
    
         
            -
            //# sourceMappingURL= 
     | 
| 
      
 29 
     | 
    
         
            +
            //# sourceMappingURL=NestiaMigrateNestModuleProgrammer.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"NestiaMigrateNestModuleProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestiaMigrateNestModuleProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAG5B,sDAAmD;AAEnD,IAAiB,iCAAiC,CA0CjD;AA1CD,WAAiB,iCAAiC;IACnC,uCAAK,GAAG,CACnB,WAAuC,EACvB,EAAE,CAAC;QACnB,OAAO,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC;QACnC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CACjE;QACD,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,yBAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B;YACE,oBAAE,CAAC,OAAO,CAAC,eAAe,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,EACT;gBACE,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;oBACE,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAC1C,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CACrC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CACpC,EACD,IAAI,CACL,CACF;iBACF,EACD,IAAI,CACL;aACF,CACF,CACF;YACD,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;SACpD,EACD,UAAU,EACV,SAAS,EACT,SAAS,EACT,EAAE,CACH;KACF,CAAC;AACJ,CAAC,EA1CgB,iCAAiC,iDAAjC,iCAAiC,QA0CjD;AAED,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,QAAgB,EAAE,EAAE,CACrD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAC3B,KAAK,EACL,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAC5B,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,KAAK,EACL,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACtC;CACF,CAAC,CACH,EACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CACrC,CAAC"}
         
     | 
| 
         @@ -0,0 +1,65 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            "use strict";
         
     | 
| 
      
 2 
     | 
    
         
            +
            var __importDefault = (this && this.__importDefault) || function (mod) {
         
     | 
| 
      
 3 
     | 
    
         
            +
                return (mod && mod.__esModule) ? mod : { "default": mod };
         
     | 
| 
      
 4 
     | 
    
         
            +
            };
         
     | 
| 
      
 5 
     | 
    
         
            +
            Object.defineProperty(exports, "__esModule", { value: true });
         
     | 
| 
      
 6 
     | 
    
         
            +
            exports.NestiaMigrateNestProgrammer = void 0;
         
     | 
| 
      
 7 
     | 
    
         
            +
            const typescript_1 = __importDefault(require("typescript"));
         
     | 
| 
      
 8 
     | 
    
         
            +
            const NestiaMigrateControllerAnalyzer_1 = require("../analyzers/NestiaMigrateControllerAnalyzer");
         
     | 
| 
      
 9 
     | 
    
         
            +
            const FilePrinter_1 = require("../utils/FilePrinter");
         
     | 
| 
      
 10 
     | 
    
         
            +
            const NestiaMigrateDtoProgrammer_1 = require("./NestiaMigrateDtoProgrammer");
         
     | 
| 
      
 11 
     | 
    
         
            +
            const NestiaMigrateImportProgrammer_1 = require("./NestiaMigrateImportProgrammer");
         
     | 
| 
      
 12 
     | 
    
         
            +
            const NestiaMigrateNestControllerProgrammer_1 = require("./NestiaMigrateNestControllerProgrammer");
         
     | 
| 
      
 13 
     | 
    
         
            +
            const NestiaMigrateNestModuleProgrammer_1 = require("./NestiaMigrateNestModuleProgrammer");
         
     | 
| 
      
 14 
     | 
    
         
            +
            var NestiaMigrateNestProgrammer;
         
     | 
| 
      
 15 
     | 
    
         
            +
            (function (NestiaMigrateNestProgrammer) {
         
     | 
| 
      
 16 
     | 
    
         
            +
                NestiaMigrateNestProgrammer.write = (context) => {
         
     | 
| 
      
 17 
     | 
    
         
            +
                    const controllers = NestiaMigrateControllerAnalyzer_1.NestiaMigrateControllerAnalyzer.analyze(context.routes);
         
     | 
| 
      
 18 
     | 
    
         
            +
                    const statements = [
         
     | 
| 
      
 19 
     | 
    
         
            +
                        ["src/MyModule.ts", NestiaMigrateNestModuleProgrammer_1.NestiaMigrateNestModuleProgrammer.write(controllers)],
         
     | 
| 
      
 20 
     | 
    
         
            +
                        ...controllers.map((c) => [
         
     | 
| 
      
 21 
     | 
    
         
            +
                            `${c.location}/${c.name}.ts`,
         
     | 
| 
      
 22 
     | 
    
         
            +
                            NestiaMigrateNestControllerProgrammer_1.NestiaMigrateNestControllerProgrammer.write({
         
     | 
| 
      
 23 
     | 
    
         
            +
                                config: context.config,
         
     | 
| 
      
 24 
     | 
    
         
            +
                                components: context.document.components,
         
     | 
| 
      
 25 
     | 
    
         
            +
                                controller: c,
         
     | 
| 
      
 26 
     | 
    
         
            +
                            }),
         
     | 
| 
      
 27 
     | 
    
         
            +
                        ]),
         
     | 
| 
      
 28 
     | 
    
         
            +
                        ...[
         
     | 
| 
      
 29 
     | 
    
         
            +
                            ...NestiaMigrateDtoProgrammer_1.NestiaMigrateDtoProgrammer.compose({
         
     | 
| 
      
 30 
     | 
    
         
            +
                                config: context.config,
         
     | 
| 
      
 31 
     | 
    
         
            +
                                components: context.document.components,
         
     | 
| 
      
 32 
     | 
    
         
            +
                            }).entries(),
         
     | 
| 
      
 33 
     | 
    
         
            +
                        ].map(([key, value]) => [`src/api/structures/${key}.ts`, writeDtoFile(key, value)]),
         
     | 
| 
      
 34 
     | 
    
         
            +
                    ];
         
     | 
| 
      
 35 
     | 
    
         
            +
                    return Object.fromEntries(statements.map(([key, value]) => [
         
     | 
| 
      
 36 
     | 
    
         
            +
                        key,
         
     | 
| 
      
 37 
     | 
    
         
            +
                        FilePrinter_1.FilePrinter.write({ statements: value }),
         
     | 
| 
      
 38 
     | 
    
         
            +
                    ]));
         
     | 
| 
      
 39 
     | 
    
         
            +
                };
         
     | 
| 
      
 40 
     | 
    
         
            +
                const writeDtoFile = (key, modulo) => {
         
     | 
| 
      
 41 
     | 
    
         
            +
                    const importer = new NestiaMigrateImportProgrammer_1.NestiaMigrateImportProgrammer();
         
     | 
| 
      
 42 
     | 
    
         
            +
                    const statements = iterate(importer)(modulo);
         
     | 
| 
      
 43 
     | 
    
         
            +
                    if (statements.length === 0)
         
     | 
| 
      
 44 
     | 
    
         
            +
                        return [];
         
     | 
| 
      
 45 
     | 
    
         
            +
                    return [
         
     | 
| 
      
 46 
     | 
    
         
            +
                        ...importer.toStatements((name) => `./${name}`, key),
         
     | 
| 
      
 47 
     | 
    
         
            +
                        ...(importer.empty() ? [] : [FilePrinter_1.FilePrinter.newLine()]),
         
     | 
| 
      
 48 
     | 
    
         
            +
                        ...statements,
         
     | 
| 
      
 49 
     | 
    
         
            +
                    ];
         
     | 
| 
      
 50 
     | 
    
         
            +
                };
         
     | 
| 
      
 51 
     | 
    
         
            +
                const iterate = (importer) => (modulo) => {
         
     | 
| 
      
 52 
     | 
    
         
            +
                    const output = [];
         
     | 
| 
      
 53 
     | 
    
         
            +
                    if (modulo.programmer !== null)
         
     | 
| 
      
 54 
     | 
    
         
            +
                        output.push(modulo.programmer(importer));
         
     | 
| 
      
 55 
     | 
    
         
            +
                    if (modulo.children.size) {
         
     | 
| 
      
 56 
     | 
    
         
            +
                        const internal = [];
         
     | 
| 
      
 57 
     | 
    
         
            +
                        for (const child of modulo.children.values())
         
     | 
| 
      
 58 
     | 
    
         
            +
                            internal.push(...iterate(importer)(child));
         
     | 
| 
      
 59 
     | 
    
         
            +
                        output.push(typescript_1.default.factory.createModuleDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createIdentifier(modulo.name), typescript_1.default.factory.createModuleBlock(internal), typescript_1.default.NodeFlags.Namespace));
         
     | 
| 
      
 60 
     | 
    
         
            +
                    }
         
     | 
| 
      
 61 
     | 
    
         
            +
                    output.push(FilePrinter_1.FilePrinter.newLine());
         
     | 
| 
      
 62 
     | 
    
         
            +
                    return output;
         
     | 
| 
      
 63 
     | 
    
         
            +
                };
         
     | 
| 
      
 64 
     | 
    
         
            +
            })(NestiaMigrateNestProgrammer || (exports.NestiaMigrateNestProgrammer = NestiaMigrateNestProgrammer = {}));
         
     | 
| 
      
 65 
     | 
    
         
            +
            //# sourceMappingURL=NestiaMigrateNestProgrammer.js.map
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"NestiaMigrateNestProgrammer.js","sourceRoot":"","sources":["../../src/programmers/NestiaMigrateNestProgrammer.ts"],"names":[],"mappings":"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"}
         
     | 
| 
         @@ -0,0 +1,10 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import { OpenApi } from "@samchon/openapi";
         
     | 
| 
      
 2 
     | 
    
         
            +
            import ts from "typescript";
         
     | 
| 
      
 3 
     | 
    
         
            +
            import { NestiaMigrateImportProgrammer } from "./NestiaMigrateImportProgrammer";
         
     | 
| 
      
 4 
     | 
    
         
            +
            export declare namespace NestiaMigrateSchemaProgrammer {
         
     | 
| 
      
 5 
     | 
    
         
            +
                const write: (props: {
         
     | 
| 
      
 6 
     | 
    
         
            +
                    components: OpenApi.IComponents;
         
     | 
| 
      
 7 
     | 
    
         
            +
                    importer: NestiaMigrateImportProgrammer;
         
     | 
| 
      
 8 
     | 
    
         
            +
                    schema: OpenApi.IJsonSchema;
         
     | 
| 
      
 9 
     | 
    
         
            +
                }) => ts.TypeNode;
         
     | 
| 
      
 10 
     | 
    
         
            +
            }
         
     |