@abaplint/transpiler-cli 1.7.38 → 1.7.39
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/build/bundle.js +1 -1
- package/package.json +2 -2
package/build/bundle.js
CHANGED
|
@@ -12787,7 +12787,7 @@ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\n
|
|
|
12787
12787
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
12788
12788
|
|
|
12789
12789
|
"use strict";
|
|
12790
|
-
eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.DatabaseSetup = void 0;\r\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\nclass DatabaseSetup {\r\n constructor(reg) {\r\n this.reg = reg;\r\n }\r\n run() {\r\n let ret = \"\";\r\n // CREATE TABLEs\r\n for (const obj of this.reg.getObjects()) {\r\n if (obj instanceof abaplint.Objects.Table && obj.getTableCategory() === abaplint.Objects.TableCategory.Transparent) {\r\n ret += this.transparentTable(obj);\r\n }\r\n }\r\n // INSERT data\r\n for (const obj of this.reg.getObjects()) {\r\n if (obj instanceof abaplint.Objects.MessageClass) {\r\n ret += this.messageClass(obj);\r\n }\r\n }\r\n ret += this.t000Insert();\r\n return ret.trim();\r\n }\r\n //////////////////\r\n t000Insert() {\r\n const obj = this.reg.getObject(\"TABL\", \"T000\");\r\n if (obj === undefined) {\r\n return \"\";\r\n }\r\n const type = obj.parseType(this.reg);\r\n if (type instanceof abaplint.BasicTypes.StructureType && type.getComponents().length === 3) {\r\n // todo, this should take the client number from the settings\r\n return `INSERT INTO t000 VALUES ('123', '', '');\\n`;\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n messageClass(msag) {\r\n // ignore if T100 is unknown\r\n if (this.reg.getObject(\"TABL\", \"T100\") === undefined) {\r\n return \"\";\r\n }\r\n let ret = \"\";\r\n for (const m of msag.getMessages()) {\r\n ret += `INSERT INTO t100 VALUES ('E', '${msag.getName()}', '${m.getNumber()}', '${m.getMessage()}');\\n`;\r\n }\r\n return ret;\r\n }\r\n transparentTable(tabl) {\r\n const type = tabl.parseType(this.reg);\r\n if (!(type instanceof abaplint.BasicTypes.StructureType)) {\r\n return \"\";\r\n }\r\n const fields = [];\r\n for (const field of type.getComponents()) {\r\n fields.push(field.name.toLowerCase() + \" \" + this.toType(field.type));\r\n }\r\n // assumption: all transparent tables have primary keys\r\n const key = \", PRIMARY KEY(\" + tabl.listKeys().map(e => e.toLowerCase()).join(\",\") + \")\";\r\n return `CREATE TABLE ${tabl.getName().toLowerCase()} (${fields.join(\", \")}${key});\\n`;\r\n }\r\n toType(type) {\r\n if (type instanceof abaplint.BasicTypes.CharacterType) {\r\n return `NCHAR(${type.getLength()})`;\r\n }\r\n else if (type instanceof abaplint.BasicTypes.StringType) {\r\n return `TEXT`;\r\n }\r\n else if (type instanceof abaplint.BasicTypes.XStringType) {\r\n // it will be fine, the runtime representation of xstring is also text\r\n return `TEXT`;\r\n }\r\n else if (type instanceof abaplint.BasicTypes.IntegerType) {\r\n return `INT`;\r\n }\r\n else {\r\n throw \"database_setup, todo toType handle: \" + type.constructor.name;\r\n }\r\n }\r\n}\r\nexports.DatabaseSetup = DatabaseSetup;\r\n//# sourceMappingURL=database_setup.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/database_setup.js?");
|
|
12790
|
+
eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.DatabaseSetup = void 0;\r\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\nclass DatabaseSetup {\r\n constructor(reg) {\r\n this.reg = reg;\r\n }\r\n run() {\r\n let ret = \"\";\r\n // CREATE TABLEs\r\n for (const obj of this.reg.getObjects()) {\r\n if (obj instanceof abaplint.Objects.Table && obj.getTableCategory() === abaplint.Objects.TableCategory.Transparent) {\r\n ret += this.transparentTable(obj);\r\n }\r\n }\r\n // INSERT data\r\n for (const obj of this.reg.getObjects()) {\r\n if (obj instanceof abaplint.Objects.MessageClass) {\r\n ret += this.messageClass(obj);\r\n }\r\n }\r\n ret += this.t000Insert();\r\n return ret.trim();\r\n }\r\n //////////////////\r\n t000Insert() {\r\n const obj = this.reg.getObject(\"TABL\", \"T000\");\r\n if (obj === undefined) {\r\n return \"\";\r\n }\r\n const type = obj.parseType(this.reg);\r\n if (type instanceof abaplint.BasicTypes.StructureType && type.getComponents().length === 3) {\r\n // todo, this should take the client number from the settings\r\n return `INSERT INTO t000 VALUES ('123', '', '');\\n`;\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n messageClass(msag) {\r\n // ignore if T100 is unknown\r\n if (this.reg.getObject(\"TABL\", \"T100\") === undefined) {\r\n return \"\";\r\n }\r\n let ret = \"\";\r\n for (const m of msag.getMessages()) {\r\n ret += `INSERT INTO t100 VALUES ('E', '${msag.getName()}', '${m.getNumber()}', '${m.getMessage()}');\\n`;\r\n }\r\n return ret;\r\n }\r\n transparentTable(tabl) {\r\n const type = tabl.parseType(this.reg);\r\n if (!(type instanceof abaplint.BasicTypes.StructureType)) {\r\n return \"\";\r\n }\r\n const fields = [];\r\n for (const field of type.getComponents()) {\r\n fields.push(field.name.toLowerCase() + \" \" + this.toType(field.type));\r\n }\r\n // assumption: all transparent tables have primary keys\r\n const key = \", PRIMARY KEY(\" + tabl.listKeys().map(e => e.toLowerCase()).join(\",\") + \")\";\r\n return `CREATE TABLE ${tabl.getName().toLowerCase()} (${fields.join(\", \")}${key});\\n`;\r\n }\r\n toType(type) {\r\n if (type instanceof abaplint.BasicTypes.CharacterType) {\r\n return `NCHAR(${type.getLength()})`;\r\n }\r\n else if (type instanceof abaplint.BasicTypes.NumericType) {\r\n // it will be fine, the runtime representation of numc is also text\r\n return `NCHAR(${type.getLength()})`;\r\n }\r\n else if (type instanceof abaplint.BasicTypes.StringType) {\r\n return `TEXT`;\r\n }\r\n else if (type instanceof abaplint.BasicTypes.XStringType) {\r\n // it will be fine, the runtime representation of xstring is also text\r\n return `TEXT`;\r\n }\r\n else if (type instanceof abaplint.BasicTypes.IntegerType) {\r\n return `INT`;\r\n }\r\n else {\r\n throw \"database_setup, todo toType handle: \" + type.constructor.name;\r\n }\r\n }\r\n}\r\nexports.DatabaseSetup = DatabaseSetup;\r\n//# sourceMappingURL=database_setup.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/database_setup.js?");
|
|
12791
12791
|
|
|
12792
12792
|
/***/ }),
|
|
12793
12793
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler-cli",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.39",
|
|
4
4
|
"description": "Transpiler - Command Line Interface",
|
|
5
5
|
"bin": {
|
|
6
6
|
"abap_transpile": "./abap_transpile"
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"author": "abaplint",
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@abaplint/transpiler": "^1.7.
|
|
27
|
+
"@abaplint/transpiler": "^1.7.39",
|
|
28
28
|
"@types/glob": "^7.2.0",
|
|
29
29
|
"glob": "^7.2.0",
|
|
30
30
|
"@types/progress": "^2.0.5",
|