export-table-pulgin-csharp 1.1.170 → 1.1.171

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.
@@ -1 +1 @@
1
- {"version":3,"file":"CSProtoParser.d.ts","sourceRoot":"","sources":["../src/CSProtoParser.ts"],"names":[],"mappings":"AAUA,qBAAa,SAAS;IAClB,IAAI,EAAE,MAAM,CAAK;IACjB,OAAO,EAAE,OAAO,CAAQ;IACxB,IAAI,EAAE,MAAM,CAAK;IACjB,MAAM,EAAE,MAAM,CAAK;IACnB,MAAM,EAAE,MAAM,CAAK;IAEnB,OAAO,CAAC,CAAC,EAAE,MAAM;IAOjB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAYnC,YAAY;CAGf;AAED,qBAAa,SAAS;IAClB,IAAI,EAAE,MAAM,CAAK;IACjB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAU;IAChC,MAAM,EAAE,SAAS,EAAE,CAAK;IAExB,YAAY,CAAC,SAAS,EAAE,MAAM;CAIjC;AAED,qBAAa,aAAa;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;IAC5C,cAAc,CAAC,QAAQ,EAAE,MAAM;IA8D/B,YAAY,CAAC,SAAS,EAAE,MAAM;CAGjC"}
1
+ {"version":3,"file":"CSProtoParser.d.ts","sourceRoot":"","sources":["../src/CSProtoParser.ts"],"names":[],"mappings":"AAUA,qBAAa,SAAS;IAClB,IAAI,EAAE,MAAM,CAAK;IACjB,OAAO,EAAE,OAAO,CAAQ;IACxB,IAAI,EAAE,MAAM,CAAK;IACjB,MAAM,EAAE,MAAM,CAAK;IACnB,MAAM,EAAE,MAAM,CAAK;IAEnB,OAAO,CAAC,CAAC,EAAE,MAAM;IAOjB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAYnC,YAAY;CAGf;AAED,qBAAa,SAAS;IAClB,IAAI,EAAE,MAAM,CAAK;IACjB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAU;IAChC,MAAM,EAAE,SAAS,EAAE,CAAK;IAExB,YAAY,CAAC,SAAS,EAAE,MAAM;CAIjC;AAED,qBAAa,aAAa;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;IAC5C,cAAc,CAAC,QAAQ,EAAE,MAAM;IA+E/B,YAAY,CAAC,SAAS,EAAE,MAAM;CAGjC"}
@@ -74,8 +74,10 @@ class CSProtoParser {
74
74
  typeMap = new Map();
75
75
  parseProtoFile(filePath) {
76
76
  let content = fs.readFileSync(filePath, "utf-8");
77
+ let classMeta = new ClassInfo();
77
78
  let curClass = null;
78
79
  let codeLines = content.split("\n");
80
+ let classMapperRegex = /\/\/\!\[Mapper\((\w+)\)\]/;
79
81
  let messageRegex = /message (\w+)/;
80
82
  let enumRegex = /enum (\w+)/;
81
83
  let structEndRegex = /^\}/;
@@ -87,14 +89,25 @@ class CSProtoParser {
87
89
  if (!isInClass) {
88
90
  // check enter class
89
91
  while (true) {
92
+ let mMapper = line.match(classMapperRegex);
93
+ if (mMapper) {
94
+ let mapName = mMapper[1];
95
+ classMeta.name = mapName;
96
+ console.log(`mapper: ${mapName}`);
97
+ }
90
98
  let m1 = line.match(messageRegex);
91
99
  if (m1) {
92
100
  let className = m1[1];
93
101
  curClass = new ClassInfo();
94
- console.log(`find class: ${className}`);
102
+ // console.log(`find class: ${className}`)
95
103
  curClass.name = className;
96
104
  curClass.type = "class";
97
- this.typeMap.set(className, curClass);
105
+ if (classMeta.name != "") {
106
+ this.typeMap.set(classMeta.name, curClass);
107
+ }
108
+ else {
109
+ this.typeMap.set(className, curClass);
110
+ }
98
111
  isInClass = true;
99
112
  break;
100
113
  }
@@ -104,7 +117,12 @@ class CSProtoParser {
104
117
  curClass = new ClassInfo();
105
118
  curClass.name = enumName;
106
119
  curClass.type = "enum";
107
- this.typeMap.set(enumName, curClass);
120
+ if (classMeta.name != "") {
121
+ this.typeMap.set(classMeta.name, curClass);
122
+ }
123
+ else {
124
+ this.typeMap.set(enumName, curClass);
125
+ }
108
126
  isInClass = true;
109
127
  break;
110
128
  }
@@ -116,6 +134,7 @@ class CSProtoParser {
116
134
  let m3 = line.match(structEndRegex);
117
135
  if (m3) {
118
136
  curClass = null;
137
+ classMeta.name = "";
119
138
  isInClass = false;
120
139
  }
121
140
  else {
@@ -129,7 +148,7 @@ class CSProtoParser {
129
148
  field.setName(fieldName);
130
149
  field.setType(fieldType, isArray);
131
150
  curClass.fields.push(field);
132
- console.log(`find field: ${field.csName}, ${field.csType}, ${field.isArray}`);
151
+ // console.log(`find field: ${field.csName}, ${field.csType}, ${field.isArray}`)
133
152
  }
134
153
  }
135
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExportCSPlugin.d.ts","sourceRoot":"","sources":["../src/ExportCSPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,iBAAiB,EAA+B,UAAU,EAAE,iBAAiB,EAAmD,MAAM,kBAAkB,CAAA;AAMtK,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CA+QpE;AAED,qBAAa,YAAa,SAAQ,UAAU;IAC3C,IAAI,SAAW;IACf,IAAI,EAAE,MAAM,EAAE,CAAS;IAEvB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAI3C,WAAW,CAAC,KAAK,EAAE,iBAAiB;CAOpC"}
1
+ {"version":3,"file":"ExportCSPlugin.d.ts","sourceRoot":"","sources":["../src/ExportCSPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,iBAAiB,EAA+B,UAAU,EAAE,iBAAiB,EAAmD,MAAM,kBAAkB,CAAA;AAMtK,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAgRpE;AAED,qBAAa,YAAa,SAAQ,UAAU;IAC3C,IAAI,SAAW;IACf,IAAI,EAAE,MAAM,EAAE,CAAS;IAEvB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAI3C,WAAW,CAAC,KAAK,EAAE,iBAAiB;CAOpC"}
@@ -29,17 +29,18 @@ function export_stuff(paras) {
29
29
  let usingProtoNamespace = "";
30
30
  let classNameOrigin = (0, CSParseTool_1.firstLetterUpper)(nameOrigin);
31
31
  if (CSParseTool_1.isOverwriteWithProto) {
32
+ console.log(`map class: ${classNameOrigin}`);
32
33
  let classInfo = protoParser.getClassInfo(classNameOrigin);
33
34
  if (classInfo != null) {
34
35
  extendClass = ` : ${classNameOrigin}`;
35
36
  usingProtoNamespace = "\nusing DXTS.BattleProto;";
36
- for (let f of classInfo.fields) {
37
- console.log(`${f.csName}`);
38
- }
37
+ // for (let f of classInfo.fields) {
38
+ // console.log(`${f.csName}`)
39
+ // }
39
40
  }
40
41
  isValidField = (f) => {
41
42
  let fieldInfo = classInfo?.getFieldInfo(f.name);
42
- console.log(`validf: ${f.name}, ${fieldInfo}`);
43
+ // console.log(`validf: ${f.name}, ${fieldInfo}`)
43
44
  return fieldInfo == null;
44
45
  };
45
46
  getFieldType2 = (f) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "export-table-pulgin-csharp",
3
- "version": "1.1.170",
3
+ "version": "1.1.171",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {},
@@ -54,8 +54,10 @@ export class CSProtoParser {
54
54
  typeMap: Map<string, ClassInfo> = new Map();
55
55
  parseProtoFile(filePath: string) {
56
56
  let content = fs.readFileSync(filePath, "utf-8");
57
+ let classMeta = new ClassInfo()
57
58
  let curClass: ClassInfo | null = null
58
59
  let codeLines = content.split("\n")
60
+ let classMapperRegex = /\/\/\!\[Mapper\((\w+)\)\]/
59
61
  let messageRegex = /message (\w+)/
60
62
  let enumRegex = /enum (\w+)/
61
63
  let structEndRegex = /^\}/
@@ -67,14 +69,24 @@ export class CSProtoParser {
67
69
  if (!isInClass) {
68
70
  // check enter class
69
71
  while (true) {
72
+ let mMapper = line.match(classMapperRegex)
73
+ if (mMapper) {
74
+ let mapName = mMapper[1]
75
+ classMeta.name = mapName
76
+ console.log(`mapper: ${mapName}`)
77
+ }
70
78
  let m1 = line.match(messageRegex)
71
79
  if (m1) {
72
80
  let className = m1[1]
73
81
  curClass = new ClassInfo()
74
- console.log(`find class: ${className}`)
82
+ // console.log(`find class: ${className}`)
75
83
  curClass.name = className
76
84
  curClass.type = "class"
77
- this.typeMap.set(className, curClass)
85
+ if (classMeta.name != "") {
86
+ this.typeMap.set(classMeta.name, curClass)
87
+ } else {
88
+ this.typeMap.set(className, curClass)
89
+ }
78
90
  isInClass = true
79
91
  break
80
92
  }
@@ -84,7 +96,11 @@ export class CSProtoParser {
84
96
  curClass = new ClassInfo()
85
97
  curClass.name = enumName
86
98
  curClass.type = "enum"
87
- this.typeMap.set(enumName, curClass)
99
+ if (classMeta.name != "") {
100
+ this.typeMap.set(classMeta.name, curClass)
101
+ } else {
102
+ this.typeMap.set(enumName, curClass)
103
+ }
88
104
  isInClass = true
89
105
  break
90
106
  }
@@ -95,6 +111,7 @@ export class CSProtoParser {
95
111
  let m3 = line.match(structEndRegex)
96
112
  if (m3) {
97
113
  curClass = null
114
+ classMeta.name = ""
98
115
  isInClass = false;
99
116
  } else {
100
117
  // parse class fields
@@ -107,7 +124,7 @@ export class CSProtoParser {
107
124
  field.setName(fieldName)
108
125
  field.setType(fieldType, isArray)
109
126
  curClass!.fields.push(field)
110
- console.log(`find field: ${field.csName}, ${field.csType}, ${field.isArray}`)
127
+ // console.log(`find field: ${field.csName}, ${field.csType}, ${field.isArray}`)
111
128
  }
112
129
  }
113
130
  }
@@ -47,17 +47,18 @@ export function export_stuff(paras: HandleSheetParams): string | null {
47
47
  let usingProtoNamespace = ""
48
48
  let classNameOrigin = firstLetterUpper(nameOrigin)
49
49
  if (isOverwriteWithProto) {
50
+ console.log(`map class: ${classNameOrigin}`)
50
51
  let classInfo = protoParser.getClassInfo(classNameOrigin)
51
52
  if (classInfo != null) {
52
53
  extendClass = ` : ${classNameOrigin}`
53
54
  usingProtoNamespace = "\nusing DXTS.BattleProto;"
54
- for (let f of classInfo.fields) {
55
- console.log(`${f.csName}`)
56
- }
55
+ // for (let f of classInfo.fields) {
56
+ // console.log(`${f.csName}`)
57
+ // }
57
58
  }
58
59
  isValidField = (f: Field) => {
59
60
  let fieldInfo = classInfo?.getFieldInfo(f.name)
60
- console.log(`validf: ${f.name}, ${fieldInfo}`)
61
+ // console.log(`validf: ${f.name}, ${fieldInfo}`)
61
62
  return fieldInfo == null
62
63
  }
63
64
  getFieldType2 = (f: Field) => {