@darabonba/python-generator 2.0.0 → 2.0.2

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.
Files changed (38) hide show
  1. package/lib/generator.js +43 -29
  2. package/package.json +1 -1
  3. package/tests/expected/complex/tea_python_tests/client.py +5 -4
  4. package/tests/expected/complex/tea_python_tests/models.py +16 -16
  5. package/tests/expected/model/tea_python_tests/models.py +41 -58
  6. package/tests/expected/multi/tea_python_tests/model/user.py +3 -0
  7. package/tests/fixtures/complex/main.dara +1 -0
  8. package/tests/fixtures/multi/libraries/darabonba_Util_0.2.11/Teafile +7 -1
  9. package/tests/fixtures/multi/libraries/darabonba_Util_0.2.11/util.tea +2 -0
  10. package/tests/fixtures/multi/model/user.dara +2 -0
  11. package/tests/output/complex/tea_python_tests/client.py +5 -4
  12. package/tests/output/complex/tea_python_tests/models.py +16 -16
  13. package/tests/output/model/tea_python_tests/models.py +41 -58
  14. package/tests/output/multi/tea_python_tests/model/user.py +3 -0
  15. package/src/generator.js +0 -231
  16. package/src/langs/common/combinator.js +0 -193
  17. package/src/langs/common/config.js +0 -60
  18. package/src/langs/common/enum.js +0 -179
  19. package/src/langs/common/items.js +0 -551
  20. package/src/langs/common/package_info.js +0 -53
  21. package/src/langs/python/combinator.js +0 -1898
  22. package/src/langs/python/config.js +0 -169
  23. package/src/langs/python/files/.gitignore.tmpl +0 -5
  24. package/src/langs/python/files/__init__.py.tmpl +0 -1
  25. package/src/langs/python/files/setup.py.tmpl +0 -74
  26. package/src/langs/python/package_info.js +0 -78
  27. package/src/langs/python2/combinator.js +0 -1770
  28. package/src/langs/python2/config.js +0 -162
  29. package/src/langs/python2/files/.gitignore.tmpl +0 -5
  30. package/src/langs/python2/files/__init__.py.tmpl +0 -1
  31. package/src/langs/python2/files/setup.py.tmpl +0 -82
  32. package/src/langs/python2/package_info.js +0 -78
  33. package/src/lib/debug.js +0 -55
  34. package/src/lib/emitter.js +0 -95
  35. package/src/lib/helper.js +0 -207
  36. package/src/resolver/base.js +0 -282
  37. package/src/resolver/client.js +0 -1013
  38. package/src/resolver/model.js +0 -159
@@ -401,10 +401,9 @@ class ComplexRequest(DaraModel):
401
401
  result['numMap'] = self.num_map
402
402
  if self.model_map is not None:
403
403
  result['modelMap'] = {}
404
- for k1, v1 in k.items():
404
+ for k1, v1 in self.model_map.items():
405
405
  result['modelMap'][k1] = v1.to_map() if v1 else None
406
406
 
407
-
408
407
  if self.request is not None:
409
408
  result['request'] = self.request.to_map()
410
409
 
@@ -424,12 +423,9 @@ class ComplexRequest(DaraModel):
424
423
  if self.str is not None:
425
424
  result['srt'] = self.str
426
425
  if self.part is not None:
427
- l1 = 0
428
426
  result['Part'] = []
429
427
  for k1 in self.part:
430
- l1 += 1
431
- result['Part'][l1] = k1.to_map() if k1 else None
432
-
428
+ result['Part'].append(k1.to_map() if k1 else None)
433
429
 
434
430
  return result
435
431
 
@@ -444,11 +440,11 @@ class ComplexRequest(DaraModel):
444
440
  if m.get('mapList') is not None:
445
441
  self.map_list = m.get('mapList')
446
442
  if m.get('header') is not None:
447
- temp_model = ComplexRequestHeader
443
+ temp_model = ComplexRequestHeader()
448
444
  self.header = temp_model.from_map(m.get('header'))
