@node-c/core 1.0.0-alpha8 → 1.0.0-beta0

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 (140) hide show
  1. package/coverage/src/app.ts.html +349 -0
  2. package/coverage/src/common/configProvider/configProvider.module.ts.html +160 -0
  3. package/coverage/src/common/configProvider/configProvider.service.ts.html +658 -0
  4. package/coverage/src/common/configProvider/index.html +146 -0
  5. package/coverage/src/common/configProvider/index.ts.html +94 -0
  6. package/coverage/src/common/definitions/common.constants.ts.html +160 -0
  7. package/coverage/src/common/definitions/common.errors.ts.html +124 -0
  8. package/coverage/src/common/definitions/index.html +146 -0
  9. package/coverage/src/common/definitions/index.ts.html +94 -0
  10. package/coverage/src/common/utils/index.html +131 -0
  11. package/coverage/src/common/utils/index.ts.html +88 -0
  12. package/coverage/src/common/utils/utils.loadDynamicModules.ts.html +265 -0
  13. package/coverage/src/domain/entityService/domain.entity.service.ts.html +784 -0
  14. package/coverage/src/domain/entityService/index.html +131 -0
  15. package/coverage/src/domain/entityService/index.ts.html +91 -0
  16. package/coverage/src/index.html +116 -0
  17. package/coverage/src/persistance/entityService/index.html +131 -0
  18. package/coverage/src/persistance/entityService/index.ts.html +91 -0
  19. package/coverage/src/persistance/entityService/persistance.entity.service.ts.html +268 -0
  20. package/dist/app.d.ts +2 -2
  21. package/dist/app.js +27 -15
  22. package/dist/app.js.map +1 -1
  23. package/dist/common/configProvider/configProvider.definitions.d.ts +156 -20
  24. package/dist/common/configProvider/configProvider.definitions.js +21 -7
  25. package/dist/common/configProvider/configProvider.definitions.js.map +1 -1
  26. package/dist/common/configProvider/configProvider.module.js +13 -2
  27. package/dist/common/configProvider/configProvider.module.js.map +1 -1
  28. package/dist/common/configProvider/configProvider.service.js +21 -18
  29. package/dist/common/configProvider/configProvider.service.js.map +1 -1
  30. package/dist/common/definitions/common.constants.d.ts +2 -1
  31. package/dist/common/definitions/common.constants.js +1 -0
  32. package/dist/common/definitions/common.constants.js.map +1 -1
  33. package/dist/common/utils/base64UrlEncode/base64UrlEncode.method.d.ts +1 -0
  34. package/dist/common/utils/base64UrlEncode/base64UrlEncode.method.js +9 -0
  35. package/dist/common/utils/base64UrlEncode/base64UrlEncode.method.js.map +1 -0
  36. package/dist/common/utils/base64UrlEncode/index.d.ts +1 -0
  37. package/dist/{persistance/common/entityService → common/utils/base64UrlEncode}/index.js +1 -2
  38. package/dist/common/utils/base64UrlEncode/index.js.map +1 -0
  39. package/dist/common/utils/getNested/getNested.definitions.d.ts +4 -0
  40. package/dist/common/utils/getNested/getNested.definitions.js +3 -0
  41. package/dist/common/utils/getNested/getNested.definitions.js.map +1 -0
  42. package/dist/common/utils/getNested/getNested.method.d.ts +6 -0
  43. package/dist/common/utils/getNested/getNested.method.js +88 -0
  44. package/dist/common/utils/getNested/getNested.method.js.map +1 -0
  45. package/dist/common/utils/getNested/index.d.ts +2 -0
  46. package/dist/common/utils/getNested/index.js +19 -0
  47. package/dist/common/utils/getNested/index.js.map +1 -0
  48. package/dist/common/utils/httpRequest/httpRequest.definitions.d.ts +19 -0
  49. package/dist/common/utils/httpRequest/httpRequest.definitions.js +3 -0
  50. package/dist/common/utils/httpRequest/httpRequest.definitions.js.map +1 -0
  51. package/dist/common/utils/httpRequest/httpRequest.method.d.ts +2 -0
  52. package/dist/common/utils/httpRequest/httpRequest.method.js +56 -0
  53. package/dist/common/utils/httpRequest/httpRequest.method.js.map +1 -0
  54. package/dist/common/utils/httpRequest/index.d.ts +2 -0
  55. package/dist/common/utils/httpRequest/index.js +19 -0
  56. package/dist/common/utils/httpRequest/index.js.map +1 -0
  57. package/dist/common/utils/index.d.ts +5 -1
  58. package/dist/common/utils/index.js +5 -1
  59. package/dist/common/utils/index.js.map +1 -1
  60. package/dist/common/utils/loadDynamicModules/index.d.ts +1 -0
  61. package/dist/common/utils/loadDynamicModules/index.js +18 -0
  62. package/dist/common/utils/loadDynamicModules/index.js.map +1 -0
  63. package/dist/common/utils/{utils.loadDynamicModules.d.ts → loadDynamicModules/utils.loadDynamicModules.d.ts} +1 -1
  64. package/dist/common/utils/loadDynamicModules/utils.loadDynamicModules.js.map +1 -0
  65. package/dist/common/utils/setNested/index.d.ts +2 -0
  66. package/dist/common/utils/setNested/index.js +19 -0
  67. package/dist/common/utils/setNested/index.js.map +1 -0
  68. package/dist/common/utils/setNested/setNested.definitions.d.ts +4 -0
  69. package/dist/common/utils/setNested/setNested.definitions.js +3 -0
  70. package/dist/common/utils/setNested/setNested.definitions.js.map +1 -0
  71. package/dist/common/utils/setNested/setNested.method.d.ts +2 -0
  72. package/dist/common/utils/setNested/setNested.method.js +70 -0
  73. package/dist/common/utils/setNested/setNested.method.js.map +1 -0
  74. package/dist/data/entityService/data.entity.service.d.ts +17 -0
  75. package/dist/data/entityService/data.entity.service.definitions.d.ts +117 -0
  76. package/dist/data/entityService/data.entity.service.definitions.js +28 -0
  77. package/dist/data/entityService/data.entity.service.definitions.js.map +1 -0
  78. package/dist/{persistance/common/entityService/persistance.entity.service.js → data/entityService/data.entity.service.js} +42 -10
  79. package/dist/data/entityService/data.entity.service.js.map +1 -0
  80. package/dist/data/entityService/index.d.ts +2 -0
  81. package/dist/data/entityService/index.js +19 -0
  82. package/dist/data/entityService/index.js.map +1 -0
  83. package/dist/domain/entityService/domain.entity.service.d.ts +28 -13
  84. package/dist/domain/entityService/domain.entity.service.definitions.d.ts +26 -17
  85. package/dist/domain/entityService/domain.entity.service.definitions.js +6 -6
  86. package/dist/domain/entityService/domain.entity.service.definitions.js.map +1 -1
  87. package/dist/domain/entityService/domain.entity.service.js +97 -56
  88. package/dist/domain/entityService/domain.entity.service.js.map +1 -1
  89. package/dist/index.d.ts +1 -1
  90. package/dist/index.js +1 -1
  91. package/dist/index.js.map +1 -1
  92. package/package.json +11 -10
  93. package/src/app.spec.ts +138 -0
  94. package/src/app.ts +115 -0
  95. package/src/common/configProvider/configProvider.definitions.ts +445 -0
  96. package/src/common/configProvider/configProvider.module.spec.ts +90 -0
  97. package/src/common/configProvider/configProvider.module.ts +25 -0
  98. package/src/common/configProvider/configProvider.service.spec.ts +206 -0
  99. package/src/common/configProvider/configProvider.service.ts +204 -0
  100. package/src/common/configProvider/index.ts +3 -0
  101. package/src/common/definitions/common.constants.ts +27 -0
  102. package/src/common/definitions/common.definitions.ts +13 -0
  103. package/src/common/definitions/common.errors.ts +13 -0
  104. package/src/common/definitions/index.ts +3 -0
  105. package/src/common/utils/base64UrlEncode/base64UrlEncode.method.ts +4 -0
  106. package/src/common/utils/base64UrlEncode/index.ts +1 -0
  107. package/src/common/utils/getNested/getNested.definitions.ts +4 -0
  108. package/src/common/utils/getNested/getNested.method.ts +108 -0
  109. package/src/common/utils/getNested/getNested.spec.ts +151 -0
  110. package/src/common/utils/getNested/index.ts +2 -0
  111. package/src/common/utils/httpRequest/httpRequest.definitions.ts +22 -0
  112. package/src/common/utils/httpRequest/httpRequest.method.ts +46 -0
  113. package/src/common/utils/httpRequest/index.ts +2 -0
  114. package/src/common/utils/index.ts +5 -0
  115. package/src/common/utils/loadDynamicModules/index.ts +1 -0
  116. package/src/common/utils/loadDynamicModules/utils.loadDynamicModules.spec.ts +111 -0
  117. package/src/common/utils/loadDynamicModules/utils.loadDynamicModules.ts +69 -0
  118. package/src/common/utils/setNested/index.ts +2 -0
  119. package/src/common/utils/setNested/setNested.definitions.ts +4 -0
  120. package/src/common/utils/setNested/setNested.method.ts +83 -0
  121. package/src/common/utils/setNested/setNested.spec.ts +184 -0
  122. package/src/data/entityService/data.entity.service.definitions.ts +154 -0
  123. package/src/data/entityService/data.entity.service.spec.ts +112 -0
  124. package/src/data/entityService/data.entity.service.ts +144 -0
  125. package/src/data/entityService/index.ts +2 -0
  126. package/src/domain/entityService/domain.entity.service.definitions.ts +142 -0
  127. package/src/domain/entityService/domain.entity.service.spec.ts +126 -0
  128. package/src/domain/entityService/domain.entity.service.ts +421 -0
  129. package/src/domain/entityService/index.ts +2 -0
  130. package/src/index.ts +6 -0
  131. package/src/vitest.config.ts +9 -0
  132. package/dist/common/utils/utils.loadDynamicModules.js.map +0 -1
  133. package/dist/persistance/common/entityService/index.d.ts +0 -2
  134. package/dist/persistance/common/entityService/index.js.map +0 -1
  135. package/dist/persistance/common/entityService/persistance.entity.service.d.ts +0 -11
  136. package/dist/persistance/common/entityService/persistance.entity.service.definitions.d.ts +0 -70
  137. package/dist/persistance/common/entityService/persistance.entity.service.definitions.js +0 -23
  138. package/dist/persistance/common/entityService/persistance.entity.service.definitions.js.map +0 -1
  139. package/dist/persistance/common/entityService/persistance.entity.service.js.map +0 -1
  140. /package/dist/common/utils/{utils.loadDynamicModules.js → loadDynamicModules/utils.loadDynamicModules.js} +0 -0
