jitar 0.1.0 → 0.1.1

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 (195) hide show
  1. package/dist/core/SegmentBuilder.js +0 -1
  2. package/dist/runtime/ClientId.d.ts +4 -0
  3. package/dist/runtime/ClientId.js +11 -0
  4. package/dist/runtime/LocalRepository.d.ts +2 -2
  5. package/dist/runtime/LocalRepository.js +4 -5
  6. package/dist/runtime/caching/CacheBuilder.js +3 -3
  7. package/dist/runtime/serialization/ClassSerializer.js +16 -0
  8. package/dist/runtime/serialization/MapSerializer.d.ts +1 -0
  9. package/dist/runtime/serialization/MapSerializer.js +10 -0
  10. package/dist/runtime/serialization/SetSerializer.d.ts +1 -0
  11. package/dist/runtime/serialization/SetSerializer.js +7 -0
  12. package/dist/runtime/serialization/errors/InvalidPropertyType.d.ts +3 -0
  13. package/dist/runtime/serialization/errors/InvalidPropertyType.js +6 -0
  14. package/dist/server/controllers/ModulesController.js +6 -0
  15. package/package.json +23 -4
  16. package/src/core/SegmentBuilder.ts +1 -1
  17. package/src/runtime/ClientId.ts +18 -0
  18. package/src/runtime/LocalRepository.ts +5 -8
  19. package/src/runtime/caching/CacheBuilder.ts +3 -3
  20. package/src/runtime/serialization/ClassSerializer.ts +28 -0
  21. package/src/runtime/serialization/MapSerializer.ts +17 -1
  22. package/src/runtime/serialization/SetSerializer.ts +11 -0
  23. package/src/runtime/serialization/ValueSerializer.ts +1 -1
  24. package/src/runtime/serialization/errors/InvalidPropertyType.ts +12 -0
  25. package/src/server/controllers/ModulesController.ts +11 -0
  26. package/test/runtime/ClientId.spec.ts +43 -0
  27. package/test/runtime/LocalRepository.spec.ts +2 -2
  28. package/test/runtime/serialization/ValueSerializer.spec.ts +1 -1
  29. package/coverage/clover.xml +0 -2483
  30. package/coverage/coverage-final.json +0 -56
  31. package/coverage/lcov-report/base.css +0 -224
  32. package/coverage/lcov-report/block-navigation.js +0 -87
  33. package/coverage/lcov-report/favicon.png +0 -0
  34. package/coverage/lcov-report/index.html +0 -356
  35. package/coverage/lcov-report/prettify.css +0 -1
  36. package/coverage/lcov-report/prettify.js +0 -2
  37. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  38. package/coverage/lcov-report/sorter.js +0 -196
  39. package/coverage/lcov-report/src/core/ErrorManager.ts.html +0 -139
  40. package/coverage/lcov-report/src/core/Implementation.ts.html +0 -244
  41. package/coverage/lcov-report/src/core/ImplementationBuilder.ts.html +0 -148
  42. package/coverage/lcov-report/src/core/Procedure.ts.html +0 -379
  43. package/coverage/lcov-report/src/core/Segment.ts.html +0 -271
  44. package/coverage/lcov-report/src/core/SegmentBuilder.ts.html +0 -250
  45. package/coverage/lcov-report/src/core/Version.ts.html +0 -289
  46. package/coverage/lcov-report/src/core/definitions/AccessLevel.ts.html +0 -94
  47. package/coverage/lcov-report/src/core/definitions/index.html +0 -116
  48. package/coverage/lcov-report/src/core/errors/ErrorManager.ts.html +0 -139
  49. package/coverage/lcov-report/src/core/errors/ImplementationNotFound.ts.html +0 -121
  50. package/coverage/lcov-report/src/core/errors/InvalidVersionNumber.ts.html +0 -121
  51. package/coverage/lcov-report/src/core/errors/MissingParameterValue.ts.html +0 -121
  52. package/coverage/lcov-report/src/core/errors/ProcedureNotFound.ts.html +0 -121
  53. package/coverage/lcov-report/src/core/errors/index.html +0 -161
  54. package/coverage/lcov-report/src/core/index.html +0 -191
  55. package/coverage/lcov-report/src/core/reflection/ParameterParser.ts.html +0 -307
  56. package/coverage/lcov-report/src/core/reflection/ReflectionHelper.ts.html +0 -439
  57. package/coverage/lcov-report/src/core/reflection/index.html +0 -131
  58. package/coverage/lcov-report/src/core/reflection/models/ReflectionField.ts.html +0 -151
  59. package/coverage/lcov-report/src/core/reflection/models/ReflectionParameter.ts.html +0 -139
  60. package/coverage/lcov-report/src/core/reflection/models/index.html +0 -131
  61. package/coverage/lcov-report/src/core/utils/FqnBuilder.ts.html +0 -115
  62. package/coverage/lcov-report/src/core/utils/index.html +0 -116
  63. package/coverage/lcov-report/src/hooks.ts.html +0 -88
  64. package/coverage/lcov-report/src/index.html +0 -116
  65. package/coverage/lcov-report/src/runtime/Gateway.ts.html +0 -139
  66. package/coverage/lcov-report/src/runtime/LocalGateway.ts.html +0 -364
  67. package/coverage/lcov-report/src/runtime/LocalNode.ts.html +0 -475
  68. package/coverage/lcov-report/src/runtime/LocalRepository.ts.html +0 -556
  69. package/coverage/lcov-report/src/runtime/Node.ts.html +0 -130
  70. package/coverage/lcov-report/src/runtime/NodeBalancer.ts.html +0 -268
  71. package/coverage/lcov-report/src/runtime/NodeMonitor.ts.html +0 -274
  72. package/coverage/lcov-report/src/runtime/Remote.ts.html +0 -562
  73. package/coverage/lcov-report/src/runtime/RemoteNode.ts.html +0 -232
  74. package/coverage/lcov-report/src/runtime/Repository.ts.html +0 -145
  75. package/coverage/lcov-report/src/runtime/Runtime.ts.html +0 -226
  76. package/coverage/lcov-report/src/runtime/caching/ImportRewriter.ts.html +0 -313
  77. package/coverage/lcov-report/src/runtime/caching/ModuleAppender.ts.html +0 -208
  78. package/coverage/lcov-report/src/runtime/caching/RemoteBuilder.ts.html +0 -238
  79. package/coverage/lcov-report/src/runtime/caching/SourceAppender.ts.html +0 -256
  80. package/coverage/lcov-report/src/runtime/caching/definitions/Keywords.ts.html +0 -94
  81. package/coverage/lcov-report/src/runtime/caching/definitions/index.html +0 -116
  82. package/coverage/lcov-report/src/runtime/caching/index.html +0 -146
  83. package/coverage/lcov-report/src/runtime/caching/models/ApplicationModule.ts.html +0 -175
  84. package/coverage/lcov-report/src/runtime/caching/models/Implementation.ts.html +0 -208
  85. package/coverage/lcov-report/src/runtime/caching/models/SegmentModule.ts.html +0 -163
  86. package/coverage/lcov-report/src/runtime/caching/models/index.html +0 -146
  87. package/coverage/lcov-report/src/runtime/errors/ClientNotFound.ts.html +0 -121
  88. package/coverage/lcov-report/src/runtime/errors/InvalidClientId.ts.html +0 -121
  89. package/coverage/lcov-report/src/runtime/errors/InvalidSegmentFile.ts.html +0 -121
  90. package/coverage/lcov-report/src/runtime/errors/ModuleNotLoaded.ts.html +0 -121
  91. package/coverage/lcov-report/src/runtime/errors/NoNodeAvailable.ts.html +0 -121
  92. package/coverage/lcov-report/src/runtime/errors/RepositoryNotAvaiable.ts.html +0 -121
  93. package/coverage/lcov-report/src/runtime/errors/RuntimeNotAvailable.ts.html +0 -121
  94. package/coverage/lcov-report/src/runtime/errors/index.html +0 -206
  95. package/coverage/lcov-report/src/runtime/hooks/dependencies.ts.html +0 -142
  96. package/coverage/lcov-report/src/runtime/hooks/index.html +0 -131
  97. package/coverage/lcov-report/src/runtime/hooks/runtime.ts.html +0 -160
  98. package/coverage/lcov-report/src/runtime/index.html +0 -251
  99. package/coverage/lcov-report/src/runtime/models/File.ts.html +0 -151
  100. package/coverage/lcov-report/src/runtime/models/index.html +0 -116
  101. package/coverage/lcov-report/src/runtime/serialization/ArraySerializer.ts.html +0 -166
  102. package/coverage/lcov-report/src/runtime/serialization/ClassSerializer.ts.html +0 -400
  103. package/coverage/lcov-report/src/runtime/serialization/MapSerializer.ts.html +0 -217
  104. package/coverage/lcov-report/src/runtime/serialization/ObjectSerializer.ts.html +0 -211
  105. package/coverage/lcov-report/src/runtime/serialization/SetSerializer.ts.html +0 -178
  106. package/coverage/lcov-report/src/runtime/serialization/ValueSerializer.ts.html +0 -328
  107. package/coverage/lcov-report/src/runtime/serialization/errors/ClassNotFound.ts.html +0 -121
  108. package/coverage/lcov-report/src/runtime/serialization/errors/InvalidClass.ts.html +0 -121
  109. package/coverage/lcov-report/src/runtime/serialization/errors/index.html +0 -131
  110. package/coverage/lcov-report/src/runtime/serialization/index.html +0 -191
  111. package/coverage/lcov-report/src/runtime/utils/ModuleAnalyser.ts.html +0 -265
  112. package/coverage/lcov-report/src/runtime/utils/ModuleLoader.ts.html +0 -238
  113. package/coverage/lcov-report/src/runtime/utils/UrlRewriter.ts.html +0 -262
  114. package/coverage/lcov-report/src/runtime/utils/index.html +0 -146
  115. package/coverage/lcov-report/test/_fixtures/core/Implementation.fixture.ts.html +0 -184
  116. package/coverage/lcov-report/test/_fixtures/core/Procedure.fixture.ts.html +0 -172
  117. package/coverage/lcov-report/test/_fixtures/core/Segment.fixture.ts.html +0 -193
  118. package/coverage/lcov-report/test/_fixtures/core/SegmentBuilder.fixture.ts.html +0 -220
  119. package/coverage/lcov-report/test/_fixtures/core/Version.fixture.ts.html +0 -139
  120. package/coverage/lcov-report/test/_fixtures/core/index.html +0 -176
  121. package/coverage/lcov-report/test/_fixtures/core/procedures/allDefault.ts.html +0 -100
  122. package/coverage/lcov-report/test/_fixtures/core/procedures/hasParameters.ts.html +0 -100
  123. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_0_0.ts.html +0 -115
  124. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_0_5.ts.html +0 -115
  125. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_1_0.ts.html +0 -115
  126. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_2_3.ts.html +0 -115
  127. package/coverage/lcov-report/test/_fixtures/core/procedures/inModule.ts.html +0 -115
  128. package/coverage/lcov-report/test/_fixtures/core/procedures/index.html +0 -251
  129. package/coverage/lcov-report/test/_fixtures/core/procedures/isBroken.ts.html +0 -112
  130. package/coverage/lcov-report/test/_fixtures/core/procedures/isPrivate.ts.html +0 -112
  131. package/coverage/lcov-report/test/_fixtures/core/procedures/isPublic.ts.html +0 -112
  132. package/coverage/lcov-report/test/_fixtures/core/reflection/ReflectionHelper.fixture.ts.html +0 -241
  133. package/coverage/lcov-report/test/_fixtures/core/reflection/index.html +0 -116
  134. package/coverage/lcov-report/test/_fixtures/core/segments/default.segment.ts.html +0 -94
  135. package/coverage/lcov-report/test/_fixtures/core/segments/index.html +0 -116
  136. package/coverage/lcov-report/test/_fixtures/runtime/LocalGateway.fixture.ts.html +0 -157
  137. package/coverage/lcov-report/test/_fixtures/runtime/LocalNode.fixture.ts.html +0 -133
  138. package/coverage/lcov-report/test/_fixtures/runtime/LocalRepository.fixture.ts.html +0 -304
  139. package/coverage/lcov-report/test/_fixtures/runtime/NodeBalancer.fixture.ts.html +0 -142
  140. package/coverage/lcov-report/test/_fixtures/runtime/NodeMonitor.fixture.ts.html +0 -187
  141. package/coverage/lcov-report/test/_fixtures/runtime/RemoteNode.fixture.ts.html +0 -109
  142. package/coverage/lcov-report/test/_fixtures/runtime/caching/ImportRewriter.fixture.ts.html +0 -304
  143. package/coverage/lcov-report/test/_fixtures/runtime/caching/ModuleAppender.fixture.ts.html +0 -181
  144. package/coverage/lcov-report/test/_fixtures/runtime/caching/RemoteBuilder.fixture.ts.html +0 -217
  145. package/coverage/lcov-report/test/_fixtures/runtime/caching/SourceAppender.fixture.ts.html +0 -178
  146. package/coverage/lcov-report/test/_fixtures/runtime/caching/index.html +0 -146
  147. package/coverage/lcov-report/test/_fixtures/runtime/index.html +0 -206
  148. package/coverage/lcov-report/test/_fixtures/runtime/procedures/firstPrivateTask.ts.html +0 -109
  149. package/coverage/lcov-report/test/_fixtures/runtime/procedures/firstPublicTask.ts.html +0 -118
  150. package/coverage/lcov-report/test/_fixtures/runtime/procedures/fourthPublicTask.ts.html +0 -109
  151. package/coverage/lcov-report/test/_fixtures/runtime/procedures/index.html +0 -191
  152. package/coverage/lcov-report/test/_fixtures/runtime/procedures/secondPrivateTask.ts.html +0 -109
  153. package/coverage/lcov-report/test/_fixtures/runtime/procedures/secondPublicTask.ts.html +0 -118
  154. package/coverage/lcov-report/test/_fixtures/runtime/procedures/thirdPublicTask.ts.html +0 -118
  155. package/coverage/lcov-report/test/_fixtures/runtime/segments/first.segment.files.ts.html +0 -85
  156. package/coverage/lcov-report/test/_fixtures/runtime/segments/first.segment.ts.html +0 -91
  157. package/coverage/lcov-report/test/_fixtures/runtime/segments/index.html +0 -161
  158. package/coverage/lcov-report/test/_fixtures/runtime/segments/second.segment.files.ts.html +0 -85
  159. package/coverage/lcov-report/test/_fixtures/runtime/segments/second.segment.ts.html +0 -91
  160. package/coverage/lcov-report/test/_fixtures/runtime/segments.ts.html +0 -319
  161. package/coverage/lcov-report/test/_fixtures/runtime/serialization/ValueSerializer.fixture.ts.html +0 -394
  162. package/coverage/lcov-report/test/_fixtures/runtime/serialization/index.html +0 -116
  163. package/coverage/lcov-report/test/_fixtures/runtime/utils/ModuleAnaliser.fixture.ts.html +0 -163
  164. package/coverage/lcov-report/test/_fixtures/runtime/utils/index.html +0 -116
  165. package/coverage/lcov.info +0 -3565
  166. package/dist/core/AccessLevel.d.ts +0 -5
  167. package/dist/core/AccessLevel.js +0 -6
  168. package/dist/core/ImplementationBuilder.d.ts +0 -4
  169. package/dist/core/ImplementationBuilder.js +0 -14
  170. package/dist/core/errors/ErrorManager.d.ts +0 -3
  171. package/dist/core/errors/ErrorManager.js +0 -11
  172. package/dist/runtime/RemoteNodeBuilder.d.ts +0 -4
  173. package/dist/runtime/RemoteNodeBuilder.js +0 -10
  174. package/dist/runtime/caching/CachBuilder.d.ts +0 -6
  175. package/dist/runtime/caching/CachBuilder.js +0 -150
  176. package/dist/runtime/caching/ModuleAppender.d.ts +0 -5
  177. package/dist/runtime/caching/ModuleAppender.js +0 -22
  178. package/dist/runtime/caching/errors/FunctionFilenameNotFound.d.ts +0 -3
  179. package/dist/runtime/caching/errors/FunctionFilenameNotFound.js +0 -5
  180. package/dist/runtime/caching/types/models/ApplicationModule.d.ts +0 -9
  181. package/dist/runtime/caching/types/models/ApplicationModule.js +0 -19
  182. package/dist/runtime/caching/types/models/Implementation.d.ts +0 -12
  183. package/dist/runtime/caching/types/models/Implementation.js +0 -27
  184. package/dist/runtime/caching/types/models/Procedure.d.ts +0 -9
  185. package/dist/runtime/caching/types/models/Procedure.js +0 -15
  186. package/dist/runtime/caching/types/models/Segment.d.ts +0 -10
  187. package/dist/runtime/caching/types/models/Segment.js +0 -16
  188. package/dist/runtime/caching/types/models/SegmentModule.d.ts +0 -10
  189. package/dist/runtime/caching/types/models/SegmentModule.js +0 -14
  190. package/dist/server/definitions/RuntimeMode.d.ts +0 -8
  191. package/dist/server/definitions/RuntimeMode.js +0 -9
  192. package/dist/server/models/RuntimeConfiguration.d.ts +0 -12
  193. package/dist/server/models/RuntimeConfiguration.js +0 -68
  194. package/dist/server/models/ServerOptions.d.ts +0 -4
  195. package/dist/server/models/ServerOptions.js +0 -25
