export-table-pulgin-csharp 1.0.41 → 1.0.44

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":"ExportCSPlugin.d.ts","sourceRoot":"","sources":["../src/ExportCSPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,iBAAiB,EAA+B,UAAU,EAA0B,MAAM,kBAAkB,CAAA;AAG1H,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAqRpE;AAED,qBAAa,YAAa,SAAQ,UAAU;IAC3C,IAAI,SAAW;IACf,IAAI,EAAE,MAAM,EAAE,CAAS;IAEvB,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,EAA0B,MAAM,kBAAkB,CAAA;AAI1H,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAkTpE;AAED,qBAAa,YAAa,SAAQ,UAAU;IAC3C,IAAI,SAAW;IACf,IAAI,EAAE,MAAM,EAAE,CAAS;IAEvB,WAAW,CAAC,KAAK,EAAE,iBAAiB;CAOpC"}
@@ -45,10 +45,12 @@ function export_stuff(paras) {
45
45
  let getFieldType = function (f) {
46
46
  let t = f.type;
47
47
  if (t == "object") {
48
- throw new Error("invalid type <object>");
48
+ //throw new Error("invalid type <Dictionary<string,string>>")
49
+ return "Dictionary<string,string>";
49
50
  }
50
51
  else if (t == "object[]") {
51
- throw new Error("invalid type <object[]>");
52
+ //throw new Error("invalid type <Dictionary<string,string>[]>")
53
+ return "List<Dictionary<string,string>>";
52
54
  }
53
55
  else if (t == "number") {
54
56
  return "double";
@@ -56,6 +58,18 @@ function export_stuff(paras) {
56
58
  else if (t == "number[]") {
57
59
  return "double[]";
58
60
  }
61
+ else if (t == "int") {
62
+ return "int";
63
+ }
64
+ else if (t == "int[]") {
65
+ return "int[]";
66
+ }
67
+ else if (t == "long") {
68
+ return "long";
69
+ }
70
+ else if (t == "long[]") {
71
+ return "long[]";
72
+ }
59
73
  else if (t == "uid") {
60
74
  return "int";
61
75
  }
@@ -79,13 +93,13 @@ function export_stuff(paras) {
79
93
  }
80
94
  else if (t == "any") {
81
95
  console.log(f);
82
- throw new Error(`invalid type ${f.name}:<any>`);
96
+ throw new Error(`invalid type ${f.name}:<${f.rawType} => any>`);
83
97
  }
84
98
  else if (t == "key") {
85
99
  return "string";
86
100
  }
87
101
  else {
88
- throw new Error(`invalid type ${f.name}:<unkown>`);
102
+ throw new Error(`invalid type ${f.name}:<${f.rawType} => unkown>`);
89
103
  }
90
104
  return t;
91
105
  };
@@ -95,18 +109,41 @@ function export_stuff(paras) {
95
109
  const genValue = (value, f) => {
96
110
  let t = f.type;
97
111
  if (t == "object") {
98
- throw new Error("invalid type <object>");
112
+ //throw new Error("invalid type <object>")
113
+ let convert = [];
114
+ for (let k in value) {
115
+ convert.push(`{"${k}","${value[k].toString()}"}`);
116
+ }
117
+ ;
118
+ return `new Dictionary<string,string>(){${convert}}`;
99
119
  }
100
120
  else if (t == "object[]") {
101
- throw new Error("invalid type <object[]>");
102
- }
103
- else if (t == "number") {
121
+ let values = value;
122
+ //throw new Error("invalid type <object[]>")
123
+ return `new List<Dictionary<string,string>>(){${values.map((val) => {
124
+ let convert = [];
125
+ for (let k in val) {
126
+ convert.push(`{"${k}","${val[k].toString()}"}`);
127
+ }
128
+ ;
129
+ return `new Dictionary<string,string>(){${convert}}`;
130
+ })}}`;
131
+ }
132
+ else if (t == "number" || t == "int" || t == "long") {
104
133
  return `${value}`;
105
134
  }
106
135
  else if (t == "number[]") {
107
136
  let values = value;
108
137
  return `new double[]{${values.join(", ")}}`;
109
138
  }
139
+ else if (t == "int[]") {
140
+ let values = value;
141
+ return `new int[]{${values.join(", ")}}`;
142
+ }
143
+ else if (t == "long[]") {
144
+ let values = value;
145
+ return `new long[]{${values.join(", ")}}`;
146
+ }
110
147
  else if (t == "uid") {
111
148
  return `${value}`;
112
149
  }
@@ -134,12 +171,12 @@ function export_stuff(paras) {
134
171
  }
135
172
  else if (t == "any") {
136
173
  console.log(f);
137
- throw new Error(`invalid type ${f.name}:<any>`);
174
+ throw new Error(`invalid type ${f.name}:<${f.rawType} => any>`);
138
175
  }
139
176
  else if (t == "key") {
140
177
  return `${value}`;
141
178
  }
142
- throw new Error(`invalid type ${f.name}:<unkown>`);
179
+ throw new Error(`invalid type ${f.name}:<${f.rawType} => unkown>`);
143
180
  };
144
181
  const getTitle = (v) => {
145
182
  return v.describe.split("\n")[0];
@@ -147,46 +184,46 @@ function export_stuff(paras) {
147
184
  const getDescripts = (v) => {
148
185
  return v.describe.split("\n");
149
186
  };
150
- let temp = `
151
- using System.Collections.Generic;
152
- using System.Linq;
153
-
154
- namespace MEEC.ExportedConfigs{
155
- public partial class ${RowClass} {
156
-
157
- public static List<${RowClass}> Configs = new List<${RowClass}>()
158
- {
159
- ${(0, export_table_lib_1.foreach)(datas, data => ` new ${RowClass}(${(0, export_table_lib_1.st)(() => fields.map((f, index) => genValue(data[index], f)).join(", "))}),`)}
160
- };
161
-
162
- public ${RowClass}() { }
163
- public ${RowClass}(${(0, export_table_lib_1.st)(() => fields.map(f => `${getFieldType(f)} ${convVarName(f.name)}`).join(", "))})
164
- {
165
- ${(0, export_table_lib_1.foreach)(fields, f => ` this.${convMemberName(f.name)} = ${convVarName(f.name)};`)}
166
- }
167
-
168
- public virtual ${RowClass} MergeFrom(${RowClass} source)
169
- {
170
- ${(0, export_table_lib_1.foreach)(fields, f => ` this.${convMemberName(f.name)} = source.${convMemberName(f.name)};`)}
171
- return this;
172
- }
173
-
174
- public virtual ${RowClass} Clone()
175
- {
176
- var config = new ${RowClass}();
177
- config.MergeFrom(this);
178
- return config;
179
- }
180
-
181
- ${(0, export_table_lib_1.cmm)( /**生成字段 */)}
182
- ${(0, export_table_lib_1.foreach)(fields, f => `
183
- /// <summary>
184
- ${(0, export_table_lib_1.foreach)(getDescripts(f), line => ` /// ${line}`)}
185
- /// </summary>
186
- public ${getFieldType(f)} ${convMemberName(f.name)};`)}
187
-
188
- ${(0, export_table_lib_1.cmm)( /**生成get字段 */)}
189
- #region get字段
187
+ let temp = `
188
+ using System.Collections.Generic;
189
+ using System.Linq;
190
+
191
+ namespace MEEC.ExportedConfigs{
192
+ public partial class ${RowClass} {
193
+
194
+ public static List<${RowClass}> Configs = new List<${RowClass}>()
195
+ {
196
+ ${(0, export_table_lib_1.foreach)(datas, data => ` new ${RowClass}(${(0, export_table_lib_1.st)(() => fields.map((f, index) => genValue(data[index], f)).join(", "))}),`)}
197
+ };
198
+
199
+ public ${RowClass}() { }
200
+ public ${RowClass}(${(0, export_table_lib_1.st)(() => fields.map(f => `${getFieldType(f)} ${convVarName(f.name)}`).join(", "))})
201
+ {
202
+ ${(0, export_table_lib_1.foreach)(fields, f => ` this.${convMemberName(f.name)} = ${convVarName(f.name)};`)}
203
+ }
204
+
205
+ public virtual ${RowClass} MergeFrom(${RowClass} source)
206
+ {
207
+ ${(0, export_table_lib_1.foreach)(fields, f => ` this.${convMemberName(f.name)} = source.${convMemberName(f.name)};`)}
208
+ return this;
209
+ }
210
+
211
+ public virtual ${RowClass} Clone()
212
+ {
213
+ var config = new ${RowClass}();
214
+ config.MergeFrom(this);
215
+ return config;
216
+ }
217
+
218
+ ${(0, export_table_lib_1.cmm)( /**生成字段 */)}
219
+ ${(0, export_table_lib_1.foreach)(fields, f => `
220
+ /// <summary>
221
+ ${(0, export_table_lib_1.foreach)(getDescripts(f), line => ` /// ${line}`)}
222
+ /// </summary>
223
+ public ${getFieldType(f)} ${convMemberName(f.name)};`)}
224
+
225
+ ${(0, export_table_lib_1.cmm)( /**生成get字段 */)}
226
+ #region get字段
190
227
  ${(0, export_table_lib_1.foreach)(fields, f => {
191
228
  if (f.nameOrigin != f.name) {
192
229
  return ` public ${getFieldType(f)} ${getTitle(f).replace(" ", "_")} => ${convMemberName(f.name)};`;
@@ -194,110 +231,110 @@ ${(0, export_table_lib_1.foreach)(fields, f => {
194
231
  else {
195
232
  return "";
196
233
  }
197
- })}
198
- #endregion
199
-
200
- #region uid map
234
+ })}
235
+ #endregion
236
+
237
+ #region uid map
201
238
  ${(0, export_table_lib_1.foreach)(fields, f => {
202
239
  if (f.isUnique) {
203
- return `
204
- protected static Dictionary<${getFieldType(f)}, ${RowClass}> _tempDictBy${convMemberName(f.name)};
205
- public static ${RowClass} GetConfigBy${convMemberName(f.name)}(${getFieldType(f)} ${convMemberName(f.name)})
206
- {
207
- if (_tempDictBy${convMemberName(f.name)} == null)
208
- {
209
- _tempDictBy${convMemberName(f.name)} = new Dictionary<${getFieldType(f)}, ${RowClass}>();
210
- Configs.ForEach(c =>
211
- {
212
- _tempDictBy${convMemberName(f.name)}.Add(c.${convMemberName(f.name)}, c);
213
- });
214
- }
215
- return _tempDictBy${convMemberName(f.name)}.GetValueOrDefault(${convMemberName(f.name)});
216
- }
240
+ return `
241
+ protected static Dictionary<${getFieldType(f)}, ${RowClass}> _tempDictBy${convMemberName(f.name)};
242
+ public static ${RowClass} GetConfigBy${convMemberName(f.name)}(${getFieldType(f)} ${convMemberName(f.name)})
243
+ {
244
+ if (_tempDictBy${convMemberName(f.name)} == null)
245
+ {
246
+ _tempDictBy${convMemberName(f.name)} = new Dictionary<${getFieldType(f)}, ${RowClass}>();
247
+ Configs.ForEach(c =>
248
+ {
249
+ _tempDictBy${convMemberName(f.name)}.Add(c.${convMemberName(f.name)}, c);
250
+ });
251
+ }
252
+ return _tempDictBy${convMemberName(f.name)}.GetValueOrDefault(${convMemberName(f.name)});
253
+ }
217
254
  `;
218
255
  }
219
- else if (f.type == "number" || f.type == "string") {
220
- return `
221
- protected static Dictionary<${getFieldType(f)}, ${RowClass}[]> _tempRecordsDictBy${convMemberName(f.name)} = new Dictionary<${getFieldType(f)}, ${RowClass}[]>();
222
- public static ${RowClass}[] GetConfigsBy${convMemberName(f.name)}(${getFieldType(f)} ${convMemberName(f.name)})
223
- {
224
- if (_tempRecordsDictBy${convMemberName(f.name)}.ContainsKey(${convMemberName(f.name)}))
225
- {
226
- return _tempRecordsDictBy${convMemberName(f.name)}.GetValueOrDefault(${convMemberName(f.name)});
227
- }
228
- else
229
- {
230
- var records = Configs.Where(c => c.${convMemberName(f.name)} == ${convMemberName(f.name)}).ToArray();
231
- _tempRecordsDictBy${convMemberName(f.name)}.Add(${convMemberName(f.name)}, records);
232
- return records;
233
- }
234
- }
256
+ else if (f.type == "number" || f.type == "int" || f.type == "long" || f.type == "string") {
257
+ return `
258
+ protected static Dictionary<${getFieldType(f)}, ${RowClass}[]> _tempRecordsDictBy${convMemberName(f.name)} = new Dictionary<${getFieldType(f)}, ${RowClass}[]>();
259
+ public static ${RowClass}[] GetConfigsBy${convMemberName(f.name)}(${getFieldType(f)} ${convMemberName(f.name)})
260
+ {
261
+ if (_tempRecordsDictBy${convMemberName(f.name)}.ContainsKey(${convMemberName(f.name)}))
262
+ {
263
+ return _tempRecordsDictBy${convMemberName(f.name)}.GetValueOrDefault(${convMemberName(f.name)});
264
+ }
265
+ else
266
+ {
267
+ var records = Configs.Where(c => c.${convMemberName(f.name)} == ${convMemberName(f.name)}).ToArray();
268
+ _tempRecordsDictBy${convMemberName(f.name)}.Add(${convMemberName(f.name)}, records);
269
+ return records;
270
+ }
271
+ }
235
272
  `;
236
273
  }
237
274
  else {
238
275
  return "";
239
276
  }
240
- })}
241
-
242
- #endregion uid map
243
-
244
- #region 生成fk.get/set
245
- ${(0, export_table_lib_1.foreach)(fields, f => `
246
- ${(0, export_table_lib_1.iff)(f.type == "fk", () => `
247
- ${(0, export_table_lib_1.iff)(getFkFieldType(f).toLowerCase() != "uid", () => `
248
- protected ${convMemberName(f.fkTableName)}[] _fk${convMemberName(f.name)}=null;
249
- /**
250
- * ${f.describe}
251
- **/
252
- public virtual ${convMemberName(f.fkTableName)}[] ${convMemberName(f.name)}DataList{
253
- get{
254
- if(this._fk${convMemberName(f.name)}==null){
255
- if(null==this.${convMemberName(f.name)}){
256
- this._fk${convMemberName(f.name)} = new ${convMemberName(f.fkTableName)}[0];
257
- }else{
258
- this._fk${convMemberName(f.name)}=${convMemberName(f.fkTableName)}.FindAll(a=>a.${convMemberName(f.fkFieldName)}!=null && this.${convMemberName(f.name)}==a.${convMemberName(f.fkFieldName)}).ToArray();
259
- }
260
- }
261
- return this._fk${convMemberName(f.name)};
262
- }
263
- }
264
- `).else(() => `
265
- protected ${convMemberName(f.fkTableName)} _fk${convMemberName(f.name)}=null;
266
- /**
267
- * ${f.describe}
268
- **/
269
- public virtual ${convMemberName(f.fkTableName)} ${convMemberName(f.name)}Data{
270
- get{
271
- if(this._fk${convMemberName(f.name)}==null){
272
- this._fk${convMemberName(f.name)}=${convMemberName(f.fkTableName)}.Find(a=>a.${convMemberName(f.fkFieldName)}==this.${convMemberName(f.name)});
273
- }
274
- return this._fk${convMemberName(f.name)};
275
- }
276
- }
277
- `)}
278
- `)}
279
- ${(0, export_table_lib_1.iff)(f.type == "fk[]", () => `
280
- protected ${convMemberName(f.fkTableName)}[] _fk${convMemberName(f.name)}=null;
281
- /**
282
- * ${f.describe}
283
- **/
284
- public virtual ${convMemberName(f.fkTableName)}[] ${convMemberName(f.name)}DataList{
285
- get{
286
- if(this._fk${convMemberName(f.name)}==null){
287
- if(null==this.${convMemberName(f.name)}){
288
- this._fk${convMemberName(f.name)} = new ${convMemberName(f.fkTableName)}[0];
289
- }else{
290
- this._fk${convMemberName(f.name)}=MEEC.ExportedConfigs.${convMemberName(f.fkTableName)}.Configs.FindAll(a=>a.${convMemberName(f.fkFieldName)}!=null && this.${convMemberName(f.name)}!.Contains(a.${convMemberName(f.fkFieldName)})).ToArray();
291
- }
292
- }
293
- return this._fk${convMemberName(f.name)};
294
- }
295
- }
296
- `)}
297
- `)}
298
- #endregion 生成fk.get/set
299
- }
300
- }
277
+ })}
278
+
279
+ #endregion uid map
280
+
281
+ #region 生成fk.get/set
282
+ ${(0, export_table_lib_1.foreach)(fields, f => `
283
+ ${(0, export_table_lib_1.iff)(f.type == "fk", () => `
284
+ ${(0, export_table_lib_1.iff)(getFkFieldType(f).toLowerCase() != "uid", () => `
285
+ protected ${convMemberName(f.fkTableName)}[] _fk${convMemberName(f.name)}=null;
286
+ /**
287
+ * ${f.describe}
288
+ **/
289
+ public virtual ${convMemberName(f.fkTableName)}[] ${convMemberName(f.name)}DataList{
290
+ get{
291
+ if(this._fk${convMemberName(f.name)}==null){
292
+ if(null==this.${convMemberName(f.name)}){
293
+ this._fk${convMemberName(f.name)} = new ${convMemberName(f.fkTableName)}[0];
294
+ }else{
295
+ this._fk${convMemberName(f.name)}=${convMemberName(f.fkTableName)}.FindAll(a=>a.${convMemberName(f.fkFieldName)}!=null && this.${convMemberName(f.name)}==a.${convMemberName(f.fkFieldName)}).ToArray();
296
+ }
297
+ }
298
+ return this._fk${convMemberName(f.name)};
299
+ }
300
+ }
301
+ `).else(() => `
302
+ protected ${convMemberName(f.fkTableName)} _fk${convMemberName(f.name)}=null;
303
+ /**
304
+ * ${f.describe}
305
+ **/
306
+ public virtual ${convMemberName(f.fkTableName)} ${convMemberName(f.name)}Data{
307
+ get{
308
+ if(this._fk${convMemberName(f.name)}==null){
309
+ this._fk${convMemberName(f.name)}=${convMemberName(f.fkTableName)}.Find(a=>a.${convMemberName(f.fkFieldName)}==this.${convMemberName(f.name)});
310
+ }
311
+ return this._fk${convMemberName(f.name)};
312
+ }
313
+ }
314
+ `)}
315
+ `)}
316
+ ${(0, export_table_lib_1.iff)(f.type == "fk[]", () => `
317
+ protected ${convMemberName(f.fkTableName)}[] _fk${convMemberName(f.name)}=null;
318
+ /**
319
+ * ${f.describe}
320
+ **/
321
+ public virtual ${convMemberName(f.fkTableName)}[] ${convMemberName(f.name)}DataList{
322
+ get{
323
+ if(this._fk${convMemberName(f.name)}==null){
324
+ if(null==this.${convMemberName(f.name)}){
325
+ this._fk${convMemberName(f.name)} = new ${convMemberName(f.fkTableName)}[0];
326
+ }else{
327
+ this._fk${convMemberName(f.name)}=MEEC.ExportedConfigs.${convMemberName(f.fkTableName)}.Configs.FindAll(a=>a.${convMemberName(f.fkFieldName)}!=null && this.${convMemberName(f.name)}!.Contains(a.${convMemberName(f.fkFieldName)})).ToArray();
328
+ }
329
+ }
330
+ return this._fk${convMemberName(f.name)};
331
+ }
332
+ }
333
+ `)}
334
+ `)}
335
+ #endregion 生成fk.get/set
336
+ }
337
+ }
301
338
  `;
302
339
  return temp;
303
340
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "export-table-pulgin-csharp",
3
- "version": "1.0.41",
3
+ "version": "1.0.44",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
@@ -14,7 +14,7 @@
14
14
  "license": "ISC",
15
15
  "dependencies": {
16
16
  "@types/node": "^17.0.18",
17
- "export-table-lib": "latest",
17
+ "export-table-lib": "^1.0.46",
18
18
  "fs": "^0.0.1-security",
19
19
  "fs-extra": "^10.0.0",
20
20
  "fse": "^4.0.1"