449
445
 
450
446
  if m.get('configs') is not None:
451
- temp_model = ComplexRequestConfigs
447
+ temp_model = ComplexRequestConfigs()
452
448
  self.configs = temp_model.from_map(m.get('configs'))
453
449
 
454
450
  if m.get('num') is not None:
@@ -500,10 +496,12 @@ class ComplexRequest(DaraModel):
500
496
  if m.get('byt') is not None:
501
497
  self.byt = m.get('byt')
502
498
  if m.get('req') is not None:
503
- self.req = DaraRequest.from_map(m.get('req'))
499
+ temp_model = DaraRequest()
500
+ self.req = temp_model.from_map(m.get('req'))
504
501
 
505
502
  if m.get('resp') is not None:
506
- self.resp = DaraResponse.from_map(m.get('resp'))
503
+ temp_model = DaraResponse()
504
+ self.resp = temp_model.from_map(m.get('resp'))
507
505
 
508
506
  if m.get('map') is not None:
509
507
  self.map = m.get('map')
@@ -512,15 +510,18 @@ class ComplexRequest(DaraModel):
512
510
  if m.get('modelMap') is not None:
513
511
  self.model_map = {}
514
512
  for k1, v1 in m.get('modelMap').items():
515
- self.model_map[k1] = SourceClient.from_map(v1)
513
+ temp_model = SourceClient()
514
+ self.model_map[k1] = temp_model.from_map(v1)
516
515
 
517
516
  if m.get('request') is not None:
518
- self.request = SourceClient.from_map(m.get('request'))
517
+ temp_model = SourceClient()
518
+ self.request = temp_model.from_map(m.get('request'))
519
519
 
520
520
  if m.get('client') is not None:
521
521
  self.client = m.get('client')
522
522
  if m.get('instance') is not None:
523
- self.instance = SourceClient.from_map(m.get('instance'))
523
+ temp_model = SourceClient()
524
+ self.instance = temp_model.from_map(m.get('instance'))
524
525
 
525
526
  if m.get('from') is not None:
526
527
  self.from_ = m.get('from')
@@ -536,9 +537,8 @@ class ComplexRequest(DaraModel):
536
537
  l1 = 0
537
538
  self.part = []
538
539
  for k1 in m.get('Part'):
539
- l1 += 1
540
- temp_model = ComplexRequestPart
541
- self.part[l1] = temp_model.from_map(k1)
540
+ temp_model = ComplexRequestPart()
541
+ self.part.append(temp_model.from_map(k1))
542
542
 
543
543
  return self
544
544
 
@@ -88,7 +88,7 @@ class MainFileModel(DaraModel):
88
88
  if m.get('str') is not None:
89
89
  self.str = m.get('str')
90
90
  if m.get('model') is not None:
91
- temp_model = MainFileModelModel
91
+ temp_model = MainFileModelModel()
92
92
  self.model = temp_model.from_map(m.get('model'))
93
93
 
94
94
  return self
@@ -152,7 +152,7 @@ class MyModelModel(DaraModel):
152
152
  if m.get('str') is not None:
153
153
  self.str = m.get('str')
154
154
  if m.get('model') is not None:
155
- temp_model = MyModelModelModel
155
+ temp_model = MyModelModelModel()
156
156
  self.model = temp_model.from_map(m.get('model'))
157
157
 
158
158
  return self
@@ -216,7 +216,7 @@ class MyModelSubmodel(DaraModel):
216
216
  if m.get('stringfield') is not None:
217
217
  self.stringfield = m.get('stringfield')
218
218
  if m.get('model') is not None:
219
- temp_model = MyModelSubmodelModel
219
+ temp_model = MyModelSubmodelModel()
220
220
  self.model = temp_model.from_map(m.get('model'))
221
221
 
222
222
  return self
@@ -265,7 +265,7 @@ class M(DaraModel):
265
265
  def from_map(self, m: dict = None):
