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,53 +0,0 @@
1
-
2
- import MissingParameterValue from './errors/MissingParameterValue.js';
3
- import ReflectionParameter from './reflection/models/ReflectionParameter.js';
4
- import * as AccessLevel from './definitions/AccessLevel.js';
5
- import Version from './Version.js';
6
-
7
- export default class Implementation
8
- {
9
- #version: Version;
10
- #access: string;
11
- #parameters: ReflectionParameter[];
12
- #executable: Function;
13
-
14
- constructor(version: Version, access: string, parameters: ReflectionParameter[], executable: Function)
15
- {
16
- this.#version = version;
17
- this.#access = access;
18
- this.#parameters = parameters;
19
- this.#executable = executable;
20
- }
21
-
22
- get version() { return this.#version; }
23
-
24
- get public() { return this.#access === AccessLevel.PUBLIC; }
25
-
26
- get parameters() { return this.#parameters; }
27
-
28
- async run(args: Map<string, unknown>): Promise<unknown>
29
- {
30
- const values = this.#extractParameterValues(args);
31
-
32
- return await this.#executable.call(this.#executable, ...values);
33
- }
34
-
35
- #extractParameterValues(parameters: Map<string, unknown>): unknown[]
36
- {
37
- const values: unknown[] = [];
38
-
39
- for (const parameter of this.#parameters)
40
- {
41
- const value = parameters.get(parameter.name);
42
-
43
- if (value === undefined && parameter.isOptional === false)
44
- {
45
- throw new MissingParameterValue(parameter.name);
46
- }
47
-
48
- values.push(value);
49
- }
50
-
51
- return values;
52
- }
53
- }
@@ -1,98 +0,0 @@
1
-
2
- import ImplementationNotFound from './errors/ImplementationNotFound.js';
3
- import Implementation from './Implementation.js';
4
- import FqnBuilder from './utils/FqnBuilder.js';
5
- import Version from './Version.js';
6
-
7
- export default class Procedure
8
- {
9
- #module: string;
10
- #name: string;
11
- #fqn: string;
12
- #implementations: Map<Version, Implementation> = new Map();
13
- #latestImplementation?: Implementation;
14
-
15
- constructor(module: string, name: string)
16
- {
17
- this.#module = module;
18
- this.#name = name;
19
-
20
- this.#fqn = FqnBuilder.build(module, name);
21
- }
22
-
23
- get module() { return this.#module; }
24
-
25
- get name() { return this.#name; }
26
-
27
- get fqn() { return this.#fqn; }
28
-
29
- get public()
30
- {
31
- // If at least one implementation is public, the procedure is public
32
- // Public procedures can be called from outside the segment
33
-
34
- const implementations = [...this.#implementations.values()];
35
-
36
- return implementations.some(implementation => implementation.public);
37
- }
38
-
39
- addImplementation(implementation: Implementation): void
40
- {
41
- this.#implementations.set(implementation.version, implementation);
42
-
43
- if (this.#isNewLatestImplementation(implementation))
44
- {
45
- this.#latestImplementation = implementation;
46
- }
47
- }
48
-
49
- #isNewLatestImplementation(implementation: Implementation): boolean
50
- {
51
- return this.#latestImplementation === undefined
52
- || implementation.version.greater(this.#latestImplementation.version);
53
- }
54
-
55
- getImplementation(version: Version): Implementation | undefined
56
- {
57
- const selectedVersion = this.#selectAvailableVersion(version);
58
-
59
- return this.#implementations.get(selectedVersion);
60
- }
61
-
62
- #selectAvailableVersion(version: Version): Version
63
- {
64
- let selectedVersion = Version.DEFAULT;
65
-
66
- for (const implementationVersion of this.#implementations.keys())
67
- {
68
- if (implementationVersion.equals(version))
69
- {
70
- return implementationVersion;
71
- }
72
-
73
- if (implementationVersion.greater(version))
74
- {
75
- continue;
76
- }
77
-
78
- if (selectedVersion.less(implementationVersion))
79
- {
80
- selectedVersion = implementationVersion;
81
- }
82
- }
83
-
84
- return selectedVersion;
85
- }
86
-
87
- async run(version: Version, args: Map<string, unknown>): Promise<unknown>
88
- {
89
- const implementation = this.getImplementation(version);
90
-
91
- if (implementation === undefined)
92
- {
93
- throw new ImplementationNotFound(this.fqn, version.toString());
94
- }
95
-
96
- return implementation.run(args);
97
- }
98
- }
@@ -1,62 +0,0 @@
1
-
2
- import ErrorManager from './ErrorManager.js';
3
- import ProcedureNotFound from './errors/ProcedureNotFound.js';
4
- import Runner from './interfaces/Runner.js';
5
- import Procedure from './Procedure.js';
6
- import Version from './Version.js';
7
-
8
- export default class Segment implements Runner
9
- {
10
- #id: string;
11
- #procedures: Map<string, Procedure> = new Map();
12
-
13
- constructor(id: string)
14
- {
15
- this.#id = id;
16
- }
17
-
18
- get id() { return this.#id; }
19
-
20
- addProcedure(procedure: Procedure): void
21
- {
22
- this.#procedures.set(procedure.fqn, procedure);
23
- }
24
-
25
- hasProcedure(fqn: string): boolean
26
- {
27
- const procedure = this.getProcedure(fqn);
28
-
29
- return procedure !== undefined;
30
- }
31
-
32
- getProcedure(fqn: string): Procedure | undefined
33
- {
34
- return this.#procedures.get(fqn);
35
- }
36
-
37
- getPublicProcedures()
38
- {
39
- const procedures = [...this.#procedures.values()];
40
-
41
- return procedures.filter(procedure => procedure.public);
42
- }
43
-
44
- async run(fqn: string, version: Version, args: Map<string, unknown>): Promise<unknown>
45
- {
46
- const procedure = this.getProcedure(fqn);
47
-
48
- if (procedure === undefined)
49
- {
50
- throw new ProcedureNotFound(fqn);
51
- }
52
-
53
- try
54
- {
55
- return await procedure.run(version, args);
56
- }
57
- catch (error: unknown)
58
- {
59
- throw ErrorManager.handle(error, fqn, version.toString());
60
- }
61
- }
62
- }
@@ -1,55 +0,0 @@
1
-
2
- import SegmentModule from './types/SegmentModule.js';
3
- import SegmentProcedure from './types/SegmentProcedure.js';
4
- import SegmentImplementation from './types/SegmentImplementation.js';
5
-
6
- import ReflectionHelper from './reflection/ReflectionHelper.js';
7
-
8
- import Implementation from './Implementation.js';
9
- import Procedure from './Procedure.js';
10
- import Segment from './Segment.js';
11
- import Version from './Version.js';
12
-
13
- export default class SegmentBuilder
14
- {
15
- static build(id: string, module: SegmentModule): Segment
16
- {
17
- const segment = new Segment(id);
18
-
19
- for (const definition of module.procedures)
20
- {
21
- const procedure = this.#buildProcedure(definition);
22
-
23
- segment.addProcedure(procedure);
24
- };
25
-
26
- return segment;
27
- }
28
-
29
- static #buildProcedure(definition: SegmentProcedure): Procedure
30
- {
31
- const module = definition.module;
32
- const name = definition.name;
33
-
34
- const procedure = new Procedure(module, name);
35
-
36
- for (const implementationDefinition of definition.implementations)
37
- {
38
- const implementation = this.#buildImplementation(implementationDefinition);
39
-
40
- procedure.addImplementation(implementation);
41
- }
42
-
43
- return procedure;
44
- }
45
-
46
- static #buildImplementation(definition: SegmentImplementation): Implementation
47
- {
48
- const version = Version.parse(definition.version);
49
- const access = definition.access;
50
- const executable = definition.executable;
51
- const parameters = ReflectionHelper.getFunctionParameters(executable);
52
-
53
- return new Implementation(version, access, parameters, executable);
54
- }
55
- }
@@ -1,68 +0,0 @@
1
-
2
- import InvalidVersionNumber from './errors/InvalidVersionNumber.js';
3
-
4
- export default class Version
5
- {
6
- static get DEFAULT(): Version { return new Version(0, 0, 0); }
7
-
8
- #major: number;
9
- #minor: number;
10
- #patch: number;
11
-
12
- constructor(major = 0, minor = 0, patch = 0)
13
- {
14
- this.#major = major;
15
- this.#minor = minor;
16
- this.#patch = patch;
17
- }
18
-
19
- get major() { return this.#major; }
20
-
21
- get minor() { return this.#minor; }
22
-
23
- get patch() { return this.#patch; }
24
-
25
- equals(version: Version): boolean
26
- {
27
- return this.#major === version.major
28
- && this.#minor === version.minor
29
- && this.#patch === version.patch;
30
- }
31
-
32
- greater(version: Version): boolean
33
- {
34
- if (this.#major !== version.major) return this.#major > version.major;
35
- if (this.#minor !== version.minor) return this.#minor > version.minor;
36
- if (this.#patch !== version.patch) return this.#patch > version.patch;
37
-
38
- return false;
39
- }
40
-
41
- less(version: Version): boolean
42
- {
43
- if (this.#major !== version.major) return this.#major < version.major;
44
- if (this.#minor !== version.minor) return this.#minor < version.minor;
45
- if (this.#patch !== version.patch) return this.#patch < version.patch;
46
-
47
- return false;
48
- }
49
-
50
- toString(): string
51
- {
52
- return `${this.#major}.${this.#minor}.${this.#patch}`;
53
- }
54
-
55
- static parse(number: string): Version
56
- {
57
- const parts = number.split('.');
58
-
59
- switch (parts.length)
60
- {
61
- case 1: return new Version(Number.parseInt(parts[0]));
62
- case 2: return new Version(Number.parseInt(parts[0]), Number.parseInt(parts[1]));
63
- case 3: return new Version(Number.parseInt(parts[0]), Number.parseInt(parts[1]), Number.parseInt(parts[2]));
64
-
65
- default: throw new InvalidVersionNumber(number);
66
- }
67
- }
68
- }
@@ -1,3 +0,0 @@
1
-
2
- export const PRIVATE = 'private';
3
- export const PUBLIC = 'public';
@@ -1,12 +0,0 @@
1
-
2
- import Component from '../types/Component.js';
3
-
4
- export default class ImplementationNotFound extends Error
5
- {
6
- constructor(fqn: string, version: string)
7
- {
8
- super(`No implementation found for procedure '${fqn}' with version '${version}'`);
9
- }
10
- }
11
-
12
- (ImplementationNotFound as Component).source = '/jitar/core/errors/ImplementationNotFound.js';
@@ -1,12 +0,0 @@
1
-
2
- import Component from '../types/Component.js';
3
-
4
- export default class InvalidVersionNumber extends Error
5
- {
6
- constructor(number: string)
7
- {
8
- super(`Invalid version number '${number}'`);
9
- }
10
- }
11
-
12
- (InvalidVersionNumber as Component).source = '/jitar/core/errors/InvalidVersionNumber.js';
@@ -1,12 +0,0 @@
1
-
2
- import Component from '../types/Component.js';
3
-
4
- export default class MissingParameterValue extends Error
5
- {
6
- constructor(parameterName: string)
7
- {
8
- super(`Missing value for parameter '${parameterName}'`);
9
- }
10
- }
11
-
12
- (MissingParameterValue as Component).source = '/jitar/core/errors/MissingParameterValue.js';
@@ -1,12 +0,0 @@
1
-
2
- import Component from '../types/Component.js';
3
-
4
- export default class NotImplemented extends Error
5
- {
6
- constructor()
7
- {
8
- super('Not implemented');
9
- }
10
- }
11
-
12
- (NotImplemented as Component).source = '/jitar/core/errors/NotImplemented.js';
@@ -1,12 +0,0 @@
1
-
2
- import Component from '../types/Component.js';
3
-
4
- export default class ProcedureNotFound extends Error
5
- {
6
- constructor(fqn: string)
7
- {
8
- super(`Procedure '${fqn}' not found`);
9
- }
10
- }
11
-
12
- (ProcedureNotFound as Component).source = '/jitar/core/errors/ProcedureNotFound.js';
@@ -1,7 +0,0 @@
1
-
2
- import Version from '../Version.js';
3
-
4
- export default interface Runner
5
- {
6
- run(fqn: string, version: Version, args: Map<string, unknown>): Promise<unknown>;
7
- }
@@ -1,74 +0,0 @@
1
-
2
- import ReflectionParameter from './models/ReflectionParameter.js';
3
-
4
- const STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
5
-
6
- export default class ParameterParser
7
- {
8
- static parse(code: string, functionIndicator: string): ReflectionParameter[]
9
- {
10
- const pureCode = this.#removeComments(code);
11
- const parameterString = this.#extractParameterString(pureCode, functionIndicator);
12
- const parameterList = this.#parseParamaterString(parameterString);
13
-
14
- return parameterList.map(parameter => this.#extractParameter(parameter));
15
- }
16
-
17
- static #removeComments(code: string): string
18
- {
19
- return code.replace(STRIP_COMMENTS, '');
20
- }
21
-
22
- static #extractParameterString(code: string, functionIndicator: string): string
23
- {
24
- const indicatorPosition = code.indexOf(functionIndicator);
25
-
26
- const bodyStart = code.indexOf('{', indicatorPosition);
27
- const definition = code.substring(indicatorPosition, bodyStart).trim();
28
-
29
- const startPosition = definition.indexOf('(') + 1;
30
- const endPosition = definition.lastIndexOf(')', startPosition);
31
-
32
- return definition.slice(startPosition, endPosition);
33
- }
34
-
35
- static #parseParamaterString(parameterString: string): string[]
36
- {
37
- const parameters: string[] = [];
38
-
39
- let level = 0;
40
- let buffer = '';
41
-
42
- for (let character of parameterString)
43
- {
44
- switch (character)
45
- {
46
- case '(': level++; break;
47
- case ')': level--; break;
48
- case ',':
49
- if (level === 0)
50
- {
51
- parameters.push(buffer);
52
- character = '';
53
- buffer = '';
54
- }
55
- }
56
-
57
- buffer += character;
58
- }
59
-
60
- if (buffer !== '')
61
- {
62
- parameters.push(buffer);
63
- }
64
-
65
- return parameters;
66
- }
67
-
68
- static #extractParameter(parameter: string): ReflectionParameter
69
- {
70
- const [name, defaultValue] = parameter.split('=').map(part => part.trim());
71
-
72
- return new ReflectionParameter(name, defaultValue);
73
- }
74
- }
@@ -1,118 +0,0 @@
1
-
2
- import ReflectionField from './models/ReflectionField.js';
3
- import ReflectionParameter from './models/ReflectionParameter.js';
4
- import ParameterParser from './ParameterParser.js';
5
-
6
- const CONSTRUCTOR_NAME = 'constructor';
7
- const FUNCTION_NAME = 'function';
8
-
9
- export default class ReflectionHelper
10
- {
11
- static createInstance(clazz: Function, args: unknown[] = []): object
12
- {
13
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
- return new (clazz as any)(...args);
15
- }
16
-
17
- static isClassObject(object: object): boolean
18
- {
19
- return object.constructor.toString().startsWith('class');
20
- }
21
-
22
- static getObjectClass(object: object): Function
23
- {
24
- return object.constructor;
25
- }
26
-
27
- static getParentClass(clazz: Function): Function
28
- {
29
- return Object.getPrototypeOf(clazz);
30
- }
31
-
32
- static getFields(clazz: Function): ReflectionField[]
33
- {
34
- const object = this.createInstance(clazz);
35
- const publicFields = this.#getPublicFields(object);
36
- const propertyFields = this.#getPropertyFields(clazz);
37
-
38
- return [...publicFields, ...propertyFields];
39
- }
40
-
41
- static getObjectFields(object: object): ReflectionField[]
42
- {
43
- const clazz = this.getObjectClass(object);
44
- const publicFields = this.#getPublicFields(object);
45
- const propertyFields = this.#getPropertyFields(clazz);
46
-
47
- return [...publicFields, ...propertyFields];
48
- }
49
-
50
- static #getPublicFields(object: object): ReflectionField[]
51
- {
52
- const fieldNames = Object.getOwnPropertyNames(object);
53
-
54
- return fieldNames.map(fieldName => new ReflectionField(fieldName, true, true));
55
- }
56
-
57
- static #getPropertyFields(clazz: Function): ReflectionField[]
58
- {
59
- const methods = Object.getOwnPropertyDescriptors(clazz.prototype);
60
-
61
- const fields = [];
62
-
63
- for (const name in methods)
64
- {
65
- const description = methods[name];
66
-
67
- const hasGetter = description.get !== undefined;
68
- const hasSetter = description.set !== undefined;
69
-
70
- if (hasGetter === false && hasSetter === false)
71
- {
72
- // This is not a property.
73
-
74
- continue;
75
- }
76
-
77
- fields.push(new ReflectionField(name, hasGetter, hasSetter));
78
- }
79
-
80
- const parentClazz = this.getParentClass(clazz);
81
-
82
- if (parentClazz.name !== '')
83
- {
84
- const parentFields = this.#getPropertyFields(parentClazz);
85
-
86
- return [...fields, ...parentFields];
87
- }
88
-
89
- return fields;
90
- }
91
-
92
- static getConstructorParameters(clazz: Function): ReflectionParameter[]
93
- {
94
- const code = clazz.toString();
95
- const hasConstructor = code.includes(CONSTRUCTOR_NAME);
96
-
97
- if (hasConstructor === false)
98
- {
99
- const parentClazz = this.getParentClass(clazz);
100
-
101
- if (parentClazz.name === '')
102
- {
103
- return [];
104
- }
105
-
106
- return this.getConstructorParameters(parentClazz);
107
- }
108
-
109
- return ParameterParser.parse(code, CONSTRUCTOR_NAME);
110
- }
111
-
112
- static getFunctionParameters(funktion: Function): ReflectionParameter[]
113
- {
114
- const code = funktion.toString();
115
-
116
- return ParameterParser.parse(code, FUNCTION_NAME);
117
- }
118
- }
@@ -1,22 +0,0 @@
1
-
2
- export default class ReflectionField
3
- {
4
- #name: string;
5
- #canGet: boolean;
6
- #canSet: boolean;
7
-
8
- constructor(name: string, canGet: boolean, canSet: boolean)
9
- {
10
- this.#name = name;
11
- this.#canGet = canGet;
12
- this.#canSet = canSet;
13
- }
14
-
15
- get name() { return this.#name; }
16
-
17
- get canGet() { return this.#canGet; }
18
-
19
- get canSet() { return this.#canSet; }
20
-
21
- get canGetAndSet() { return this.#canGet && this.#canSet; }
22
- }
@@ -1,18 +0,0 @@
1
-
2
- export default class ReflectionParameter
3
- {
4
- #name: string;
5
- #defaultValue?: string;
6
-
7
- constructor(name: string, defaultValue?: string)
8
- {
9
- this.#name = name;
10
- this.#defaultValue = defaultValue;
11
- }
12
-
13
- get name() { return this.#name; }
14
-
15
- get defaultValue() { return this.#defaultValue; }
16
-
17
- get isOptional() { return this.#defaultValue !== undefined; }
18
- }
@@ -1,8 +0,0 @@
1
-
2
- type Component =
3
- {
4
- name: string;
5
- source?: string;
6
- }
7
-
8
- export default Component;
@@ -1,4 +0,0 @@
1
-
2
- type FlexObject = { [key: string]: unknown };
3
-
4
- export default FlexObject;
@@ -1,6 +0,0 @@
1
-
2
- import FlexObject from './FlexObject.js';
3
-
4
- type Module = FlexObject;
5
-
6
- export default Module;
@@ -1,9 +0,0 @@
1
-
2
- type SegmentImplementation =
3
- {
4
- access: string;
5
- version: string;
6
- executable: Function;
7
- }
8
-
9
- export default SegmentImplementation;