@@ -1,556 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/runtime/LocalRepository.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/runtime</a> LocalRepository.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">80.89% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>127/157</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">95.23% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>20/21</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">71.42% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>10/14</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">80.89% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>127/157</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 oninput="onInput()" 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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
224
- <span class="cline-any cline-yes">1x</span>
225
- <span class="cline-any cline-yes">1x</span>
226
- <span class="cline-any cline-yes">1x</span>
227
- <span class="cline-any cline-yes">1x</span>
228
- <span class="cline-any cline-yes">1x</span>
229
- <span class="cline-any cline-yes">1x</span>
230
- <span class="cline-any cline-yes">1x</span>
231
- <span class="cline-any cline-yes">1x</span>
232
- <span class="cline-any cline-yes">1x</span>
233
- <span class="cline-any cline-yes">1x</span>
234
- <span class="cline-any cline-yes">1x</span>
235
- <span class="cline-any cline-yes">1x</span>
236
- <span class="cline-any cline-yes">1x</span>
237
- <span class="cline-any cline-yes">1x</span>
238
- <span class="cline-any cline-yes">1x</span>
239
- <span class="cline-any cline-yes">1x</span>
240
- <span class="cline-any cline-yes">1x</span>
241
- <span class="cline-any cline-yes">1x</span>
242
- <span class="cline-any cline-yes">1x</span>
243
- <span class="cline-any cline-yes">1x</span>
244
- <span class="cline-any cline-yes">1x</span>
245
- <span class="cline-any cline-yes">1x</span>
246
- <span class="cline-any cline-yes">1x</span>
247
- <span class="cline-any cline-yes">1x</span>
248
- <span class="cline-any cline-yes">1x</span>
249
- <span class="cline-any cline-yes">1x</span>
250
- <span class="cline-any cline-yes">1x</span>
251
- <span class="cline-any cline-yes">1x</span>
252
- <span class="cline-any cline-yes">1x</span>
253
- <span class="cline-any cline-yes">1x</span>
254
- <span class="cline-any cline-yes">1x</span>
255
- <span class="cline-any cline-yes">1x</span>
256
- <span class="cline-any cline-no">&nbsp;</span>
257
- <span class="cline-any cline-no">&nbsp;</span>
258
- <span class="cline-any cline-no">&nbsp;</span>
259
- <span class="cline-any cline-no">&nbsp;</span>
260
- <span class="cline-any cline-no">&nbsp;</span>
261
- <span class="cline-any cline-no">&nbsp;</span>
262
- <span class="cline-any cline-no">&nbsp;</span>
263
- <span class="cline-any cline-no">&nbsp;</span>
264
- <span class="cline-any cline-no">&nbsp;</span>
265
- <span class="cline-any cline-no">&nbsp;</span>
266
- <span class="cline-any cline-no">&nbsp;</span>
267
- <span class="cline-any cline-no">&nbsp;</span>
268
- <span class="cline-any cline-no">&nbsp;</span>
269
- <span class="cline-any cline-yes">1x</span>
270
- <span class="cline-any cline-yes">1x</span>
271
- <span class="cline-any cline-yes">2x</span>
272
- <span class="cline-any cline-yes">2x</span>
273
- <span class="cline-any cline-yes">2x</span>
274
- <span class="cline-any cline-yes">1x</span>
275
- <span class="cline-any cline-yes">1x</span>
276
- <span class="cline-any cline-yes">1x</span>
277
- <span class="cline-any cline-yes">1x</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">1x</span>
282
- <span class="cline-any cline-yes">1x</span>
283
- <span class="cline-any cline-yes">1x</span>
284
- <span class="cline-any cline-yes">1x</span>
285
- <span class="cline-any cline-no">&nbsp;</span>
286
- <span class="cline-any cline-no">&nbsp;</span>
287
- <span class="cline-any cline-no">&nbsp;</span>
288
- <span class="cline-any cline-yes">1x</span>
289
- <span class="cline-any cline-yes">1x</span>
290
- <span class="cline-any cline-yes">3x</span>
291
- <span class="cline-any cline-yes">3x</span>
292
- <span class="cline-any cline-yes">3x</span>
293
- <span class="cline-any cline-yes">1x</span>
294
- <span class="cline-any cline-yes">1x</span>
295
- <span class="cline-any cline-yes">1x</span>
296
- <span class="cline-any cline-no">&nbsp;</span>
297
- <span class="cline-any cline-no">&nbsp;</span>
298
- <span class="cline-any cline-no">&nbsp;</span>
299
- <span class="cline-any cline-yes">1x</span>
300
- <span class="cline-any cline-yes">1x</span>
301
- <span class="cline-any cline-yes">5x</span>
302
- <span class="cline-any cline-yes">5x</span>
303
- <span class="cline-any cline-yes">5x</span>
304
- <span class="cline-any cline-yes">5x</span>
305
- <span class="cline-any cline-yes">5x</span>
306
- <span class="cline-any cline-yes">5x</span>
307
- <span class="cline-any cline-yes">5x</span>
308
- <span class="cline-any cline-yes">1x</span>
309
- <span class="cline-any cline-yes">1x</span>
310
- <span class="cline-any cline-yes">2x</span>
311
- <span class="cline-any cline-yes">2x</span>
312
- <span class="cline-any cline-yes">5x</span>
313
- <span class="cline-any cline-yes">5x</span>
314
- <span class="cline-any cline-yes">5x</span>
315
- <span class="cline-any cline-yes">1x</span>
316
- <span class="cline-any cline-yes">1x</span>
317
- <span class="cline-any cline-yes">1x</span>
318
- <span class="cline-any cline-no">&nbsp;</span>
319
- <span class="cline-any cline-no">&nbsp;</span>
320
- <span class="cline-any cline-no">&nbsp;</span>
321
- <span class="cline-any cline-no">&nbsp;</span>
322
- <span class="cline-any cline-no">&nbsp;</span>
323
- <span class="cline-any cline-no">&nbsp;</span>
324
- <span class="cline-any cline-no">&nbsp;</span>
325
- <span class="cline-any cline-no">&nbsp;</span>
326
- <span class="cline-any cline-no">&nbsp;</span>
327
- <span class="cline-any cline-yes">1x</span>
328
- <span class="cline-any cline-yes">1x</span>
329
- <span class="cline-any cline-yes">5x</span>
330
- <span class="cline-any cline-yes">5x</span>
331
- <span class="cline-any cline-yes">5x</span>
332
- <span class="cline-any cline-yes">1x</span>
333
- <span class="cline-any cline-yes">1x</span>
334
- <span class="cline-any cline-yes">4x</span>
335
- <span class="cline-any cline-yes">4x</span>
336
- <span class="cline-any cline-yes">5x</span>
337
- <span class="cline-any cline-yes">1x</span>
338
- <span class="cline-any cline-yes">1x</span>
339
- <span class="cline-any cline-yes">5x</span>
340
- <span class="cline-any cline-yes">1x</span>
341
- <span class="cline-any cline-yes">1x</span>
342
- <span class="cline-any cline-yes">2x</span>
343
- <span class="cline-any cline-yes">2x</span>
344
- <span class="cline-any cline-yes">2x</span>
345
- <span class="cline-any cline-yes">2x</span>
346
- <span class="cline-any cline-yes">2x</span>
347
- <span class="cline-any cline-no">&nbsp;</span>
348
- <span class="cline-any cline-no">&nbsp;</span>
349
- <span class="cline-any cline-yes">2x</span>
350
- <span class="cline-any cline-yes">2x</span>
351
- <span class="cline-any cline-yes">2x</span>
352
- <span class="cline-any cline-yes">1x</span>
353
- <span class="cline-any cline-yes">1x</span>
354
- <span class="cline-any cline-yes">2x</span>
355
- <span class="cline-any cline-yes">2x</span>
356
- <span class="cline-any cline-yes">2x</span>
357
- <span class="cline-any cline-yes">2x</span>
358
- <span class="cline-any cline-yes">2x</span>
359
- <span class="cline-any cline-yes">2x</span>
360
- <span class="cline-any cline-yes">2x</span>
361
- <span class="cline-any cline-yes">1x</span>
362
- <span class="cline-any cline-yes">1x</span>
363
- <span class="cline-any cline-yes">2x</span>
364
- <span class="cline-any cline-yes">2x</span>
365
- <span class="cline-any cline-yes">2x</span>
366
- <span class="cline-any cline-yes">2x</span>
367
- <span class="cline-any cline-yes">2x</span>
368
- <span class="cline-any cline-yes">2x</span>
369
- <span class="cline-any cline-yes">1x</span>
370
- <span class="cline-any cline-yes">1x</span>
371
- <span class="cline-any cline-yes">1x</span>
372
- <span class="cline-any cline-yes">1x</span>
373
- <span class="cline-any cline-yes">1x</span>
374
- <span class="cline-any cline-yes">1x</span>
375
- <span class="cline-any cline-yes">1x</span>
376
- <span class="cline-any cline-yes">1x</span>
377
- <span class="cline-any cline-yes">1x</span>
378
- <span class="cline-any cline-yes">1x</span>
379
- <span class="cline-any cline-yes">1x</span>
380
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">&nbsp;
381
- import Module from '../core/types/Module.js';
382
- &nbsp;
383
- import FileManager from './interfaces/FileManager.js';
384
- import LocalNode from './LocalNode.js';
385
- import File from './models/File.js';
386
- import Repository from './Repository.js';
387
- import ModuleLoader from './utils/ModuleLoader.js';
388
- &nbsp;
389
- import ClientNotFound from './errors/ClientNotFound.js';
390
- import InvalidClientId from './errors/InvalidClientId.js';
391
- import InvalidSegmentFile from './errors/InvalidSegmentFile.js';
392
- &nbsp;
393
- import { setRuntime } from '../hooks.js';
394
- &nbsp;
395
- let lastClientId = 0;
396
- &nbsp;
397
- const CLIENT_ID_PREFIX = 'CLIENT_';
398
- &nbsp;
399
- export default class LocalRepository extends Repository
400
- {
401
- #fileManager: FileManager;
402
- #segments: Map&lt;string, string&gt; = new Map();
403
- #clients: Map&lt;string, string[]&gt; = new Map();
404
- &nbsp;
405
- constructor(fileManager: FileManager, url?: string)
406
- {
407
- super(url);
408
- &nbsp;
409
- this.#fileManager = fileManager;
410
- }
411
- &nbsp;
412
- <span class="fstat-no" title="function not covered" > async loadSegment(name: string): Promise&lt;void&gt;</span>
413
- <span class="cstat-no" title="statement not covered" > {</span>
414
- <span class="cstat-no" title="statement not covered" > const filename = `./${name}.segment.repository.js`;</span>
415
- <span class="cstat-no" title="statement not covered" > const location = this.#fileManager.getAbsoluteLocation(filename);</span>
416
- <span class="cstat-no" title="statement not covered" > const module = await ModuleLoader.load(location);</span>
417
- <span class="cstat-no" title="statement not covered" > const files = module.files as string[];</span>
418
- <span class="cstat-no" title="statement not covered" ></span>
419
- <span class="cstat-no" title="statement not covered" > if (files === undefined)</span>
420
- <span class="cstat-no" title="statement not covered" > {</span>
421
- <span class="cstat-no" title="statement not covered" > throw new InvalidSegmentFile(location);</span>
422
- <span class="cstat-no" title="statement not covered" > }</span>
423
- <span class="cstat-no" title="statement not covered" ></span>
424
- <span class="cstat-no" title="statement not covered" > this.registerSegment(name, files);</span>
425
- <span class="cstat-no" title="statement not covered" > }</span>
426
- &nbsp;
427
- async registerSegment(name: string, files: string[]): Promise&lt;void&gt;
428
- {
429
- files.forEach((file: string) =&gt; this.#segments.set(file, name));
430
- }
431
- &nbsp;
432
- async registerClient(segmentFilenames: string[]): Promise&lt;string&gt;
433
- {
434
- const clientId = `${CLIENT_ID_PREFIX}${lastClientId++}`;
435
- &nbsp;
436
- this.#clients.set(clientId, segmentFilenames);
437
- &nbsp;
438
- return clientId;
439
- }
440
- &nbsp;
441
- <span class="fstat-no" title="function not covered" > async setRuntime(runtime: LocalNode): Promise&lt;void&gt;</span>
442
- <span class="cstat-no" title="statement not covered" > {</span>
443
- <span class="cstat-no" title="statement not covered" > setRuntime(runtime);</span>
444
- <span class="cstat-no" title="statement not covered" > }</span>
445
- &nbsp;
446
- async loadAsset(filename: string): Promise&lt;File&gt;
447
- {
448
- return this.#fileManager.load(filename);
449
- }
450
- &nbsp;
451
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
452
- <span class="fstat-no" title="function not covered" > async getModuleLocation(clientId: string): Promise&lt;string&gt;</span>
453
- <span class="cstat-no" title="statement not covered" > {</span>
454
- <span class="cstat-no" title="statement not covered" > return this.#fileManager.getRootLocation();</span>
455
- <span class="cstat-no" title="statement not covered" > }</span>
456
- &nbsp;
457
- async loadModule(clientId: string, filename: string): Promise&lt;File&gt;
458
- {
459
- this.#validateClientId(clientId);
460
- &nbsp;
461
- const segmentFilename = this.#segments.get(filename);
462
- &nbsp;
463
- if (segmentFilename === undefined)
464
- {
465
- return this.#getNodeModule(filename, false);
466
- }
467
- &nbsp;
468
- return this.#hasClientSegmentFile(clientId, segmentFilename)
469
- ? this.#getNodeModule(filename, true)
470
- : this.#getRemoteModule(filename);
471
- }
472
- &nbsp;
473
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
474
- <span class="fstat-no" title="function not covered" > async importModule(clientId: string, filename: string): Promise&lt;Module&gt;</span>
475
- <span class="cstat-no" title="statement not covered" > {</span>
476
- <span class="cstat-no" title="statement not covered" > // This function loads the original module file containing the</span>
477
- <span class="cstat-no" title="statement not covered" > // original imports to prevent import issues while loading the</span>
478
- <span class="cstat-no" title="statement not covered" > // module in the local repository.</span>
479
- <span class="cstat-no" title="statement not covered" ></span>
480
- <span class="cstat-no" title="statement not covered" > const location = this.#fileManager.getAbsoluteLocation(filename);</span>
481
- <span class="cstat-no" title="statement not covered" ></span>
482
- <span class="cstat-no" title="statement not covered" > return ModuleLoader.import(location);</span>
483
- <span class="cstat-no" title="statement not covered" > }</span>
484
- &nbsp;
485
- #validateClientId(clientId: string): void
486
- {
487
- if (clientId.startsWith(CLIENT_ID_PREFIX) === false)
488
- {
489
- throw new InvalidClientId(clientId);
490
- }
491
- &nbsp;
492
- if (this.#clients.has(clientId) === false)
493
- {
494
- throw new ClientNotFound(clientId);
495
- }
496
- }
497
- &nbsp;
498
- #hasClientSegmentFile(clientId: string, segmentFilename: string): boolean
499
- {
500
- const clientSegmentFiles = this.#clients.get(clientId);
501
- &nbsp;
502
- if (clientSegmentFiles === undefined)
503
- <span class="branch-0 cbranch-no" title="branch not covered" > {</span>
504
- <span class="cstat-no" title="statement not covered" > throw new ClientNotFound(clientId);</span>
505
- <span class="cstat-no" title="statement not covered" > }</span>
506
- &nbsp;
507
- return clientSegmentFiles.some(clientSegmentFilename =&gt; segmentFilename.endsWith(clientSegmentFilename));
508
- }
509
- &nbsp;
510
- async #getNodeModule(filename: string, isSegmented: boolean): Promise&lt;File&gt;
511
- {
512
- // This function loads the node module file containing the rewritten
513
- // imports to prevent import issues while loading the module from
514
- // a remote repository.
515
- &nbsp;
516
- if (isSegmented)
517
- {
518
- filename = filename.replace('.js', '.local.js');
519
- }
520
- &nbsp;
521
- const file = await this.loadAsset(filename);
522
- const code = file.content.toString();
523
- &nbsp;
524
- return new File(filename, 'application/javascript', code);
525
- }
526
- &nbsp;
527
- async #getRemoteModule(filename: string): Promise&lt;File&gt;
528
- {
529
- // This function loads the remote module file containing the rewritten
530
- // implementation for each function to execute them on another node.
531
- &nbsp;
532
- const remoteFilename = filename.replace('.js', '.remote.js');
533
- &nbsp;
534
- return this.loadAsset(remoteFilename);
535
- }
536
- }
537
- &nbsp;</pre></td></tr></table></pre>
538
-
539
- <div class='push'></div><!-- for sticky footer -->
540
- </div><!-- /wrapper -->
541
- <div class='footer quiet pad2 space-top1 center small'>
542
- Code coverage generated by
543
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
544
- at 2022-10-21T18:41:25.688Z
545
- </div>
546
- <script src="../../prettify.js"></script>
547
- <script>
548
- window.onload = function () {
549
- prettyPrint();
550
- };
551
- </script>
552
- <script src="../../sorter.js"></script>
553
- <script src="../../block-navigation.js"></script>
554
- </body>
555
- </html>
556
-