jitar 0.1.0 → 0.1.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 (356) hide show
  1. package/dist/core/Implementation.js +7 -0
  2. package/dist/core/SegmentBuilder.js +0 -1
  3. package/dist/core/errors/UnknownParameter.d.ts +3 -0
  4. package/dist/core/errors/UnknownParameter.js +6 -0
  5. package/dist/runtime/ClientId.d.ts +4 -0
  6. package/dist/runtime/ClientId.js +11 -0
  7. package/dist/runtime/LocalRepository.d.ts +3 -3
  8. package/dist/runtime/LocalRepository.js +17 -9
  9. package/dist/runtime/caching/CacheBuilder.js +3 -3
  10. package/dist/runtime/serialization/ClassSerializer.js +16 -0
  11. package/dist/runtime/serialization/MapSerializer.d.ts +1 -0
  12. package/dist/runtime/serialization/MapSerializer.js +10 -0
  13. package/dist/runtime/serialization/SetSerializer.d.ts +1 -0
  14. package/dist/runtime/serialization/SetSerializer.js +7 -0
  15. package/dist/runtime/serialization/errors/InvalidPropertyType.d.ts +3 -0
  16. package/dist/runtime/serialization/errors/InvalidPropertyType.js +6 -0
  17. package/dist/server/configuration/RepositoryConfiguration.d.ts +1 -0
  18. package/dist/server/configuration/RepositoryConfiguration.js +7 -1
  19. package/dist/server/configuration/StandaloneConfiguration.d.ts +1 -0
  20. package/dist/server/configuration/StandaloneConfiguration.js +6 -0
  21. package/dist/server/controllers/ModulesController.js +6 -0
  22. package/dist/server/utils/LocalFileManager.d.ts +1 -0
  23. package/dist/server/utils/LocalFileManager.js +19 -11
  24. package/dist/server/utils/RuntimeConfigurator.js +9 -4
  25. package/package.json +26 -4
  26. package/.eslintignore +0 -3
  27. package/.eslintrc +0 -16
  28. package/coverage/clover.xml +0 -2483
  29. package/coverage/coverage-final.json +0 -56
  30. package/coverage/lcov-report/base.css +0 -224
  31. package/coverage/lcov-report/block-navigation.js +0 -87
  32. package/coverage/lcov-report/favicon.png +0 -0
  33. package/coverage/lcov-report/index.html +0 -356
  34. package/coverage/lcov-report/prettify.css +0 -1
  35. package/coverage/lcov-report/prettify.js +0 -2
  36. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  37. package/coverage/lcov-report/sorter.js +0 -196
  38. package/coverage/lcov-report/src/core/ErrorManager.ts.html +0 -139
  39. package/coverage/lcov-report/src/core/Implementation.ts.html +0 -244
  40. package/coverage/lcov-report/src/core/ImplementationBuilder.ts.html +0 -148
  41. package/coverage/lcov-report/src/core/Procedure.ts.html +0 -379
  42. package/coverage/lcov-report/src/core/Segment.ts.html +0 -271
  43. package/coverage/lcov-report/src/core/SegmentBuilder.ts.html +0 -250
  44. package/coverage/lcov-report/src/core/Version.ts.html +0 -289
  45. package/coverage/lcov-report/src/core/definitions/AccessLevel.ts.html +0 -94
  46. package/coverage/lcov-report/src/core/definitions/index.html +0 -116
  47. package/coverage/lcov-report/src/core/errors/ErrorManager.ts.html +0 -139
  48. package/coverage/lcov-report/src/core/errors/ImplementationNotFound.ts.html +0 -121
  49. package/coverage/lcov-report/src/core/errors/InvalidVersionNumber.ts.html +0 -121
  50. package/coverage/lcov-report/src/core/errors/MissingParameterValue.ts.html +0 -121
  51. package/coverage/lcov-report/src/core/errors/ProcedureNotFound.ts.html +0 -121
  52. package/coverage/lcov-report/src/core/errors/index.html +0 -161
  53. package/coverage/lcov-report/src/core/index.html +0 -191
  54. package/coverage/lcov-report/src/core/reflection/ParameterParser.ts.html +0 -307
  55. package/coverage/lcov-report/src/core/reflection/ReflectionHelper.ts.html +0 -439
  56. package/coverage/lcov-report/src/core/reflection/index.html +0 -131
  57. package/coverage/lcov-report/src/core/reflection/models/ReflectionField.ts.html +0 -151
  58. package/coverage/lcov-report/src/core/reflection/models/ReflectionParameter.ts.html +0 -139
  59. package/coverage/lcov-report/src/core/reflection/models/index.html +0 -131
  60. package/coverage/lcov-report/src/core/utils/FqnBuilder.ts.html +0 -115
  61. package/coverage/lcov-report/src/core/utils/index.html +0 -116
  62. package/coverage/lcov-report/src/hooks.ts.html +0 -88
  63. package/coverage/lcov-report/src/index.html +0 -116
  64. package/coverage/lcov-report/src/runtime/Gateway.ts.html +0 -139
  65. package/coverage/lcov-report/src/runtime/LocalGateway.ts.html +0 -364
  66. package/coverage/lcov-report/src/runtime/LocalNode.ts.html +0 -475
  67. package/coverage/lcov-report/src/runtime/LocalRepository.ts.html +0 -556
  68. package/coverage/lcov-report/src/runtime/Node.ts.html +0 -130
  69. package/coverage/lcov-report/src/runtime/NodeBalancer.ts.html +0 -268
  70. package/coverage/lcov-report/src/runtime/NodeMonitor.ts.html +0 -274
  71. package/coverage/lcov-report/src/runtime/Remote.ts.html +0 -562
  72. package/coverage/lcov-report/src/runtime/RemoteNode.ts.html +0 -232
  73. package/coverage/lcov-report/src/runtime/Repository.ts.html +0 -145
  74. package/coverage/lcov-report/src/runtime/Runtime.ts.html +0 -226
  75. package/coverage/lcov-report/src/runtime/caching/ImportRewriter.ts.html +0 -313
  76. package/coverage/lcov-report/src/runtime/caching/ModuleAppender.ts.html +0 -208
  77. package/coverage/lcov-report/src/runtime/caching/RemoteBuilder.ts.html +0 -238
  78. package/coverage/lcov-report/src/runtime/caching/SourceAppender.ts.html +0 -256
  79. package/coverage/lcov-report/src/runtime/caching/definitions/Keywords.ts.html +0 -94
  80. package/coverage/lcov-report/src/runtime/caching/definitions/index.html +0 -116
  81. package/coverage/lcov-report/src/runtime/caching/index.html +0 -146
  82. package/coverage/lcov-report/src/runtime/caching/models/ApplicationModule.ts.html +0 -175
  83. package/coverage/lcov-report/src/runtime/caching/models/Implementation.ts.html +0 -208
  84. package/coverage/lcov-report/src/runtime/caching/models/SegmentModule.ts.html +0 -163
  85. package/coverage/lcov-report/src/runtime/caching/models/index.html +0 -146
  86. package/coverage/lcov-report/src/runtime/errors/ClientNotFound.ts.html +0 -121
  87. package/coverage/lcov-report/src/runtime/errors/InvalidClientId.ts.html +0 -121
  88. package/coverage/lcov-report/src/runtime/errors/InvalidSegmentFile.ts.html +0 -121
  89. package/coverage/lcov-report/src/runtime/errors/ModuleNotLoaded.ts.html +0 -121
  90. package/coverage/lcov-report/src/runtime/errors/NoNodeAvailable.ts.html +0 -121
  91. package/coverage/lcov-report/src/runtime/errors/RepositoryNotAvaiable.ts.html +0 -121
  92. package/coverage/lcov-report/src/runtime/errors/RuntimeNotAvailable.ts.html +0 -121
  93. package/coverage/lcov-report/src/runtime/errors/index.html +0 -206
  94. package/coverage/lcov-report/src/runtime/hooks/dependencies.ts.html +0 -142
  95. package/coverage/lcov-report/src/runtime/hooks/index.html +0 -131
  96. package/coverage/lcov-report/src/runtime/hooks/runtime.ts.html +0 -160
  97. package/coverage/lcov-report/src/runtime/index.html +0 -251
  98. package/coverage/lcov-report/src/runtime/models/File.ts.html +0 -151
  99. package/coverage/lcov-report/src/runtime/models/index.html +0 -116
  100. package/coverage/lcov-report/src/runtime/serialization/ArraySerializer.ts.html +0 -166
  101. package/coverage/lcov-report/src/runtime/serialization/ClassSerializer.ts.html +0 -400
  102. package/coverage/lcov-report/src/runtime/serialization/MapSerializer.ts.html +0 -217
  103. package/coverage/lcov-report/src/runtime/serialization/ObjectSerializer.ts.html +0 -211
  104. package/coverage/lcov-report/src/runtime/serialization/SetSerializer.ts.html +0 -178
  105. package/coverage/lcov-report/src/runtime/serialization/ValueSerializer.ts.html +0 -328
  106. package/coverage/lcov-report/src/runtime/serialization/errors/ClassNotFound.ts.html +0 -121
  107. package/coverage/lcov-report/src/runtime/serialization/errors/InvalidClass.ts.html +0 -121
  108. package/coverage/lcov-report/src/runtime/serialization/errors/index.html +0 -131
  109. package/coverage/lcov-report/src/runtime/serialization/index.html +0 -191
  110. package/coverage/lcov-report/src/runtime/utils/ModuleAnalyser.ts.html +0 -265
  111. package/coverage/lcov-report/src/runtime/utils/ModuleLoader.ts.html +0 -238
  112. package/coverage/lcov-report/src/runtime/utils/UrlRewriter.ts.html +0 -262
  113. package/coverage/lcov-report/src/runtime/utils/index.html +0 -146
  114. package/coverage/lcov-report/test/_fixtures/core/Implementation.fixture.ts.html +0 -184
  115. package/coverage/lcov-report/test/_fixtures/core/Procedure.fixture.ts.html +0 -172
  116. package/coverage/lcov-report/test/_fixtures/core/Segment.fixture.ts.html +0 -193
  117. package/coverage/lcov-report/test/_fixtures/core/SegmentBuilder.fixture.ts.html +0 -220
  118. package/coverage/lcov-report/test/_fixtures/core/Version.fixture.ts.html +0 -139
  119. package/coverage/lcov-report/test/_fixtures/core/index.html +0 -176
  120. package/coverage/lcov-report/test/_fixtures/core/procedures/allDefault.ts.html +0 -100
  121. package/coverage/lcov-report/test/_fixtures/core/procedures/hasParameters.ts.html +0 -100
  122. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_0_0.ts.html +0 -115
  123. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_0_5.ts.html +0 -115
  124. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_1_0.ts.html +0 -115
  125. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_2_3.ts.html +0 -115
  126. package/coverage/lcov-report/test/_fixtures/core/procedures/inModule.ts.html +0 -115
  127. package/coverage/lcov-report/test/_fixtures/core/procedures/index.html +0 -251
  128. package/coverage/lcov-report/test/_fixtures/core/procedures/isBroken.ts.html +0 -112
  129. package/coverage/lcov-report/test/_fixtures/core/procedures/isPrivate.ts.html +0 -112
  130. package/coverage/lcov-report/test/_fixtures/core/procedures/isPublic.ts.html +0 -112
  131. package/coverage/lcov-report/test/_fixtures/core/reflection/ReflectionHelper.fixture.ts.html +0 -241
  132. package/coverage/lcov-report/test/_fixtures/core/reflection/index.html +0 -116
  133. package/coverage/lcov-report/test/_fixtures/core/segments/default.segment.ts.html +0 -94
  134. package/coverage/lcov-report/test/_fixtures/core/segments/index.html +0 -116
  135. package/coverage/lcov-report/test/_fixtures/runtime/LocalGateway.fixture.ts.html +0 -157
  136. package/coverage/lcov-report/test/_fixtures/runtime/LocalNode.fixture.ts.html +0 -133
  137. package/coverage/lcov-report/test/_fixtures/runtime/LocalRepository.fixture.ts.html +0 -304
  138. package/coverage/lcov-report/test/_fixtures/runtime/NodeBalancer.fixture.ts.html +0 -142
  139. package/coverage/lcov-report/test/_fixtures/runtime/NodeMonitor.fixture.ts.html +0 -187
  140. package/coverage/lcov-report/test/_fixtures/runtime/RemoteNode.fixture.ts.html +0 -109
  141. package/coverage/lcov-report/test/_fixtures/runtime/caching/ImportRewriter.fixture.ts.html +0 -304
  142. package/coverage/lcov-report/test/_fixtures/runtime/caching/ModuleAppender.fixture.ts.html +0 -181
  143. package/coverage/lcov-report/test/_fixtures/runtime/caching/RemoteBuilder.fixture.ts.html +0 -217
  144. package/coverage/lcov-report/test/_fixtures/runtime/caching/SourceAppender.fixture.ts.html +0 -178
  145. package/coverage/lcov-report/test/_fixtures/runtime/caching/index.html +0 -146
  146. package/coverage/lcov-report/test/_fixtures/runtime/index.html +0 -206
  147. package/coverage/lcov-report/test/_fixtures/runtime/procedures/firstPrivateTask.ts.html +0 -109
  148. package/coverage/lcov-report/test/_fixtures/runtime/procedures/firstPublicTask.ts.html +0 -118
  149. package/coverage/lcov-report/test/_fixtures/runtime/procedures/fourthPublicTask.ts.html +0 -109
  150. package/coverage/lcov-report/test/_fixtures/runtime/procedures/index.html +0 -191
  151. package/coverage/lcov-report/test/_fixtures/runtime/procedures/secondPrivateTask.ts.html +0 -109
  152. package/coverage/lcov-report/test/_fixtures/runtime/procedures/secondPublicTask.ts.html +0 -118
  153. package/coverage/lcov-report/test/_fixtures/runtime/procedures/thirdPublicTask.ts.html +0 -118
  154. package/coverage/lcov-report/test/_fixtures/runtime/segments/first.segment.files.ts.html +0 -85
  155. package/coverage/lcov-report/test/_fixtures/runtime/segments/first.segment.ts.html +0 -91
  156. package/coverage/lcov-report/test/_fixtures/runtime/segments/index.html +0 -161
  157. package/coverage/lcov-report/test/_fixtures/runtime/segments/second.segment.files.ts.html +0 -85
  158. package/coverage/lcov-report/test/_fixtures/runtime/segments/second.segment.ts.html +0 -91
  159. package/coverage/lcov-report/test/_fixtures/runtime/segments.ts.html +0 -319
  160. package/coverage/lcov-report/test/_fixtures/runtime/serialization/ValueSerializer.fixture.ts.html +0 -394
  161. package/coverage/lcov-report/test/_fixtures/runtime/serialization/index.html +0 -116
  162. package/coverage/lcov-report/test/_fixtures/runtime/utils/ModuleAnaliser.fixture.ts.html +0 -163
  163. package/coverage/lcov-report/test/_fixtures/runtime/utils/index.html +0 -116
  164. package/coverage/lcov.info +0 -3565
  165. package/dist/core/AccessLevel.d.ts +0 -5
  166. package/dist/core/AccessLevel.js +0 -6
  167. package/dist/core/ImplementationBuilder.d.ts +0 -4
  168. package/dist/core/ImplementationBuilder.js +0 -14
  169. package/dist/core/errors/ErrorManager.d.ts +0 -3
  170. package/dist/core/errors/ErrorManager.js +0 -11
  171. package/dist/runtime/RemoteNodeBuilder.d.ts +0 -4
  172. package/dist/runtime/RemoteNodeBuilder.js +0 -10
  173. package/dist/runtime/caching/CachBuilder.d.ts +0 -6
  174. package/dist/runtime/caching/CachBuilder.js +0 -150
  175. package/dist/runtime/caching/ModuleAppender.d.ts +0 -5
  176. package/dist/runtime/caching/ModuleAppender.js +0 -22
  177. package/dist/runtime/caching/errors/FunctionFilenameNotFound.d.ts +0 -3
  178. package/dist/runtime/caching/errors/FunctionFilenameNotFound.js +0 -5
  179. package/dist/runtime/caching/types/models/ApplicationModule.d.ts +0 -9
  180. package/dist/runtime/caching/types/models/ApplicationModule.js +0 -19
  181. package/dist/runtime/caching/types/models/Implementation.d.ts +0 -12
  182. package/dist/runtime/caching/types/models/Implementation.js +0 -27
  183. package/dist/runtime/caching/types/models/Procedure.d.ts +0 -9
  184. package/dist/runtime/caching/types/models/Procedure.js +0 -15
  185. package/dist/runtime/caching/types/models/Segment.d.ts +0 -10
  186. package/dist/runtime/caching/types/models/Segment.js +0 -16
  187. package/dist/runtime/caching/types/models/SegmentModule.d.ts +0 -10
  188. package/dist/runtime/caching/types/models/SegmentModule.js +0 -14
  189. package/dist/server/definitions/RuntimeMode.d.ts +0 -8
  190. package/dist/server/definitions/RuntimeMode.js +0 -9
  191. package/dist/server/models/RuntimeConfiguration.d.ts +0 -12
  192. package/dist/server/models/RuntimeConfiguration.js +0 -68
  193. package/dist/server/models/ServerOptions.d.ts +0 -4
  194. package/dist/server/models/ServerOptions.js +0 -25
  195. package/jest.config.js +0 -20
  196. package/src/client.ts +0 -18
  197. package/src/core/ErrorManager.ts +0 -18
  198. package/src/core/Implementation.ts +0 -53
  199. package/src/core/Procedure.ts +0 -98
  200. package/src/core/Segment.ts +0 -62
  201. package/src/core/SegmentBuilder.ts +0 -55
  202. package/src/core/Version.ts +0 -68
  203. package/src/core/definitions/AccessLevel.ts +0 -3
  204. package/src/core/errors/ImplementationNotFound.ts +0 -12
  205. package/src/core/errors/InvalidVersionNumber.ts +0 -12
  206. package/src/core/errors/MissingParameterValue.ts +0 -12
  207. package/src/core/errors/NotImplemented.ts +0 -12
  208. package/src/core/errors/ProcedureNotFound.ts +0 -12
  209. package/src/core/interfaces/Runner.ts +0 -7
  210. package/src/core/reflection/ParameterParser.ts +0 -74
  211. package/src/core/reflection/ReflectionHelper.ts +0 -118
  212. package/src/core/reflection/models/ReflectionField.ts +0 -22
  213. package/src/core/reflection/models/ReflectionParameter.ts +0 -18
  214. package/src/core/types/Component.ts +0 -8
  215. package/src/core/types/FlexObject.ts +0 -4
  216. package/src/core/types/Module.ts +0 -6
  217. package/src/core/types/SegmentImplementation.ts +0 -9
  218. package/src/core/types/SegmentModule.ts +0 -9
  219. package/src/core/types/SegmentProcedure.ts +0 -11
  220. package/src/core/utils/FqnBuilder.ts +0 -11
  221. package/src/hooks.ts +0 -2
  222. package/src/lib.ts +0 -7
  223. package/src/runtime/Gateway.ts +0 -18
  224. package/src/runtime/LocalGateway.ts +0 -93
  225. package/src/runtime/LocalNode.ts +0 -130
  226. package/src/runtime/LocalRepository.ts +0 -157
  227. package/src/runtime/Node.ts +0 -15
  228. package/src/runtime/NodeBalancer.ts +0 -61
  229. package/src/runtime/NodeMonitor.ts +0 -63
  230. package/src/runtime/Proxy.ts +0 -60
  231. package/src/runtime/Remote.ts +0 -157
  232. package/src/runtime/RemoteGateway.ts +0 -40
  233. package/src/runtime/RemoteNode.ts +0 -49
  234. package/src/runtime/RemoteRepository.ts +0 -60
  235. package/src/runtime/Repository.ts +0 -20
  236. package/src/runtime/Runtime.ts +0 -47
  237. package/src/runtime/caching/CacheBuilder.ts +0 -424
  238. package/src/runtime/caching/ImportRewriter.ts +0 -76
  239. package/src/runtime/caching/RemoteBuilder.ts +0 -51
  240. package/src/runtime/caching/SourceAppender.ts +0 -57
  241. package/src/runtime/caching/definitions/Keywords.ts +0 -3
  242. package/src/runtime/caching/errors/InvalidSegmentFilename.ts +0 -8
  243. package/src/runtime/caching/errors/MissingModuleExport.ts +0 -8
  244. package/src/runtime/caching/errors/SegmentFileNotLoaded.ts +0 -8
  245. package/src/runtime/caching/errors/SegmentModuleNotLoaded.ts +0 -8
  246. package/src/runtime/caching/models/ApplicationModule.ts +0 -30
  247. package/src/runtime/caching/models/Implementation.ts +0 -41
  248. package/src/runtime/caching/models/Procedure.ts +0 -26
  249. package/src/runtime/caching/models/Segment.ts +0 -28
  250. package/src/runtime/caching/models/SegmentModule.ts +0 -26
  251. package/src/runtime/caching/types/SegmentFile.ts +0 -6
  252. package/src/runtime/caching/types/SegmentImportProperties.ts +0 -9
  253. package/src/runtime/caching/types/SegmentImports.ts +0 -6
  254. package/src/runtime/errors/ClientNotFound.ts +0 -12
  255. package/src/runtime/errors/FileNotFound.ts +0 -12
  256. package/src/runtime/errors/InvalidClientId.ts +0 -12
  257. package/src/runtime/errors/InvalidJitarHooks.ts +0 -12
  258. package/src/runtime/errors/InvalidSegmentFile.ts +0 -12
  259. package/src/runtime/errors/ModuleNotLoaded.ts +0 -12
  260. package/src/runtime/errors/NoNodeAvailable.ts +0 -12
  261. package/src/runtime/errors/RepositoryNotAvaiable.ts +0 -12
  262. package/src/runtime/errors/RuntimeNotAvailable.ts +0 -12
  263. package/src/runtime/errors/SegmentNotFound.ts +0 -12
  264. package/src/runtime/hooks/dependencies.ts +0 -19
  265. package/src/runtime/hooks/runtime.ts +0 -25
  266. package/src/runtime/interfaces/FileManager.ts +0 -19
  267. package/src/runtime/interfaces/HealthCheck.ts +0 -5
  268. package/src/runtime/interfaces/ProcedureContainer.ts +0 -9
  269. package/src/runtime/models/File.ts +0 -22
  270. package/src/runtime/serialization/ArraySerializer.ts +0 -27
  271. package/src/runtime/serialization/ClassSerializer.ts +0 -105
  272. package/src/runtime/serialization/MapSerializer.ts +0 -44
  273. package/src/runtime/serialization/ObjectSerializer.ts +0 -42
  274. package/src/runtime/serialization/SetSerializer.ts +0 -31
  275. package/src/runtime/serialization/ValueSerializer.ts +0 -81
  276. package/src/runtime/serialization/errors/ClassNotFound.ts +0 -12
  277. package/src/runtime/serialization/errors/InvalidClass.ts +0 -12
  278. package/src/runtime/serialization/interfaces/Serializer.ts +0 -10
  279. package/src/runtime/serialization/types/SerializableObject.ts +0 -6
  280. package/src/runtime/serialization/types/Serialized.ts +0 -8
  281. package/src/runtime/serialization/types/SerializedClass.ts +0 -13
  282. package/src/runtime/serialization/types/SerializedMap.ts +0 -13
  283. package/src/runtime/serialization/types/SerializedObject.ts +0 -4
  284. package/src/runtime/serialization/types/SerializedSet.ts +0 -9
  285. package/src/runtime/types/JitarHooks.ts +0 -10
  286. package/src/runtime/types/ModuleImporter.ts +0 -6
  287. package/src/runtime/utils/ModuleAnalyser.ts +0 -60
  288. package/src/runtime/utils/ModuleLoader.ts +0 -51
  289. package/src/runtime/utils/UrlRewriter.ts +0 -59
  290. package/src/server/JitarServer.ts +0 -161
  291. package/src/server/configuration/GatewayConfiguration.ts +0 -9
  292. package/src/server/configuration/NodeConfiguration.ts +0 -15
  293. package/src/server/configuration/ProxyConfiguration.ts +0 -16
  294. package/src/server/configuration/RepositoryConfiguration.ts +0 -17
  295. package/src/server/configuration/RuntimeConfiguration.ts +0 -30
  296. package/src/server/configuration/ServerOptions.ts +0 -14
  297. package/src/server/configuration/StandaloneConfiguration.ts +0 -21
  298. package/src/server/controllers/AssetsController.ts +0 -59
  299. package/src/server/controllers/HealthController.ts +0 -41
  300. package/src/server/controllers/JitarController.ts +0 -18
  301. package/src/server/controllers/ModulesController.ts +0 -66
  302. package/src/server/controllers/NodesController.ts +0 -58
  303. package/src/server/controllers/ProceduresController.ts +0 -31
  304. package/src/server/controllers/ProxyController.ts +0 -38
  305. package/src/server/controllers/RPCController.ts +0 -173
  306. package/src/server/definitions/RuntimeDefaults.ts +0 -10
  307. package/src/server/errors/MissingConfigurationValue.ts +0 -8
  308. package/src/server/errors/RuntimeNotAvaiable.ts +0 -8
  309. package/src/server/errors/UnknownRuntimeMode.ts +0 -8
  310. package/src/server/models/HealthDto.ts +0 -11
  311. package/src/server/models/NodeDto.ts +0 -11
  312. package/src/server/utils/DataConverter.ts +0 -15
  313. package/src/server/utils/LocalFileManager.ts +0 -122
  314. package/src/server/utils/RuntimeConfigurationLoader.ts +0 -19
  315. package/src/server/utils/RuntimeConfigurator.ts +0 -207
  316. package/src/server/utils/ServerOptionsReader.ts +0 -17
  317. package/src/server.ts +0 -16
  318. package/test/_fixtures/core/Implementation.fixture.ts +0 -33
  319. package/test/_fixtures/core/Procedure.fixture.ts +0 -33
  320. package/test/_fixtures/core/Segment.fixture.ts +0 -36
  321. package/test/_fixtures/core/SegmentBuilder.fixture.ts +0 -45
  322. package/test/_fixtures/core/Version.fixture.ts +0 -18
  323. package/test/_fixtures/core/reflection/ReflectionHelper.fixture.ts +0 -56
  324. package/test/_fixtures/runtime/LocalGateway.fixture.ts +0 -24
  325. package/test/_fixtures/runtime/LocalNode.fixture.ts +0 -16
  326. package/test/_fixtures/runtime/LocalRepository.fixture.ts +0 -73
  327. package/test/_fixtures/runtime/NodeBalancer.fixture.ts +0 -19
  328. package/test/_fixtures/runtime/NodeMonitor.fixture.ts +0 -34
  329. package/test/_fixtures/runtime/RemoteNode.fixture.ts +0 -8
  330. package/test/_fixtures/runtime/caching/ImportRewriter.fixture.ts +0 -81
  331. package/test/_fixtures/runtime/caching/RemoteBuilder.fixture.ts +0 -50
  332. package/test/_fixtures/runtime/caching/SourceAppender.fixture.ts +0 -35
  333. package/test/_fixtures/runtime/segments.ts +0 -78
  334. package/test/_fixtures/runtime/serialization/ValueSerializer.fixture.ts +0 -134
  335. package/test/_fixtures/runtime/utils/ModuleAnaliser.fixture.ts +0 -26
  336. package/test/core/Implementation.spec.ts +0 -89
  337. package/test/core/Procedure.spec.ts +0 -108
  338. package/test/core/Segment.spec.ts +0 -74
  339. package/test/core/SegmentBuilder.spec.ts +0 -39
  340. package/test/core/Version.spec.ts +0 -103
  341. package/test/core/errors/ErrorManager.spec.ts +0 -32
  342. package/test/core/reflection/ReflectionHelper.spec.ts +0 -128
  343. package/test/core/utils/FqnBuilder.spec.ts +0 -22
  344. package/test/runtime/LocalGateway.spec.ts +0 -40
  345. package/test/runtime/LocalNode.spec.ts +0 -87
  346. package/test/runtime/LocalRepository.spec.ts +0 -50
  347. package/test/runtime/NodeBalancer.spec.ts +0 -39
  348. package/test/runtime/NodeMonitor.spec.ts +0 -31
  349. package/test/runtime/RemoteNode.spec.ts +0 -43
  350. package/test/runtime/caching/ImportRewriter.spec.ts +0 -68
  351. package/test/runtime/caching/RemoteBuilder.spec.ts +0 -21
  352. package/test/runtime/caching/SourceAppender.spec.ts +0 -31
  353. package/test/runtime/serialization/ValueSerializer.spec.ts +0 -203
  354. package/test/runtime/utils/ModuleAnalyser.spec.ts +0 -54
  355. package/test/runtime/utils/UrlRewriter.spec.ts +0 -57
  356. package/tsconfig.json +0 -23