266
266
  m = m or dict()
267
267
  if m.get('subM') is not None:
268
- temp_model = MSub_m
268
+ temp_model = MSubM()
269
269
  self.sub_m = temp_model.from_map(m.get('subM'))
270
270
 
271
271
  return self
@@ -520,57 +520,39 @@ class MyModel(DaraModel):
520
520
 
521
521
  if self.submodel_map is not None:
522
522
  result['submodelMap'] = {}
523
- for k1, v1 in k.items():
523
+ for k1, v1 in self.submodel_map.items():
524
524
  result['submodelMap'][k1] = v1.to_map() if v1 else None
525
525
 
526
-
527
526
  if self.map_model is not None:
528
527
  result['mapModel'] = {}
529
- for k1, v1 in k.items():
528
+ for k1, v1 in self.map_model.items():
530
529
  result['mapModel'][k1] = v1.to_map() if v1 else None
531
530
 
532
-
533
531
  if self.subarraymodel is not None:
534
- l1 = 0
535
532
  result['subarraymodel'] = []
536
533
  for k1 in self.subarraymodel:
537
- l1 += 1
538
- result['subarraymodel'][l1] = k1.to_map() if k1 else None
539
-
534
+ result['subarraymodel'].append(k1.to_map() if k1 else None)
540
535
 
541
536
  if self.subarray is not None:
542
- l1 = 0
543
537
  result['subarray'] = []
544
538
  for k1 in self.subarray:
545
- l1 += 1
546
- result['subarray'][l1] = k1.to_map() if k1 else None
547
-
539
+ result['subarray'].append(k1.to_map() if k1 else None)
548
540
 
549
541
  if self.ssubarray is not None:
550
- l1 = 0
551
542
  result['ssubarray'] = []
552
543
  for k1 in self.ssubarray:
553
- l1 += 1
554
- l2 = 0
555
- result['ssubarray'][l1] = []
544
+ result['ssubarray'] = []
556
545
  for k2 in k1:
557
- l2 += 1
558
- result['ssubarray'][l1][l2] = k2.to_map() if k2 else None
559
-
546
+ result['ssubarray'].append(k2.to_map() if k2 else None)
560
547
 
561
548
  if self.ssubmarray is not None:
562
549
  result['ssubmarray'] = self.ssubmarray
563
550
  if self.ssubmmarray is not None:
564
- l1 = 0
565
551
  result['ssubmmarray'] = []
566
552
  for k1 in self.ssubmmarray:
567
- l1 += 1
568
- l2 = 0
569
- result['ssubmmarray'][l1] = []
553
+ result['ssubmmarray'] = []
570
554
  for k2 in k1:
571
- l2 += 1
572
- result['ssubmmarray'][l1][l2] = k2.to_map() if k2 else None
573
-
555
+ result['ssubmmarray'].append(k2.to_map() if k2 else None)
574
556
 
575
557
  if self.maparray is not None:
576
558
  result['maparray'] = self.maparray
@@ -578,22 +560,19 @@ class MyModel(DaraModel):
578
560
  result['mapsubmarray'] = self.mapsubmarray
579
561
  if self.module_model_map is not None:
580
562
  result['moduleModelMap'] = {}
581
- for k1, v1 in k.items():
563
+ for k1, v1 in self.module_model_map.items():
582
564
  result['moduleModelMap'][k1] = v1.to_map() if v1 else None
583
565
 
584
-
585
566
  if self.sub_model_map is not None:
586
567
  result['subModelMap'] = {}
587
- for k1, v1 in k.items():
568
+ for k1, v1 in self.sub_model_map.items():
588
569
  result['subModelMap'][k1] = v1.to_map() if v1 else None
589
570
 
590
-
591
571
  if self.model_map is not None:
592
572
  result['modelMap'] = {}
593
- for k1, v1 in k.items():
573
+ for k1, v1 in self.model_map.items():
594
574
  result['modelMap'][k1] = v1.to_map() if v1 else None