@@ -0,0 +1,658 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/common/configProvider/configProvider.service.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/common/configProvider</a> configProvider.service.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>154/154</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>39/39</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>3/3</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>154/154</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
258
+ <span class="cline-any cline-yes">1x</span>
259
+ <span class="cline-any cline-neutral">&nbsp;</span>
260
+ <span class="cline-any cline-yes">1x</span>
261
+ <span class="cline-any cline-yes">1x</span>
262
+ <span class="cline-any cline-yes">1x</span>
263
+ <span class="cline-any cline-yes">1x</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
265
+ <span class="cline-any cline-yes">1x</span>
266
+ <span class="cline-any cline-neutral">&nbsp;</span>
267
+ <span class="cline-any cline-neutral">&nbsp;</span>
268
+ <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span>
271
+ <span class="cline-any cline-neutral">&nbsp;</span>
272
+ <span class="cline-any cline-neutral">&nbsp;</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-neutral">&nbsp;</span>
276
+ <span class="cline-any cline-yes">1x</span>
277
+ <span class="cline-any cline-neutral">&nbsp;</span>
278
+ <span class="cline-any cline-yes">1x</span>
279
+ <span class="cline-any cline-yes">1x</span>
280
+ <span class="cline-any cline-yes">1x</span>
281
+ <span class="cline-any cline-yes">8x</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-yes">8x</span>
284
+ <span class="cline-any cline-yes">8x</span>
285
+ <span class="cline-any cline-neutral">&nbsp;</span>
286
+ <span class="cline-any cline-neutral">&nbsp;</span>
287
+ <span class="cline-any cline-yes">1x</span>
288
+ <span class="cline-any cline-yes">6x</span>
289
+ <span class="cline-any cline-yes">6x</span>
290
+ <span class="cline-any cline-yes">6x</span>
291
+ <span class="cline-any cline-yes">6x</span>
292
+ <span class="cline-any cline-yes">6x</span>
293
+ <span class="cline-any cline-yes">6x</span>
294
+ <span class="cline-any cline-yes">6x</span>
295
+ <span class="cline-any cline-yes">6x</span>
296
+ <span class="cline-any cline-yes">6x</span>
297
+ <span class="cline-any cline-yes">6x</span>
298
+ <span class="cline-any cline-yes">6x</span>
299
+ <span class="cline-any cline-yes">5x</span>
300
+ <span class="cline-any cline-yes">5x</span>
301
+ <span class="cline-any cline-yes">5x</span>
302
+ <span class="cline-any cline-yes">6x</span>
303
+ <span class="cline-any cline-yes">20x</span>
304
+ <span class="cline-any cline-yes">20x</span>
305
+ <span class="cline-any cline-yes">4x</span>
306
+ <span class="cline-any cline-yes">4x</span>
307
+ <span class="cline-any cline-yes">16x</span>
308
+ <span class="cline-any cline-yes">16x</span>
309
+ <span class="cline-any cline-yes">20x</span>
310
+ <span class="cline-any cline-yes">4x</span>
311
+ <span class="cline-any cline-yes">4x</span>
312
+ <span class="cline-any cline-yes">12x</span>
313
+ <span class="cline-any cline-yes">20x</span>
314
+ <span class="cline-any cline-yes">36x</span>
315
+ <span class="cline-any cline-yes">36x</span>
316
+ <span class="cline-any cline-yes">8x</span>
317
+ <span class="cline-any cline-yes">8x</span>
318
+ <span class="cline-any cline-yes">8x</span>
319
+ <span class="cline-any cline-yes">36x</span>
320
+ <span class="cline-any cline-yes">8x</span>
321
+ <span class="cline-any cline-yes">8x</span>
322
+ <span class="cline-any cline-yes">8x</span>
323
+ <span class="cline-any cline-yes">36x</span>
324
+ <span class="cline-any cline-yes">12x</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-yes">5x</span>
327
+ <span class="cline-any cline-yes">6x</span>
328
+ <span class="cline-any cline-yes">1x</span>
329
+ <span class="cline-any cline-yes">1x</span>
330
+ <span class="cline-any cline-neutral">&nbsp;</span>
331
+ <span class="cline-any cline-yes">1x</span>
332
+ <span class="cline-any cline-yes">5x</span>
333
+ <span class="cline-any cline-yes">5x</span>
334
+ <span class="cline-any cline-yes">5x</span>
335
+ <span class="cline-any cline-yes">5x</span>
336
+ <span class="cline-any cline-yes">5x</span>
337
+ <span class="cline-any cline-yes">5x</span>
338
+ <span class="cline-any cline-yes">5x</span>
339
+ <span class="cline-any cline-yes">5x</span>
340
+ <span class="cline-any cline-yes">5x</span>
341
+ <span class="cline-any cline-yes">5x</span>
342
+ <span class="cline-any cline-yes">5x</span>
343
+ <span class="cline-any cline-yes">5x</span>
344
+ <span class="cline-any cline-yes">5x</span>
345
+ <span class="cline-any cline-neutral">&nbsp;</span>
346
+ <span class="cline-any cline-yes">5x</span>
347
+ <span class="cline-any cline-yes">5x</span>
348
+ <span class="cline-any cline-yes">5x</span>
349
+ <span class="cline-any cline-yes">5x</span>
350
+ <span class="cline-any cline-yes">5x</span>
351
+ <span class="cline-any cline-neutral">&nbsp;</span>
352
+ <span class="cline-any cline-neutral">&nbsp;</span>
353
+ <span class="cline-any cline-neutral">&nbsp;</span>
354
+ <span class="cline-any cline-yes">5x</span>
355
+ <span class="cline-any cline-neutral">&nbsp;</span>
356
+ <span class="cline-any cline-neutral">&nbsp;</span>
357
+ <span class="cline-any cline-neutral">&nbsp;</span>
358
+ <span class="cline-any cline-neutral">&nbsp;</span>
359
+ <span class="cline-any cline-yes">5x</span>
360
+ <span class="cline-any cline-neutral">&nbsp;</span>
361
+ <span class="cline-any cline-yes">5x</span>
362
+ <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-yes">5x</span>
364
+ <span class="cline-any cline-yes">5x</span>
365
+ <span class="cline-any cline-yes">5x</span>
366
+ <span class="cline-any cline-neutral">&nbsp;</span>
367
+ <span class="cline-any cline-neutral">&nbsp;</span>
368
+ <span class="cline-any cline-yes">5x</span>
369
+ <span class="cline-any cline-yes">5x</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-yes">5x</span>
372
+ <span class="cline-any cline-yes">6x</span>
373
+ <span class="cline-any cline-neutral">&nbsp;</span>
374
+ <span class="cline-any cline-neutral">&nbsp;</span>
375
+ <span class="cline-any cline-yes">1x</span>
376
+ <span class="cline-any cline-yes">14x</span>
377
+ <span class="cline-any cline-yes">14x</span>
378
+ <span class="cline-any cline-yes">14x</span>
379
+ <span class="cline-any cline-yes">14x</span>
380
+ <span class="cline-any cline-yes">14x</span>
381
+ <span class="cline-any cline-yes">14x</span>
382
+ <span class="cline-any cline-yes">14x</span>
383
+ <span class="cline-any cline-yes">14x</span>
384
+ <span class="cline-any cline-yes">14x</span>
385
+ <span class="cline-any cline-yes">14x</span>
386
+ <span class="cline-any cline-yes">14x</span>
387
+ <span class="cline-any cline-yes">14x</span>
388
+ <span class="cline-any cline-yes">14x</span>
389
+ <span class="cline-any cline-yes">14x</span>
390
+ <span class="cline-any cline-yes">14x</span>
391
+ <span class="cline-any cline-yes">14x</span>
392
+ <span class="cline-any cline-yes">14x</span>
393
+ <span class="cline-any cline-yes">14x</span>
394
+ <span class="cline-any cline-neutral">&nbsp;</span>
395
+ <span class="cline-any cline-yes">14x</span>
396
+ <span class="cline-any cline-yes">14x</span>
397
+ <span class="cline-any cline-yes">14x</span>
398
+ <span class="cline-any cline-neutral">&nbsp;</span>
399
+ <span class="cline-any cline-yes">14x</span>
400
+ <span class="cline-any cline-yes">14x</span>
401
+ <span class="cline-any cline-yes">13x</span>
402
+ <span class="cline-any cline-neutral">&nbsp;</span>
403
+ <span class="cline-any cline-yes">14x</span>
404
+ <span class="cline-any cline-yes">104x</span>
405
+ <span class="cline-any cline-yes">104x</span>
406
+ <span class="cline-any cline-yes">39x</span>
407
+ <span class="cline-any cline-yes">39x</span>
408
+ <span class="cline-any cline-yes">104x</span>
409
+ <span class="cline-any cline-yes">104x</span>
410
+ <span class="cline-any cline-yes">39x</span>
411
+ <span class="cline-any cline-yes">39x</span>
412
+ <span class="cline-any cline-yes">26x</span>
413
+ <span class="cline-any cline-yes">26x</span>
414
+ <span class="cline-any cline-yes">104x</span>
415
+ <span class="cline-any cline-yes">5x</span>
416
+ <span class="cline-any cline-yes">5x</span>
417
+ <span class="cline-any cline-yes">104x</span>
418
+ <span class="cline-any cline-yes">12x</span>
419
+ <span class="cline-any cline-yes">12x</span>
420
+ <span class="cline-any cline-yes">21x</span>
421
+ <span class="cline-any cline-yes">21x</span>
422
+ <span class="cline-any cline-yes">21x</span>
423
+ <span class="cline-any cline-yes">21x</span>
424
+ <span class="cline-any cline-yes">21x</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-yes">13x</span>
427
+ <span class="cline-any cline-yes">12x</span>
428
+ <span class="cline-any cline-yes">12x</span>
429
+ <span class="cline-any cline-yes">12x</span>
430
+ <span class="cline-any cline-yes">12x</span>
431
+ <span class="cline-any cline-yes">21x</span>
432
+ <span class="cline-any cline-yes">21x</span>
433
+ <span class="cline-any cline-yes">21x</span>
434
+ <span class="cline-any cline-yes">21x</span>
435
+ <span class="cline-any cline-yes">21x</span>
436
+ <span class="cline-any cline-yes">21x</span>
437
+ <span class="cline-any cline-yes">21x</span>
438
+ <span class="cline-any cline-yes">42x</span>
439
+ <span class="cline-any cline-yes">42x</span>
440
+ <span class="cline-any cline-yes">42x</span>
441
+ <span class="cline-any cline-yes">42x</span>
442
+ <span class="cline-any cline-yes">21x</span>
443
+ <span class="cline-any cline-yes">21x</span>
444
+ <span class="cline-any cline-yes">12x</span>
445
+ <span class="cline-any cline-yes">13x</span>
446
+ <span class="cline-any cline-yes">14x</span>
447
+ <span class="cline-any cline-yes">1x</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import * as fs from 'fs/promises';
449
+ import * as path from 'path';
450
+ &nbsp;
451
+ import { Inject, Injectable } from '@nestjs/common';
452
+ import { setNested } from '@ramster/general-tools';
453
+ import dotenv from 'dotenv';
454
+ import { mergeDeepRight } from 'ramda';
455
+ &nbsp;
456
+ import {
457
+ APP_CONFIG_FROM_ENV_KEYS as APP_CONFIG_FROM_ENV_KEYS_DEFAULT,
458
+ APP_CONFIG_FROM_ENV_KEYS_PARENT_NAMES as APP_CONFIG_FROM_ENV_KEYS_PARENT_NAMES_DEFAULT,
459
+ AppConfig as AppConfigDefault,
460
+ AppConfigPersistanceRDB,
461
+ AppEnvironment,
462
+ GenerateOrmconfigOptions,
463
+ LoadConfigAppConfigs,
464
+ LoadConfigOptions
465
+ } from './configProvider.definitions';
466
+ &nbsp;
467
+ import { Constants } from '../definitions';
468
+ &nbsp;
469
+ @Injectable()
470
+ export class ConfigProviderService&lt;AppConfig extends AppConfigDefault = AppConfigDefault&gt; {
471
+ constructor(
472
+ @Inject(Constants.CONFIG)
473
+ // eslint-disable-next-line no-unused-vars
474
+ public config: AppConfig
475
+ ) {}
476
+ &nbsp;
477
+ // TODO: consider moving this into the persistance-rdb package
478
+ static async generateOrmconfig&lt;AppConfig extends AppConfigDefault = AppConfigDefault&gt;(
479
+ config: AppConfig,
480
+ options: GenerateOrmconfigOptions
481
+ ): Promise&lt;void&gt; {
482
+ const {
483
+ general: { projectRootPath },
484
+ persistance
485
+ } = config;
486
+ const { entitiesPathInModule, migrationsPathInModule, moduleName, modulePathInProject, seedsPathInModule } =
487
+ options;
488
+ const entitiesDirPath = path.join(projectRootPath, modulePathInProject, entitiesPathInModule);
489
+ const entitiesDirData = await fs.readdir(entitiesDirPath);
490
+ const entities: string[] = [];
491
+ const migrationsPath = path.join(projectRootPath, modulePathInProject, migrationsPathInModule);
492
+ const subscribers: string[] = [];
493
+ for (const i in entitiesDirData) {
494
+ const entityName = entitiesDirData[i];
495
+ if (entityName.match(/^base$/)) {
496
+ continue;
497
+ }
498
+ const entityFolderPath = path.join(entitiesDirPath, entityName);
499
+ const entityFolderChildItemStat = await fs.lstat(entityFolderPath);
500
+ if (!entityFolderChildItemStat.isDirectory()) {
501
+ continue;
502
+ }
503
+ const entityFolderData = await fs.readdir(entityFolderPath);
504
+ for (const j in entityFolderData) {
505
+ const entityFolderFileName = entityFolderData[j];
506
+ if (entityFolderFileName.match(/\.entity\./)) {
507
+ entities.push(path.join(entityFolderPath, entityFolderFileName));
508
+ continue;
509
+ }
510
+ if (entityFolderFileName.match(/\.subscriber\./)) {
511
+ subscribers.push(path.join(entityFolderPath, entityFolderFileName));
512
+ continue;
513
+ }
514
+ }
515
+ }
516
+ // write the ORM Config file
517
+ const ormconfigMigrations: string[] = [`${migrationsPath}/**/*.ts`];
518
+ if (seedsPathInModule) {
519
+ const baseSeedsBath = path.join(projectRootPath, modulePathInProject, seedsPathInModule);
520
+ ormconfigMigrations.push(`${baseSeedsBath}/common/**/*.ts`);
521
+ // ormconfigMigrations.push(`${baseSeedsBath}/common/**/*.ts`);
522
+ }
523
+ await fs.writeFile(
524
+ path.join(projectRootPath, `ormconfig-${moduleName}.json`),
525
+ JSON.stringify(
526
+ mergeDeepRight(persistance[moduleName], {
527
+ entities: [...entities],
528
+ subscribers: [...subscribers],
529
+ migrations: ormconfigMigrations,
530
+ cli: {
531
+ migrationsDir: migrationsPath
532
+ }
533
+ })
534
+ )
535
+ );
536
+ // write the Datasource file
537
+ const moduleConfig = persistance[moduleName] as AppConfigPersistanceRDB;
538
+ const entitiesPathInProject = path.join(modulePathInProject, entitiesPathInModule);
539
+ await fs.writeFile(
540
+ path.join(projectRootPath, `datasource-${moduleName}.ts`),
541
+ "import { loadDynamicModules } from '@node-c/core';\n" +
542
+ '\n' +
543
+ "import { DataSource } from 'typeorm';\n" +
544
+ '\n' +
545
+ `import * as FolderData from './${entitiesPathInProject}';\n` +
546
+ '\n' +
547
+ 'const { entities } = loadDynamicModules(FolderData);\n' +
548
+ '\n' +
549
+ 'export default new DataSource({\n' +
550
+ ` database: '${moduleConfig.database}',\n` +
551
+ ' entities: entities as unknown as string[],\n' +
552
+ ` host: '${moduleConfig.host}',\n` +
553
+ ' logging: false,\n' +
554
+ ` migrations: [${ormconfigMigrations.map(item =&gt; `'${item.replace(projectRootPath.replace(/\/$/, ''), '.')}'`).join(', ')}],\n` +
555
+ ` password: '${moduleConfig.password}',\n` +
556
+ ` port: ${moduleConfig.port},\n` +
557
+ ' subscribers: [],\n' +
558
+ ' synchronize: false,\n' +
559
+ ` type: '${moduleConfig.type}',\n` +
560
+ ` username: '${moduleConfig.user}'\n` +
561
+ '});\n'
562
+ );
563
+ }
564
+ &nbsp;
565
+ // TODO: logging about invalid config values
566
+ static async loadConfig&lt;AppConfig extends AppConfigDefault = AppConfigDefault&gt;(
567
+ appConfigs: LoadConfigAppConfigs,
568
+ options?: LoadConfigOptions
569
+ ): Promise&lt;AppConfig&gt; {
570
+ const { ...optionsData } = options || ({} as LoadConfigOptions);
571
+ const envKeys = optionsData.envKeys || APP_CONFIG_FROM_ENV_KEYS_DEFAULT;
572
+ const envKeysParentNames = optionsData.envKeysParentNames || APP_CONFIG_FROM_ENV_KEYS_PARENT_NAMES_DEFAULT;
573
+ const processEnv = process.env;
574
+ const envName = (processEnv['NODE_ENV'] as AppEnvironment) || AppEnvironment.Local;
575
+ const config = mergeDeepRight(
576
+ appConfigs.appConfigCommon,
577
+ appConfigs[
578
+ `appConfigProfile${envName.charAt(0).toUpperCase()}${envName.substring(
579
+ 1,
580
+ envName.length
581
+ )}` as keyof typeof appConfigs
582
+ ]
583
+ ) as AppConfig;
584
+ const moduleNamesByCategoryAndType: {
585
+ [moduleCategory: string]: { [moduleType: string]: string[] };
586
+ } = {};
587
+ const moduleTypesRegex = new RegExp(`^((${Object.keys(envKeys).join(')|(')}))_`);
588
+ config.general.environment = envName;
589
+ // populate the data from the .env file into the config object
590
+ const envVars = dotenv.parse(
591
+ (await fs.readFile(path.join(config.general.projectRootPath, `envFiles/.${envName}.env`))).toString()
592
+ );
593
+ // first pass - create a list of modules by name and map them by module type
594
+ for (const envKey in envVars) {
595
+ const [, moduleCategory] = envKey.match(moduleTypesRegex) || [];
596
+ if (!moduleCategory) {
597
+ continue;
598
+ }
599
+ const [, moduleName] = envKey.match(new RegExp(`^${moduleCategory}_(.+)_MODULE_TYPE$`)) || [];
600
+ if (!moduleName) {
601
+ continue;
602
+ }
603
+ const moduleFields = envKeys[moduleCategory as keyof typeof envKeys];
604
+ const moduleType = envVars[envKey] as keyof typeof moduleFields;
605
+ if (!moduleFields[moduleType]) {
606
+ continue;
607
+ }
608
+ if (!moduleNamesByCategoryAndType[moduleCategory]) {
609
+ moduleNamesByCategoryAndType[moduleCategory] = {};
610
+ }
611
+ if (!moduleNamesByCategoryAndType[moduleCategory][moduleType]) {
612
+ moduleNamesByCategoryAndType[moduleCategory][moduleType] = [];
613
+ }
614
+ moduleNamesByCategoryAndType[moduleCategory][moduleType].push(moduleName);
615
+ }
616
+ // second pass - actually go through the env vars and populate them in the config accordingly
617
+ for (const moduleCategory in moduleNamesByCategoryAndType) {
618
+ const { children: moduleConfigKeysForCategory, name: categoryConfigKey } = envKeysParentNames[moduleCategory];
619
+ const moduleFieldsForCategory = envKeys[moduleCategory as keyof typeof envKeys];
620
+ const moduleNamesByType = moduleNamesByCategoryAndType[moduleCategory];
621
+ for (const moduleType in moduleNamesByType) {
622
+ const moduleFieldsForType = moduleFieldsForCategory[
623
+ moduleType as keyof typeof moduleFieldsForCategory
624
+ ] as Record&lt;string, string&gt;;
625
+ const moduleNames = moduleNamesByType[moduleType];
626
+ moduleNames.forEach(moduleName =&gt; {
627
+ const moduleConfigKey = moduleConfigKeysForCategory[moduleName];
628
+ for (const fieldName in moduleFieldsForType) {
629
+ const configKey = `${categoryConfigKey}.${moduleConfigKey}.${moduleFieldsForType[fieldName]}`;
630
+ const envKey = `${moduleCategory}_${moduleName}_${fieldName}`;
631
+ setNested(config, configKey, envVars[envKey]);
632
+ }
633
+ });
634
+ }
635
+ }
636
+ return config;
637
+ }
638
+ }
639
+ &nbsp;</pre></td></tr></table></pre>
640
+
641
+ <div class='push'></div><!-- for sticky footer -->
642
+ </div><!-- /wrapper -->
643
+ <div class='footer quiet pad2 space-top1 center small'>
644
+ Code coverage generated by
645
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
646
+ at 2025-03-29T20:31:24.841Z
647
+ </div>
648
+ <script src="../../../prettify.js"></script>
649
+ <script>
650
+ window.onload = function () {
651
+ prettyPrint();
652
+ };
653
+ </script>
654
+ <script src="../../../sorter.js"></script>
655
+ <script src="../../../block-navigation.js"></script>
656
+ </body>
657
+ </html>
658
+