{"version":3,"sources":["jsdelivr-header.js","/npm/@abaplint/transpiler@2.12.34/build/src/index.js"],"names":[],"mappings":"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","file":"/npm/@abaplint/transpiler@2.12.34/build/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@abaplint/transpiler@2.12.34/build/src/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Transpiler = exports.UnknownTypesEnum = exports.config = void 0;\nconst abaplint = require(\"@abaplint/core\");\nconst validation_1 = require(\"./validation\");\nObject.defineProperty(exports, \"config\", { enumerable: true, get: function () { return validation_1.config; } });\nconst unit_test_1 = require(\"./unit_test\");\nconst types_1 = require(\"./types\");\nObject.defineProperty(exports, \"UnknownTypesEnum\", { enumerable: true, get: function () { return types_1.UnknownTypesEnum; } });\nconst db_1 = require(\"./db\");\nconst handle_table_1 = require(\"./handlers/handle_table\");\nconst handle_abap_1 = require(\"./handlers/handle_abap\");\nconst handle_data_element_1 = require(\"./handlers/handle_data_element\");\nconst handle_table_type_1 = require(\"./handlers/handle_table_type\");\nconst handle_view_1 = require(\"./handlers/handle_view\");\nconst handle_enqu_1 = require(\"./handlers/handle_enqu\");\nconst handle_type_pool_1 = require(\"./handlers/handle_type_pool\");\nconst handle_w3mi_1 = require(\"./handlers/handle_w3mi\");\nconst handle_smim_1 = require(\"./handlers/handle_smim\");\nconst handle_msag_1 = require(\"./handlers/handle_msag\");\nconst handle_oa2p_1 = require(\"./handlers/handle_oa2p\");\nconst handle_fugr_1 = require(\"./handlers/handle_fugr\");\nconst initialization_1 = require(\"./initialization\");\nclass Transpiler {\n    options;\n    constructor(options) {\n        this.options = options;\n        if (this.options === undefined) {\n            this.options = {};\n        }\n        if (this.options.unknownTypes === undefined) {\n            this.options.unknownTypes = types_1.UnknownTypesEnum.compileError;\n        }\n    }\n    // workaround for web/webpack\n    async runRaw(files) {\n        const memory = files.map(f => new abaplint.MemoryFile(f.filename, f.contents));\n        const reg = new abaplint.Registry().addFiles(memory).parse();\n        return new Transpiler().run(reg);\n    }\n    async run(reg, progress) {\n        reg.parse();\n        this.validate(reg);\n        const dbSetup = new db_1.DatabaseSetup(reg).run(this.options);\n        const output = {\n            objects: [],\n            unitTestScript: new unit_test_1.UnitTest().unitTestScript(reg, this.options?.skip),\n            unitTestScriptOpen: new unit_test_1.UnitTest().unitTestScriptOpen(reg, this.options?.skip),\n            initializationScript: new initialization_1.Initialization().script(reg, dbSetup, this.options),\n            initializationScript2: new initialization_1.Initialization().script(reg, dbSetup, this.options, true),\n            databaseSetup: dbSetup,\n            reg: reg,\n        };\n        progress?.set(reg.getObjectCount().total, \"Building\");\n        for (const obj of reg.getObjects()) {\n            await progress?.tick(\"Building, \" + obj.getName());\n            if (obj instanceof abaplint.Objects.TypePool) {\n                output.objects.push(...new handle_type_pool_1.HandleTypePool().runObject(obj, reg));\n            }\n            else if (obj instanceof abaplint.Objects.FunctionGroup) {\n                output.objects.push(...new handle_fugr_1.HandleFUGR(this.options).runObject(obj, reg));\n            }\n            else if (obj instanceof abaplint.ABAPObject) {\n                output.objects.push(...new handle_abap_1.HandleABAP(this.options).runObject(obj, reg));\n            }\n            else if (obj instanceof abaplint.Objects.Oauth2Profile) {\n                output.objects.push(...new handle_oa2p_1.HandleOA2P().runObject(obj, reg));\n            }\n            else if (obj instanceof abaplint.Objects.Table) {\n                output.objects.push(...new handle_table_1.HandleTable().runObject(obj, reg));\n            }\n            else if (obj instanceof abaplint.Objects.View) {\n                output.objects.push(...new handle_view_1.HandleView().runObject(obj, reg));\n            }\n            else if (obj instanceof abaplint.Objects.LockObject) {\n                output.objects.push(...new handle_enqu_1.HandleEnqu().runObject(obj, reg));\n            }\n            else if (obj instanceof abaplint.Objects.DataElement) {\n                output.objects.push(...new handle_data_element_1.HandleDataElement().runObject(obj, reg));\n            }\n            else if (obj instanceof abaplint.Objects.TableType) {\n                output.objects.push(...new handle_table_type_1.HandleTableType().runObject(obj, reg));\n            }\n            else if (obj instanceof abaplint.Objects.MIMEObject) {\n                output.objects.push(...new handle_smim_1.HandleSMIM().runObject(obj, reg));\n            }\n            else if (obj instanceof abaplint.Objects.WebMIME) {\n                output.objects.push(...new handle_w3mi_1.HandleW3MI().runObject(obj, reg));\n            }\n            else if (obj instanceof abaplint.Objects.MessageClass) {\n                output.objects.push(...new handle_msag_1.HandleMSAG().runObject(obj, reg));\n            }\n        }\n        return output;\n    }\n    // ///////////////////////////////\n    validate(reg) {\n        const issues = new validation_1.Validation(this.options).run(reg);\n        if (issues.length > 0) {\n            const messages = issues.map(i => i.getKey() + \", \" +\n                i.getMessage() + \", \" +\n                i.getFilename() + \":\" +\n                i.getStart().getRow());\n            throw new Error(messages.join(\"\\n\"));\n        }\n    }\n}\nexports.Transpiler = Transpiler;\n"]}