595
575
 
596
-
597
576
  if self.module_map is not None:
598
577
  result['moduleMap'] = self.module_map
599
578
  if self.object is not None:
@@ -645,7 +624,7 @@ class MyModel(DaraModel):
645
624
  def from_map(self, m: dict = None):
646
625
  m = m or dict()
647
626
  if m.get('model') is not None:
648
- temp_model = MyModelModel
627
+ temp_model = MyModelModel()
649
628
  self.model = temp_model.from_map(m.get('model'))
650
629
 
651
630
  if m.get('stringfield') is not None:
@@ -659,44 +638,44 @@ class MyModel(DaraModel):
659
638
  if m.get('realName') is not None:
660
639
  self.name = m.get('realName')
661
640
  if m.get('submodel') is not None:
662
- temp_model = MyModelSubmodel
641
+ temp_model = MyModelSubmodel()
663
642
  self.submodel = temp_model.from_map(m.get('submodel'))
664
643
 
665
644
  if m.get('submodelMap') is not None:
666
645
  self.submodel_map = {}
667
646
  for k1, v1 in m.get('submodelMap').items():
668
- self.submodel_map[k1] = MyModelSubmodel.from_map(v1)
647
+ temp_model = MyModelSubmodel()
648
+ self.submodel_map[k1] = temp_model.from_map(v1)
669
649
 
670
650
  if m.get('mapModel') is not None:
671
651
  self.map_model = {}
672
652
  for k1, v1 in m.get('mapModel').items():
673
- self.map_model[k1] = M.from_map(v1)
653
+ temp_model = M()
654
+ self.map_model[k1] = temp_model.from_map(v1)
674
655
 
675
656
  if m.get('subarraymodel') is not None:
676
657
  l1 = 0
677
658
  self.subarraymodel = []
678
659
  for k1 in m.get('subarraymodel'):
679
- l1 += 1
680
- temp_model = MyModelSubarraymodel
681
- self.subarraymodel[l1] = temp_model.from_map(k1)
660
+ temp_model = MyModelSubarraymodel()
661
+ self.subarraymodel.append(temp_model.from_map(k1))
682
662
 
683
663
  if m.get('subarray') is not None:
684
664
  l1 = 0
685
665
  self.subarray = []
686
666
  for k1 in m.get('subarray'):
687
- l1 += 1
688
- self.subarray[l1] = M.from_map(k1)
667
+ temp_model = M()
668
+ self.subarray.append(temp_model.from_map(k1))
689
669
 
690
670
  if m.get('ssubarray') is not None:
691
671
  l1 = 0
692
672
  self.ssubarray = []
693
673
  for k1 in m.get('ssubarray'):
694
- l1 += 1
695
674
  l2 = 0
696
- self.ssubarray[l1] = []
675
+ self.ssubarray = []
697
676
  for k2 in k1:
698
- l2 += 1
699
- self.ssubarray[l1][l2] = M.from_map(k2)
677
+ temp_model = M()
678
+ self.ssubarray.append(temp_model.from_map(k2))
700
679
 
701
680
  if m.get('ssubmarray') is not None:
702
681
  self.ssubmarray = m.get('ssubmarray')
@@ -704,12 +683,11 @@ class MyModel(DaraModel):
704
683
  l1 = 0
705
684
  self.ssubmmarray = []
706
685
  for k1 in m.get('ssubmmarray'):
707
- l1 += 1
708
686
  l2 = 0
709
- self.ssubmmarray[l1] = []
687
+ self.ssubmmarray = []
710
688
  for k2 in k1:
711
- l2 += 1
712
- self.ssubmmarray[l1][l2] = SourceClient.from_map(k2)
689
+ temp_model = SourceClient()
690
+ self.ssubmmarray.append(temp_model.from_map(k2))
713
691
 
714
692
  if m.get('maparray') is not None:
715
693
  self.maparray = m.get('maparray')
