/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@metabreak/protoc-gen-worker@1.0.2/lib/main.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
#!/usr/bin/env node
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const fs_1=require("fs"),plugin_pb_1=require("google-protobuf/google/protobuf/compiler/plugin_pb"),path_1=require("path"),config_1=require("./config"),proto_1=require("./input/proto"),logger_1=require("./logger"),pb_file_1=require("./output/files/pb-file"),pbsc_file_1=require("./output/files/pbsc-file"),pbwsc_file_1=require("./output/files/pbwsc-file"),printer_1=require("./output/misc/printer"),services_1=require("./services");async function readStream(e){const r=[];for await(const i of e)r.push(i);return Buffer.concat(r)}async function main(){const e=await readStream(process.stdin);try{const r=plugin_pb_1.CodeGeneratorRequest.deserializeBinary(e),i=new plugin_pb_1.CodeGeneratorResponse;i.setSupportedFeatures(plugin_pb_1.CodeGeneratorResponse.Feature.FEATURE_PROTO3_OPTIONAL);const s=r.getParameter();services_1.Services.Config=config_1.Config.fromParameter(s??""),services_1.Services.Logger=new logger_1.Logger(services_1.Services.Config.debug);const n=r.getProtoFileList().map((e=>new proto_1.Proto(e.toObject())));services_1.Services.Config.debug&&(fs_1.mkdirSync("debug",{recursive:!0}),fs_1.writeFileSync(path_1.join("debug","config.json"),JSON.stringify(services_1.Services.Config,null,2),"utf-8"),fs_1.writeFileSync(path_1.join("debug","parsed-protoc-gen-worker.json"),JSON.stringify(n,null,2),"utf-8")),n.forEach((e=>e.setupDependencies(n))),n.forEach((e=>e.resolveTransitiveDependencies()));const o=services_1.Services.Config.embedWellKnownTypes;n.filter((e=>o||!o&&"google.protobuf"!==e.pb_package)).forEach((e=>{services_1.Services.Logger.debug(`Start processing proto ${e.name}`);const r=e.getGeneratedFileBaseName(),s=[];if(e.serviceList.length){if(services_1.Services.Config.files.pbsc.generate){const i=new printer_1.Printer;new pbsc_file_1.PbscFile(e).print(i),s.push({name:r+"sc.ts",content:i.finalize()})}if(services_1.Services.Config.files.pbwsc.generate){const i=new printer_1.Printer;new pbwsc_file_1.PbwscFile(e).print(i),s.push({name:r+"wsc.ts",content:i.finalize()})}}if(services_1.Services.Config.files.pb.generate){const i=new printer_1.Printer;new pb_file_1.PbFile(e).print(i),s.push({name:r+".ts",content:i.finalize()})}services_1.Services.Logger.debug(`End processing proto ${e.name}`),s.forEach((e=>i.addFile((new plugin_pb_1.CodeGeneratorResponse.File).setName(e.name).setContent(e.content))))})),process.stdout.write(Buffer.from(i.serializeBinary().buffer))}catch(e){services_1.Services.Logger?.debug(e),services_1.Services.Logger?.debug(e.stack),console.error("protoc-gen-worker error: "+e.stack+"\n"),process.exit(1)}}main();
//# sourceMappingURL=/sm/f96aac96d350e6b4dd6cb5dda9b5f3045fe57199aeaac4b52e994d6c6072d57d.map