@@ -1,19 +0,0 @@
1
-
2
- import { readFileSync } from 'fs';
3
-
4
- import RuntimeConfiguration from '../configuration/RuntimeConfiguration.js';
5
-
6
- import DataConverter from './DataConverter.js';
7
-
8
- export default class RuntimeConfigurationLoader
9
- {
10
- static async load(filename: string): Promise<RuntimeConfiguration>
11
- {
12
- const plainContents = readFileSync(filename, 'utf-8');
13
- const parsedContents = JSON.parse(plainContents);
14
-
15
- const configuration = await DataConverter.convert<RuntimeConfiguration>(RuntimeConfiguration, parsedContents);
16
-
17
- return configuration;
18
- }
19
- }
@@ -1,207 +0,0 @@
1
-
2
- import CacheBuilder from '../../runtime/caching/CacheBuilder.js';
3
- import Gateway from '../../runtime/Gateway.js';
4
- import LocalGateway from '../../runtime/LocalGateway.js';
5
- import LocalNode from '../../runtime/LocalNode.js';
6
- import LocalRepository from '../../runtime/LocalRepository.js';
7
- import Node from '../../runtime/Node.js';
8
- import NodeMonitor from '../../runtime/NodeMonitor.js';
9
- import Proxy from '../../runtime/Proxy.js';
10
- import RemoteGateway from '../../runtime/RemoteGateway.js';
11
- import RemoteNode from '../../runtime/RemoteNode.js';
12
- import RemoteRepository from '../../runtime/RemoteRepository.js';
13
- import Repository from '../../runtime/Repository.js';
14
- import Runtime from '../../runtime/Runtime.js';
15
-
16
- import LocalFileManager from './LocalFileManager.js';
17
-
18
- import RuntimeConfiguration from '../configuration/RuntimeConfiguration.js';
19
- import StandaloneConfiguration from '../configuration/StandaloneConfiguration.js';
20
- import RepositoryConfiguration from '../configuration/RepositoryConfiguration.js';
21
- import GatewayConfiguration from '../configuration/GatewayConfiguration.js';
22
- import NodeConfiguration from '../configuration/NodeConfiguration.js';
23
- import ProxyConfiguration from '../configuration/ProxyConfiguration.js';
24
-
25
- import RuntimeDefaults from '../definitions/RuntimeDefaults.js';
26
-
27
- import MissingConfigurationValue from '../errors/MissingConfigurationValue.js';
28
- import UnknownRuntimeMode from '../errors/UnknownRuntimeMode.js';
29
-
30
- export default class RuntimeConfigurator
31
- {
32
- static async configure(configuration: RuntimeConfiguration): Promise<Runtime>
33
- {
34
- const url = configuration.url ?? RuntimeDefaults.URL;
35
-
36
- if (configuration.standalone !== undefined) return this.#configureStandAlone(url, configuration.standalone);
37
- if (configuration.repository !== undefined) return this.#configureRepository(url, configuration.repository);
38
- if (configuration.gateway !== undefined) return this.#configureGateway(url, configuration.gateway);
39
- if (configuration.node !== undefined) return this.#configureNode(url, configuration.node);
40
- if (configuration.proxy !== undefined) return this.#configureProxy(url, configuration.proxy);
41
-
42
- throw new UnknownRuntimeMode();
43
- }
44
-
45
- static async #configureStandAlone(url: string, configuration: StandaloneConfiguration): Promise<Proxy>
46
- {
47
- const sourceLocation = configuration.source ?? RuntimeDefaults.SOURCE;
48
- const cacheLocation = configuration.cache ?? RuntimeDefaults.CACHE;
49
-
50
- await this.#buildCache(sourceLocation, cacheLocation);
51
-
52
- const segmentNames = configuration.segments === undefined
53
- ? await this.#getSegmentNames(cacheLocation)
54
- : configuration.segments;
55
-
56
- const repository = await this.#buildRepository(url, cacheLocation);
57
- const node = await this.#buildNode(url, segmentNames, repository);
58
-
59
- return this.#buildProxy(url, repository, node);
60
- }
61
-
62
- static async #configureRepository(url: string, configuration: RepositoryConfiguration): Promise<LocalRepository>
63
- {
64
- const sourceLocation = configuration.source ?? RuntimeDefaults.SOURCE;
65
- const cacheLocation = configuration.cache ?? RuntimeDefaults.CACHE;
66
-
67
- await this.#buildCache(sourceLocation, cacheLocation);
68
- return this.#buildRepository(url, cacheLocation);
69
- }
70
-
71
- static async #configureGateway(url: string, configuration: GatewayConfiguration): Promise<LocalGateway>
72
- {
73
- return this.#buildGateway(url, configuration.monitor);
74
- }
75
-
76
- static async #configureNode(url: string, configuration: NodeConfiguration): Promise<LocalNode>
77
- {
78
- const segmentNames = configuration.segments ?? [];
79
-
80
- const repository = configuration.repository !== undefined
81
- ? new RemoteRepository(configuration.repository)
82
- : undefined;
83
-
84
- const gateway = configuration.gateway !== undefined
85
- ? new RemoteGateway(configuration.gateway)
86
- : undefined;
87
-
88
- return this.#buildNode(url, segmentNames, repository, gateway);
89
- }
90
-
91
- static async #configureProxy(url: string, configuration: ProxyConfiguration): Promise<Proxy>
92
- {
93
- if (configuration.repository === undefined)
94
- {
95
- throw new MissingConfigurationValue('proxy.repository');
96
- }
97
-
98
- const repository = new RemoteRepository(configuration.repository);
99
-
100
- const gateway = configuration.gateway !== undefined
101
- ? new RemoteGateway(configuration.gateway)
102
- : undefined;
103
-
104
- const node = configuration.node !== undefined
105
- ? new RemoteNode(configuration.node, [])
106
- : undefined;
107
-
108
- const runner = gateway ?? node;
109
-
110
- if (runner === undefined)
111
- {
112
- throw new MissingConfigurationValue('proxy.gateway or proxy.node');
113
- }
114
-
115
- return this.#buildProxy(url, repository, runner);
116
- }
117
-
118
- static async #buildCache(sourceLocation: string, cacheLocation: string): Promise<LocalFileManager>
119
- {
120
- const rootManager = new LocalFileManager('./');
121
- await rootManager.remove(cacheLocation);
122
- await rootManager.copy(sourceLocation, cacheLocation);
123
-
124
- const sourceManager = new LocalFileManager(sourceLocation);
125
- const cacheManager = new LocalFileManager(cacheLocation);
126
-
127
- const segmentFiles = await rootManager.getSegmentFiles();
128
- const moduleFiles = await sourceManager.getModuleFileNames();
129
-
130
- const cacheBuilder = new CacheBuilder(sourceManager, cacheManager);
131
- await cacheBuilder.build(segmentFiles, moduleFiles);
132
-
133
- return cacheManager;
134
- }
135
-
136
- static async #getSegmentNames(cacheLocation: string): Promise<string[]>
137
- {
138
- const fileManager = new LocalFileManager(cacheLocation);
139
- const segmentFilenames = await fileManager.getNodeSegmentFiles();
140
-
141
- return segmentFilenames.map(filename => this.#extractSegmentName(filename));
142
- }
143
-
144
- static #extractSegmentName(filename: string): string
145
- {
146
- const name = filename.split('/').pop() ?? '';
147
- const endIndex = name.indexOf('.segment');
148
-
149
- return name.substring(0, endIndex);
150
- }
151
-
152
- static async #buildRepository(url: string | undefined, cacheLocation: string): Promise<LocalRepository>
153
- {
154
- const fileManager = new LocalFileManager(cacheLocation);
155
- const repository = new LocalRepository(fileManager, url);
156
-
157
- const segmentFilenames = await fileManager.getRepositorySegmentFiles();
158
- const segmentNames = segmentFilenames.map(filename => this.#extractSegmentName(filename));
159
-
160
- for (const name of segmentNames)
161
- {
162
- await repository.loadSegment(name);
163
- }
164
-
165
- return repository;
166
- }
167
-
168
- static async #buildGateway(url?: string, monitorInterval?: number): Promise<LocalGateway>
169
- {
170
- const gateway = new LocalGateway(url);
171
- const monitor = new NodeMonitor(gateway, monitorInterval);
172
-
173
- monitor.start();
174
-
175
- return gateway;
176
- }
177
-
178
- static async #buildNode(url: string | undefined, segmentNames: string[], repository?: Repository, gateway?: Gateway): Promise<LocalNode>
179
- {
180
- const node = new LocalNode(url);
181
-
182
- if (repository !== undefined)
183
- {
184
- await node.setRepository(repository, segmentNames);
185
- }
186
-
187
- for (const segmentName of segmentNames)
188
- {
189
- await node.loadSegment(segmentName);
190
- }
191
-
192
- // All segments have to be loaded before a node
193
- // can be registered at the gateway
194
-
195
- if (gateway !== undefined)
196
- {
197
- node.setGateway(gateway);
198
- }
199
-
200
- return node;
201
- }
202
-
203
- static async #buildProxy(url: string | undefined, repository: Repository, runner: Gateway | Node): Promise<Proxy>
204
- {
205
- return new Proxy(repository, runner, url);
206
- }
207
- }
@@ -1,17 +0,0 @@
1
-
2
- import yargs from 'yargs';
3
-
4
- import ServerOptions from '../configuration/ServerOptions.js';
5
-
6
- import DataConverter from './DataConverter.js';
7
-
8
- export default class ServerOptionsReader
9
- {
10
- static async read(): Promise<ServerOptions>
11
- {
12
- const args: object = yargs(process.argv).argv
13
- const options = await DataConverter.convert<ServerOptions>(ServerOptions, args);
14
-
15
- return options;
16
- }
17
- }
package/src/server.ts DELETED
@@ -1,16 +0,0 @@
1
-
2
- import ModuleImporter from './runtime/types/ModuleImporter.js';
3
- import ModuleLoader from './runtime/utils/ModuleLoader.js';
4
-
5
- import JitarServer from './server/JitarServer.js';
6
-
7
- export async function startServer(moduleImporter: ModuleImporter): Promise<JitarServer>
8
- {
9
- ModuleLoader.setImporter(moduleImporter);
10
-
11
- const server = new JitarServer();
12
-
13
- await server.start();
14
-
15
- return server;
16
- }
@@ -1,33 +0,0 @@
1
-
2
- import * as AccessLevel from '../../../src/core/definitions/AccessLevel';
3
- import Implementation from '../../../src/core/Implementation';
4
- import Version from '../../../src/core/Version';
5
- import ReflectionHelper from '../../../src/core/reflection/ReflectionHelper';
6
-
7
- function getPrivate(): string
8
- {
9
- return 'private';
10
- }
11
-
12
- function getPublic(): string
13
- {
14
- return 'public';
15
- }
16
-
17
- function getParameters(mandatory: string, optional = 'default')
18
- {
19
- return `${mandatory} ${optional}`;
20
- }
21
-
22
- const parameters = ReflectionHelper.getFunctionParameters(getParameters);
23
-
24
- const privateImplementation = new Implementation(Version.DEFAULT, AccessLevel.PRIVATE, [], getPrivate);
25
- const publicImplementation = new Implementation(Version.DEFAULT, AccessLevel.PUBLIC, [], getPublic);
26
- const parameterImplementation = new Implementation(Version.DEFAULT, AccessLevel.PUBLIC, parameters, getParameters);
27
-
28
- export
29
- {
30
- privateImplementation,
31
- publicImplementation,
32
- parameterImplementation
33
- }
@@ -1,33 +0,0 @@
1
-
2
- import Procedure from '../../../src/core/Procedure';
3
- import * as AccessLevel from '../../../src/core/definitions/AccessLevel';
4
- import Implementation from '../../../src/core/Implementation';
5
- import Version from '../../../src/core/Version';
6
-
7
- function v1_0_0(): string { return '1.0.0'; }
8
- function v1_0_5(): string { return '1.0.5'; }
9
- function v1_1_0(): string { return '1.1.0'; }
10
-
11
- const v100Implementation = new Implementation(new Version(1, 0, 0), AccessLevel.PRIVATE, [], v1_0_0);
12
- const v105Implementation = new Implementation(new Version(1, 0, 5), AccessLevel.PUBLIC, [], v1_0_5);
13
- const v110Implementation = new Implementation(new Version(1, 1, 0), AccessLevel.PUBLIC, [], v1_1_0);
14
-
15
- const rootProcedure = new Procedure('', 'myRootProcedure');
16
- rootProcedure.addImplementation(v100Implementation);
17
- rootProcedure.addImplementation(v105Implementation);
18
- rootProcedure.addImplementation(v110Implementation);
19
-
20
- const moduleProcedure = new Procedure('my/module', 'myModuleProcedure');
21
- moduleProcedure.addImplementation(v100Implementation);
22
- moduleProcedure.addImplementation(v105Implementation);
23
- moduleProcedure.addImplementation(v110Implementation);
24
-
25
- const privateProcedure = new Procedure('my/module', 'myPrivateProcedure');
26
- privateProcedure.addImplementation(v100Implementation);
27
-
28
- export
29
- {
30
- rootProcedure,
31
- moduleProcedure,
32
- privateProcedure
33
- }
@@ -1,36 +0,0 @@
1
-
2
- import Procedure from '../../../src/core/Procedure';
3
- import * as AccessLevel from '../../../src/core/definitions/AccessLevel';
4
- import Implementation from '../../../src/core/Implementation';
5
- import Version from '../../../src/core/Version';
6
- import Segment from '../../../src/core/Segment';
7
-
8
- function getPrivate(): string { return 'private'; }
9
- function getPublic(): string { return 'public'; }
10
- function getModule(): string { return 'my/module'; }
11
- function throwError(): void { throw new Error('broken'); }
12
-
13
- const privateImplementation = new Implementation(Version.DEFAULT, AccessLevel.PRIVATE, [], getPrivate);
14
- const publicImplementation = new Implementation(Version.DEFAULT, AccessLevel.PUBLIC, [], getPublic);
15
- const moduleImplementation = new Implementation(Version.DEFAULT, AccessLevel.PRIVATE, [], getModule);
16
- const errorImplementation = new Implementation(Version.DEFAULT, AccessLevel.PRIVATE, [], throwError);
17
-
18
- const privateProcedure = new Procedure('', 'getPrivate');
19
- privateProcedure.addImplementation(privateImplementation);
20
-
21
- const publicProcedure = new Procedure('', 'getPublic');
22
- publicProcedure.addImplementation(publicImplementation);
23
-
24
- const moduleProcedure = new Procedure('my/module', 'getModule');
25
- moduleProcedure.addImplementation(moduleImplementation);
26
-
27
- const errorProcedure = new Procedure('', 'throwError');
28
- errorProcedure.addImplementation(errorImplementation);
29
-
30
- const segment = new Segment('my-segment');
31
- segment.addProcedure(privateProcedure);
32
- segment.addProcedure(publicProcedure);
33
- segment.addProcedure(moduleProcedure);
34
- segment.addProcedure(errorProcedure);
35
-
36
- export { segment }
@@ -1,45 +0,0 @@
1
-
2
- import SegmentModule from '../../../src/core/types/SegmentModule';
3
-
4
- function defaultFunction(): string
5
- {
6
- return 'default';
7
- }
8
-
9
- function anotherFunction(a: string, b: string): string
10
- {
11
- return a + b;
12
- }
13
-
14
- const segmentModule: SegmentModule =
15
- {
16
- procedures:
17
- [
18
- {
19
- module: '',
20
- name: 'defaultFunction',
21
- implementations:
22
- [
23
- {
24
- access: 'public',
25
- version: '0.0.0',
26
- executable: defaultFunction
27
- }
28
- ]
29
- },
30
- {
31
- module: '',
32
- name: 'anotherFunction',
33
- implementations:
34
- [
35
- {
36
- access: 'public',
37
- version: '1.0.0',
38
- executable: anotherFunction
39
- }
40
- ]
41
- }
42
- ]
43
- }
44
-
45
- export { segmentModule }
@@ -1,18 +0,0 @@
1
-
2
- import Version from '../../../src/core/Version';
3
-
4
- const actualVersion = new Version(1, 2, 3);
5
- const equalVersion = new Version(1, 2, 3);
6
- const greaterVersion = new Version(10, 2, 3);
7
- const lesserVersion = new Version(1, 1, 3);
8
- const majorVersion = new Version(1, 0, 0);
9
- const majorMinorVersion = new Version(1, 2, 0);
10
-
11
- export {
12
- actualVersion,
13
- equalVersion,
14
- greaterVersion,
15
- lesserVersion,
16
- majorVersion,
17
- majorMinorVersion,
18
- }
@@ -1,56 +0,0 @@
1
-
2
- class Human {}
3
-
4
- class Person extends Human
5
- {
6
- id: number;
7
- #firstName: string; // No getter and setter
8
- #lastName: string; // No getter and setter
9
- #age: number; // No setter
10
- #state: string; // No getter
11
-
12
- constructor(id: number, firstName: string, lastName: string, age: number)
13
- {
14
- super();
15
-
16
- this.id = id;
17
- this.#firstName = firstName;
18
- this.#lastName = lastName;
19
- this.#age = age;
20
- this.#state = 'Ottawa';
21
- }
22
-
23
- get fullName() { return `${this.#firstName} ${this.#lastName}`; }
24
-
25
- get age() { return this.#age; }
26
-
27
- set state(state: string) { this.#state = state; }
28
-
29
- toString(): string
30
- {
31
- return `${this.fullName} is ${this.#age} years old and lives in ${this.#state}`;
32
- }
33
- }
34
-
35
- class User extends Person {}
36
-
37
- const johnDoe = new Person(1, 'John', 'Doe', 42);
38
-
39
- function requiredArgedFunction(a: string, b: Person, c: number): string
40
- {
41
- return a + b + c;
42
- }
43
-
44
- function optionalArgedFunction(a: string, b = new Person(1, 'Jane', 'Doe', 42), c = 0): string
45
- {
46
- return a + b + c;
47
- }
48
-
49
- export
50
- {
51
- Person,
52
- User,
53
- johnDoe,
54
- requiredArgedFunction,
55
- optionalArgedFunction
56
- };
@@ -1,24 +0,0 @@
1
-
2
- import LocalNode from '../../../src/runtime/LocalNode';
3
- import LocalGateway from '../../../src/runtime/LocalGateway';
4
-
5
- import { setRuntime } from '../../../src/hooks';
6
-
7
- import { firstSegment, secondSegment } from './segments';
8
-
9
- const API_URL = 'http://localhost:80';
10
-
11
- const gateway = new LocalGateway(API_URL);
12
-
13
- const firstNode = new LocalNode();
14
- firstNode.addSegment(firstSegment);
15
- firstNode.setGateway(gateway);
16
-
17
- const secondNode = new LocalNode();
18
- secondNode.addSegment(secondSegment);
19
- secondNode.setGateway(gateway);
20
-
21
- // All test cases have to start from this node
22
- setRuntime(firstNode);
23
-
24
- export { API_URL, gateway }
@@ -1,16 +0,0 @@
1
-
2
- import LocalNode from '../../../src/runtime/LocalNode';
3
-
4
- import { setRuntime } from '../../../src/hooks';
5
-
6
- import { firstSegment, secondSegment } from './segments';
7
-
8
- const API_URL = 'http://localhost:80';
9
-
10
- const node = new LocalNode(API_URL);
11
- node.addSegment(firstSegment);
12
- node.addSegment(secondSegment);
13
-
14
- setRuntime(node);
15
-
16
- export { API_URL, node }
@@ -1,73 +0,0 @@
1
-
2
- import FileLoader from '../../../src/runtime/interfaces/FileManager';
3
- import LocalRepository from '../../../src/runtime/LocalRepository';
4
- import File from '../../../src/runtime/models/File';
5
-
6
- class TestFileManager implements FileLoader
7
- {
8
- getRootLocation(): string
9
- {
10
- return '';
11
- }
12
-
13
- getAbsoluteLocation(filename: string): string
14
- {
15
- return filename;
16
- }
17
-
18
- getRelativeLocation(filename: string): string
19
- {
20
- return filename;
21
- }
22
-
23
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
24
- async getType(filename: string): Promise<string>
25
- {
26
- return 'application/javascript';
27
- }
28
-
29
- async getContent(filename: string): Promise<Buffer | string>
30
- {
31
- switch (filename)
32
- {
33
- case 'fourthPrivateTask.js':
34
- return Buffer.from('fourthPrivateTask()');
35
-
36
- case 'firstPublicTask.local.js':
37
- return Buffer.from('firstPublicTask()');
38
-
39
- case 'secondPublicTask.remote.js':
40
- return Buffer.from('runProcedure()');
41
- }
42
-
43
- return Buffer.from('');
44
- }
45
-
46
- async load(filename: string): Promise<File>
47
- {
48
- const type = await this.getType(filename);
49
- const content = await this.getContent(filename);
50
-
51
- return new File(filename, type, content);
52
- }
53
-
54
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
55
- async store(filename: string, content: string): Promise<void>
56
- {
57
- // Do nothing
58
- }
59
- }
60
-
61
- const fileManager = new TestFileManager();
62
- const repository = new LocalRepository(fileManager);
63
- const client = { id: '' };
64
-
65
- repository.registerSegment('first', ['firstPrivateTask.js', 'firstPublicTask.js', 'thirdPublicTask.js']);
66
- repository.registerSegment('second', ['secondPrivateTask.js', 'secondPublicTask.js', 'fourthPublicTask.js']);
67
- repository.registerClient(['first']).then(clientId => client.id = clientId);
68
-
69
- const UNSEGMENTED_FILE = 'fourthPrivateTask.js';
70
- const LOCAL_FILE = 'firstPublicTask.js';
71
- const REMOTE_FILE = 'secondPublicTask.js';
72
-
73
- export { repository, client, UNSEGMENTED_FILE, LOCAL_FILE, REMOTE_FILE }
@@ -1,19 +0,0 @@
1
-
2
- import LocalNode from '../../../src/runtime/LocalNode';
3
- import NodeBalancer from '../../../src/runtime/NodeBalancer';
4
-
5
- const firstNode = new LocalNode();
6
- const secondNode = new LocalNode();
7
-
8
- const balancer = new NodeBalancer();
9
- balancer.addNode(firstNode);
10
- balancer.addNode(secondNode);
11
-
12
- const emptyBalancer = new NodeBalancer();
13
-
14
- export {
15
- balancer,
16
- emptyBalancer,
17
- firstNode,
18
- secondNode
19
- }
@@ -1,34 +0,0 @@
1
-
2
- import LocalNode from '../../../src/runtime/LocalNode';
3
- import LocalGateway from '../../../src/runtime/LocalGateway';
4
- import NodeMonitor from '../../../src/runtime/NodeMonitor';
5
- import HealthCheck from '../../../src/runtime/interfaces/HealthCheck';
6
-
7
- class HealthyCheck implements HealthCheck
8
- {
9
- async isHealthy(): Promise<boolean> { return true; }
10
- }
11
-
12
- class UnhealthyCheck implements HealthCheck
13
- {
14
- async isHealthy(): Promise<boolean> { return false; }
15
- }
16
-
17
- const goodNode = new LocalNode();
18
- goodNode.addHealthCheck('good', new HealthyCheck());
19
-
20
- const badNode = new LocalNode();
21
- badNode.addHealthCheck('bad', new UnhealthyCheck());
22
-
23
- const gateway = new LocalGateway('http://localhost:80');
24
- gateway.addNode(goodNode);
25
- gateway.addNode(badNode);
26
-
27
- const monitor = new NodeMonitor(gateway, 100);
28
-
29
- export {
30
- goodNode,
31
- badNode,
32
- gateway,
33
- monitor
34
- }
@@ -1,8 +0,0 @@
1
-
2
- import RemoteNode from '../../../src/runtime/RemoteNode';
3
-
4
- const API_URL = 'http://localhost:80';
5
-
6
- const node = new RemoteNode(API_URL, ['FirstProcedure', 'SecondProcedure']);
7
-
8
- export { API_URL, node }