@@ -718,17 +696,20 @@ class MyModel(DaraModel):
718
696
  if m.get('moduleModelMap') is not None:
719
697
  self.module_model_map = {}
720
698
  for k1, v1 in m.get('moduleModelMap').items():
721
- self.module_model_map[k1] = SourceClient.from_map(v1)
699
+ temp_model = SourceClient()
700
+ self.module_model_map[k1] = temp_model.from_map(v1)
722
701
 
723
702
  if m.get('subModelMap') is not None:
724
703
  self.sub_model_map = {}
725
704
  for k1, v1 in m.get('subModelMap').items():
726
- self.sub_model_map[k1] = MSubM.from_map(v1)
705
+ temp_model = MSubM()
706
+ self.sub_model_map[k1] = temp_model.from_map(v1)
727
707
 
728
708
  if m.get('modelMap') is not None:
729
709
  self.model_map = {}
730
710
  for k1, v1 in m.get('modelMap').items():
731
- self.model_map[k1] = M.from_map(v1)
711
+ temp_model = M()
712
+ self.model_map[k1] = temp_model.from_map(v1)
732
713
 
733
714
  if m.get('moduleMap') is not None:
734
715
  self.module_map = m.get('moduleMap')
@@ -739,10 +720,12 @@ class MyModel(DaraModel):
739
720
  if m.get('writable') is not None:
740
721
  self.writable = m.get('writable')
741
722
  if m.get('existModel') is not None:
742
- self.exist_model = M.from_map(m.get('existModel'))
723
+ temp_model = M()
724
+ self.exist_model = temp_model.from_map(m.get('existModel'))
743
725
 
744
726
  if m.get('request') is not None:
745
- self.request = DaraRequest.from_map(m.get('request'))
727
+ temp_model = DaraRequest()
728
+ self.request = temp_model.from_map(m.get('request'))
746
729
 
747
730
  if m.get('complexList') is not None:
748
731
  self.complex_list = m.get('complexList')
@@ -1,6 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # This file is auto-generated, don't edit it. Thanks.
3
3
  from __future__ import annotations
4
+ from alibabacloud_tea_util.util import Utils
4
5
  from tea_python_tests.lib.util import Util
5
6
  from typing import Generator, AsyncGenerator
6
7
 
@@ -12,12 +13,14 @@ class Client:
12
13
 
13
14
  @staticmethod
14
15
  def test() -> Generator[str, None, None]:
16
+ Utils.test()
15
17
  it = Util.test_1()
16
18
  for test in it:
17
19
  yield test
18
20
 
19
21
  @staticmethod
20
22
  async def test_async() -> AsyncGenerator[str, None, None]:
23
+ Utils.test()
21
24
  it = Util.test_1()
22
25
  for test in it:
23
26
  yield test
package/src/generator.js DELETED
@@ -1,231 +0,0 @@
1
- 'use strict';
2
-
3
- const path = require('path');
4
- const fs = require('fs');
5
- const debug = require('./lib/debug');
6
-
7
- const { _deepClone } = require('./lib/helper');
8
- const ClientResolver = require('./resolver/client');
9
- const ModelResolver = require('./resolver/model');
10
-
11
- class Generator {
12
- constructor(meta = {}, lang = 'python') {
13
- if (!meta.outputDir) {
14
- throw new Error('`option.outputDir` should not empty');
15
- }
16
- this.lang = lang;
17
- this.typedef = meta[lang] && meta[lang].typedef ? meta[lang].typedef : {};
18
- this.additionalPackage = meta[lang] && meta[lang].additionalPackage ? meta[lang].additionalPackage : [];
19
- this.initConfig(meta);
20
- }
21
-
22
- visit(ast) {
23
- this.imports = this.resolveImports(ast);
24
- this.imports.typedef = this.typedef;
25
- this.imports.additionalPackage = this.additionalPackage;
26
- Object.keys(this.typedef).forEach((def) => {
27
- if (this.typedef[def].package && !this.imports.requirePackage.includes(this.typedef[def].package)) {
28
- this.imports.requirePackage.push(this.typedef[def].package);
29
- }
30
- });
31
- const objects = [];
32
-
33
- // combine client code
34
- const clientObjectItem = this.resolve('client', ast, ast);
35
- objects.push(clientObjectItem);
36
-
37
- // combine model code
38
- ast.moduleBody.nodes.filter((item) => {
39
- return item.type === 'model';
40
- }).forEach((model) => {
41
- const modelName = model.modelName.lexeme;
42
- const modelObjectItem = this.resolve('model', model, ast);
43
- if (ast.models) {
44
- Object.keys(ast.models).filter((key) => {
45
- return key.startsWith(modelName + '.');
46
- }).forEach((key) => {
47
- const subModel = ast.models[key];
48
- const subModelObjectItem = this.resolve('model', subModel, ast);
49
- modelObjectItem.subObject.push(subModelObjectItem);
50
- });
51
- }
52
- objects.push(modelObjectItem);
53
- });
54
-
55
- const combinator = this.getCombinator(this.config);
56
- combinator.combine(objects);
57
- }
58
-
59
- resolve(type, ast, globalAST) {
60
- const combinator = this.getCombinator(this.config);
61
- let resolver;
62
- switch (type) {
63
- case 'client':
64
- resolver = new ClientResolver(ast, combinator, ast);
65
- break;
66
- case 'model':
67
- resolver = new ModelResolver(ast, combinator, globalAST);
68
- break;
69
- }
70
- const objectItem = resolver.resolve();
71
- objectItem.includeList = combinator.includeList;
72
- objectItem.includeModelList = combinator.includeModelList;
73
- return objectItem;
74
- }
75
-
76
- getCombinator(configOriginal) {
77
- const config = _deepClone(configOriginal);
78
-
79
- // init combinator
80
- const Combinator = require(`./langs/${this.lang}/combinator`);
81
- return new Combinator(config, this.imports);
82
- }
83
-
84
- initConfig(meta) {
85
- const langDir = path.join(__dirname, `./langs/${this.lang}/`);
86
- if (!fs.existsSync(langDir)) {
87
- throw new Error(`Not supported language : ${this.lang}`);
88
- }
89
- const langConfig = require(`./langs/${this.lang}/config`);
90
-
91
- const config = {
92
- package: 'darabonba_sdk',
93
- clientName: langConfig.client.defaultName,
94
- include: [],
95
- parent: [],
96
- pkgDir: '',
97
- output: true,
98
- dir: meta.outputDir,
99
- layer: '',
100
- };
101
- Object.assign(config,
102
- langConfig,
103
- meta,
104
- );
105
- if (meta[this.lang]) {
106
- if (!meta[this.lang].package) {
107
- debug.warning('Not found package in Darafile, default package name is "darabonba_sdk".');
108
- }
109
-
110
- if (!meta[this.lang].clientName) {
111
- debug.warning('Not found clientName in Darafile, default clientName is "client".');
112
- }
113
-
114
- Object.assign(config,
115
- meta[this.lang],
116
- );
117
- } else {
118
- debug.warning('Not found python config in Darafile, default config will be used.');
119
- }
120
-
121
- this.config = config;
122
- }
123
-
124
- resolveImports(ast) {
125
- const imports = ast.imports;
126
-
127
- let requirePackage = [];
128
- let thirdPackageNamespace = {};
129
- let thirdPackageModel = {};
130
- let thirdPackageClient = {};
131
- let thirdPackageClientAlias = {};
132
- let importsTypedef = {};
133
-
134
- if (imports.length > 0) {
135
- const lockPath = path.join(this.config.pkgDir, '.libraries.json');
136
- const lock = JSON.parse(fs.readFileSync(lockPath, 'utf8'));
137
- let packageNameSet = [];
138
- let clientNameSet = [];
139
- ast.imports.forEach((item) => {
140
- const aliasId = item.lexeme;
141
- const moduleDir = this.config.libraries[aliasId];
142
- let targetPath;
143
- if (moduleDir.startsWith('/')) {
144
- targetPath = moduleDir;
145
- } else if (moduleDir.startsWith('./') || moduleDir.startsWith('../')) {
146
- targetPath = path.join(this.config.pkgDir, moduleDir);
147
- } else {
148
- targetPath = path.join(this.config.pkgDir, lock[moduleDir]);
149
- }
150
- // get dara meta
151
- const daraFilePath = fs.existsSync(path.join(targetPath, 'Teafile'))
152
- ? path.join(targetPath, 'Teafile')
153
- : path.join(targetPath, 'Darafile');
154
- const daraMeta = JSON.parse(fs.readFileSync(daraFilePath));
155
-
156
- // init package name,client name,modelDir name
157
- let packageName, clientName, modelDir;
158
- if (daraMeta[this.lang]) {
159
- if (daraMeta[this.lang].package) {
160
- packageName = daraMeta[this.lang].package;
161
- } else {
162
- debug.warning(`Not found package in ${daraMeta.name} Darafile, default package name is "${daraMeta.name}".`);
163
- packageName = daraMeta.name;
164
- }
165
-
166
- clientName = daraMeta[this.lang].clientName
167
- ? daraMeta[this.lang].clientName
168
- : this.config.clientName;
169
-
170
- modelDir = daraMeta[this.lang].modelDirName
171
- ? daraMeta[this.lang].modelDirName
172
- : this.config.model.dir;
173
- if (daraMeta[this.lang].typedef) {
174
- importsTypedef[aliasId] = {};
175
- const moduleTypedef = daraMeta[this.lang].typedef;
176
- Object.keys(moduleTypedef || {}).forEach((types) => {
177
- if (!importsTypedef[aliasId][types]) {
178
- importsTypedef[aliasId][types] = {};
179
- }
180
- importsTypedef[aliasId][types].import = moduleTypedef[types].import;
181
- importsTypedef[aliasId][types].type = moduleTypedef[types].type;
182
- if (moduleTypedef[types].package && !requirePackage.includes(moduleTypedef[types].package)) {
183
- requirePackage.push(moduleTypedef[types].package);
184
- }
185
- });
186
- }
187
- } else {
188
- packageName = daraMeta.name;
189
- clientName = this.config.clientName;
190
- modelDir = this.config.model.dir;
191
- }
192
-
193
- // resolve third package namespace
194
- if (packageNameSet.indexOf(packageName.toLowerCase()) < 0) {
195
- thirdPackageNamespace[aliasId] = packageName;
196
- packageNameSet.push(packageName.toLowerCase());
197
- } else {
198
- debug.stack('Duplication namespace');
199
- }
200
-
201
- // resolve third package model client name
202
- if (
203
- clientNameSet.indexOf(clientName.toLowerCase()) > -1 ||
204
- clientName.toLowerCase() === this.config.clientName.toLowerCase()
205
- ) {
206
- const alias = packageName.split('.').join('') + '->' + clientName.split('.').join('');
207
- thirdPackageClientAlias[aliasId] = alias;
208
- thirdPackageClient[aliasId] = clientName;
209
- } else {
210
- thirdPackageClient[aliasId] = clientName;
211
- clientNameSet.push(clientName.toLowerCase());
212
- }
213
- if (daraMeta.releases && daraMeta.releases[this.lang]) {
214
- requirePackage.push(daraMeta.releases[this.lang]);
215
- }
216
- // third package model dir name
217
- thirdPackageModel[aliasId] = modelDir;
218
- });
219
- }
220
- return {
221
- requirePackage,
222
- thirdPackageNamespace,
223
- thirdPackageClient,
224
- thirdPackageClientAlias,
225
- thirdPackageModel,
226
- importsTypedef,
227
- };
228
- }
229
- }
230
-
231
- module.exports = Generator;