jitar 0.1.0

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 (577) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc +16 -0
  3. package/README.md +15 -0
  4. package/coverage/clover.xml +2483 -0
  5. package/coverage/coverage-final.json +56 -0
  6. package/coverage/lcov-report/base.css +224 -0
  7. package/coverage/lcov-report/block-navigation.js +87 -0
  8. package/coverage/lcov-report/favicon.png +0 -0
  9. package/coverage/lcov-report/index.html +356 -0
  10. package/coverage/lcov-report/prettify.css +1 -0
  11. package/coverage/lcov-report/prettify.js +2 -0
  12. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  13. package/coverage/lcov-report/sorter.js +196 -0
  14. package/coverage/lcov-report/src/core/ErrorManager.ts.html +139 -0
  15. package/coverage/lcov-report/src/core/Implementation.ts.html +244 -0
  16. package/coverage/lcov-report/src/core/ImplementationBuilder.ts.html +148 -0
  17. package/coverage/lcov-report/src/core/Procedure.ts.html +379 -0
  18. package/coverage/lcov-report/src/core/Segment.ts.html +271 -0
  19. package/coverage/lcov-report/src/core/SegmentBuilder.ts.html +250 -0
  20. package/coverage/lcov-report/src/core/Version.ts.html +289 -0
  21. package/coverage/lcov-report/src/core/definitions/AccessLevel.ts.html +94 -0
  22. package/coverage/lcov-report/src/core/definitions/index.html +116 -0
  23. package/coverage/lcov-report/src/core/errors/ErrorManager.ts.html +139 -0
  24. package/coverage/lcov-report/src/core/errors/ImplementationNotFound.ts.html +121 -0
  25. package/coverage/lcov-report/src/core/errors/InvalidVersionNumber.ts.html +121 -0
  26. package/coverage/lcov-report/src/core/errors/MissingParameterValue.ts.html +121 -0
  27. package/coverage/lcov-report/src/core/errors/ProcedureNotFound.ts.html +121 -0
  28. package/coverage/lcov-report/src/core/errors/index.html +161 -0
  29. package/coverage/lcov-report/src/core/index.html +191 -0
  30. package/coverage/lcov-report/src/core/reflection/ParameterParser.ts.html +307 -0
  31. package/coverage/lcov-report/src/core/reflection/ReflectionHelper.ts.html +439 -0
  32. package/coverage/lcov-report/src/core/reflection/index.html +131 -0
  33. package/coverage/lcov-report/src/core/reflection/models/ReflectionField.ts.html +151 -0
  34. package/coverage/lcov-report/src/core/reflection/models/ReflectionParameter.ts.html +139 -0
  35. package/coverage/lcov-report/src/core/reflection/models/index.html +131 -0
  36. package/coverage/lcov-report/src/core/utils/FqnBuilder.ts.html +115 -0
  37. package/coverage/lcov-report/src/core/utils/index.html +116 -0
  38. package/coverage/lcov-report/src/hooks.ts.html +88 -0
  39. package/coverage/lcov-report/src/index.html +116 -0
  40. package/coverage/lcov-report/src/runtime/Gateway.ts.html +139 -0
  41. package/coverage/lcov-report/src/runtime/LocalGateway.ts.html +364 -0
  42. package/coverage/lcov-report/src/runtime/LocalNode.ts.html +475 -0
  43. package/coverage/lcov-report/src/runtime/LocalRepository.ts.html +556 -0
  44. package/coverage/lcov-report/src/runtime/Node.ts.html +130 -0
  45. package/coverage/lcov-report/src/runtime/NodeBalancer.ts.html +268 -0
  46. package/coverage/lcov-report/src/runtime/NodeMonitor.ts.html +274 -0
  47. package/coverage/lcov-report/src/runtime/Remote.ts.html +562 -0
  48. package/coverage/lcov-report/src/runtime/RemoteNode.ts.html +232 -0
  49. package/coverage/lcov-report/src/runtime/Repository.ts.html +145 -0
  50. package/coverage/lcov-report/src/runtime/Runtime.ts.html +226 -0
  51. package/coverage/lcov-report/src/runtime/caching/ImportRewriter.ts.html +313 -0
  52. package/coverage/lcov-report/src/runtime/caching/ModuleAppender.ts.html +208 -0
  53. package/coverage/lcov-report/src/runtime/caching/RemoteBuilder.ts.html +238 -0
  54. package/coverage/lcov-report/src/runtime/caching/SourceAppender.ts.html +256 -0
  55. package/coverage/lcov-report/src/runtime/caching/definitions/Keywords.ts.html +94 -0
  56. package/coverage/lcov-report/src/runtime/caching/definitions/index.html +116 -0
  57. package/coverage/lcov-report/src/runtime/caching/index.html +146 -0
  58. package/coverage/lcov-report/src/runtime/caching/models/ApplicationModule.ts.html +175 -0
  59. package/coverage/lcov-report/src/runtime/caching/models/Implementation.ts.html +208 -0
  60. package/coverage/lcov-report/src/runtime/caching/models/SegmentModule.ts.html +163 -0
  61. package/coverage/lcov-report/src/runtime/caching/models/index.html +146 -0
  62. package/coverage/lcov-report/src/runtime/errors/ClientNotFound.ts.html +121 -0
  63. package/coverage/lcov-report/src/runtime/errors/InvalidClientId.ts.html +121 -0
  64. package/coverage/lcov-report/src/runtime/errors/InvalidSegmentFile.ts.html +121 -0
  65. package/coverage/lcov-report/src/runtime/errors/ModuleNotLoaded.ts.html +121 -0
  66. package/coverage/lcov-report/src/runtime/errors/NoNodeAvailable.ts.html +121 -0
  67. package/coverage/lcov-report/src/runtime/errors/RepositoryNotAvaiable.ts.html +121 -0
  68. package/coverage/lcov-report/src/runtime/errors/RuntimeNotAvailable.ts.html +121 -0
  69. package/coverage/lcov-report/src/runtime/errors/index.html +206 -0
  70. package/coverage/lcov-report/src/runtime/hooks/dependencies.ts.html +142 -0
  71. package/coverage/lcov-report/src/runtime/hooks/index.html +131 -0
  72. package/coverage/lcov-report/src/runtime/hooks/runtime.ts.html +160 -0
  73. package/coverage/lcov-report/src/runtime/index.html +251 -0
  74. package/coverage/lcov-report/src/runtime/models/File.ts.html +151 -0
  75. package/coverage/lcov-report/src/runtime/models/index.html +116 -0
  76. package/coverage/lcov-report/src/runtime/serialization/ArraySerializer.ts.html +166 -0
  77. package/coverage/lcov-report/src/runtime/serialization/ClassSerializer.ts.html +400 -0
  78. package/coverage/lcov-report/src/runtime/serialization/MapSerializer.ts.html +217 -0
  79. package/coverage/lcov-report/src/runtime/serialization/ObjectSerializer.ts.html +211 -0
  80. package/coverage/lcov-report/src/runtime/serialization/SetSerializer.ts.html +178 -0
  81. package/coverage/lcov-report/src/runtime/serialization/ValueSerializer.ts.html +328 -0
  82. package/coverage/lcov-report/src/runtime/serialization/errors/ClassNotFound.ts.html +121 -0
  83. package/coverage/lcov-report/src/runtime/serialization/errors/InvalidClass.ts.html +121 -0
  84. package/coverage/lcov-report/src/runtime/serialization/errors/index.html +131 -0
  85. package/coverage/lcov-report/src/runtime/serialization/index.html +191 -0
  86. package/coverage/lcov-report/src/runtime/utils/ModuleAnalyser.ts.html +265 -0
  87. package/coverage/lcov-report/src/runtime/utils/ModuleLoader.ts.html +238 -0
  88. package/coverage/lcov-report/src/runtime/utils/UrlRewriter.ts.html +262 -0
  89. package/coverage/lcov-report/src/runtime/utils/index.html +146 -0
  90. package/coverage/lcov-report/test/_fixtures/core/Implementation.fixture.ts.html +184 -0
  91. package/coverage/lcov-report/test/_fixtures/core/Procedure.fixture.ts.html +172 -0
  92. package/coverage/lcov-report/test/_fixtures/core/Segment.fixture.ts.html +193 -0
  93. package/coverage/lcov-report/test/_fixtures/core/SegmentBuilder.fixture.ts.html +220 -0
  94. package/coverage/lcov-report/test/_fixtures/core/Version.fixture.ts.html +139 -0
  95. package/coverage/lcov-report/test/_fixtures/core/index.html +176 -0
  96. package/coverage/lcov-report/test/_fixtures/core/procedures/allDefault.ts.html +100 -0
  97. package/coverage/lcov-report/test/_fixtures/core/procedures/hasParameters.ts.html +100 -0
  98. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_0_0.ts.html +115 -0
  99. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_0_5.ts.html +115 -0
  100. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_1_0.ts.html +115 -0
  101. package/coverage/lcov-report/test/_fixtures/core/procedures/hasVersion_v1_2_3.ts.html +115 -0
  102. package/coverage/lcov-report/test/_fixtures/core/procedures/inModule.ts.html +115 -0
  103. package/coverage/lcov-report/test/_fixtures/core/procedures/index.html +251 -0
  104. package/coverage/lcov-report/test/_fixtures/core/procedures/isBroken.ts.html +112 -0
  105. package/coverage/lcov-report/test/_fixtures/core/procedures/isPrivate.ts.html +112 -0
  106. package/coverage/lcov-report/test/_fixtures/core/procedures/isPublic.ts.html +112 -0
  107. package/coverage/lcov-report/test/_fixtures/core/reflection/ReflectionHelper.fixture.ts.html +241 -0
  108. package/coverage/lcov-report/test/_fixtures/core/reflection/index.html +116 -0
  109. package/coverage/lcov-report/test/_fixtures/core/segments/default.segment.ts.html +94 -0
  110. package/coverage/lcov-report/test/_fixtures/core/segments/index.html +116 -0
  111. package/coverage/lcov-report/test/_fixtures/runtime/LocalGateway.fixture.ts.html +157 -0
  112. package/coverage/lcov-report/test/_fixtures/runtime/LocalNode.fixture.ts.html +133 -0
  113. package/coverage/lcov-report/test/_fixtures/runtime/LocalRepository.fixture.ts.html +304 -0
  114. package/coverage/lcov-report/test/_fixtures/runtime/NodeBalancer.fixture.ts.html +142 -0
  115. package/coverage/lcov-report/test/_fixtures/runtime/NodeMonitor.fixture.ts.html +187 -0
  116. package/coverage/lcov-report/test/_fixtures/runtime/RemoteNode.fixture.ts.html +109 -0
  117. package/coverage/lcov-report/test/_fixtures/runtime/caching/ImportRewriter.fixture.ts.html +304 -0
  118. package/coverage/lcov-report/test/_fixtures/runtime/caching/ModuleAppender.fixture.ts.html +181 -0
  119. package/coverage/lcov-report/test/_fixtures/runtime/caching/RemoteBuilder.fixture.ts.html +217 -0
  120. package/coverage/lcov-report/test/_fixtures/runtime/caching/SourceAppender.fixture.ts.html +178 -0
  121. package/coverage/lcov-report/test/_fixtures/runtime/caching/index.html +146 -0
  122. package/coverage/lcov-report/test/_fixtures/runtime/index.html +206 -0
  123. package/coverage/lcov-report/test/_fixtures/runtime/procedures/firstPrivateTask.ts.html +109 -0
  124. package/coverage/lcov-report/test/_fixtures/runtime/procedures/firstPublicTask.ts.html +118 -0
  125. package/coverage/lcov-report/test/_fixtures/runtime/procedures/fourthPublicTask.ts.html +109 -0
  126. package/coverage/lcov-report/test/_fixtures/runtime/procedures/index.html +191 -0
  127. package/coverage/lcov-report/test/_fixtures/runtime/procedures/secondPrivateTask.ts.html +109 -0
  128. package/coverage/lcov-report/test/_fixtures/runtime/procedures/secondPublicTask.ts.html +118 -0
  129. package/coverage/lcov-report/test/_fixtures/runtime/procedures/thirdPublicTask.ts.html +118 -0
  130. package/coverage/lcov-report/test/_fixtures/runtime/segments/first.segment.files.ts.html +85 -0
  131. package/coverage/lcov-report/test/_fixtures/runtime/segments/first.segment.ts.html +91 -0
  132. package/coverage/lcov-report/test/_fixtures/runtime/segments/index.html +161 -0
  133. package/coverage/lcov-report/test/_fixtures/runtime/segments/second.segment.files.ts.html +85 -0
  134. package/coverage/lcov-report/test/_fixtures/runtime/segments/second.segment.ts.html +91 -0
  135. package/coverage/lcov-report/test/_fixtures/runtime/segments.ts.html +319 -0
  136. package/coverage/lcov-report/test/_fixtures/runtime/serialization/ValueSerializer.fixture.ts.html +394 -0
  137. package/coverage/lcov-report/test/_fixtures/runtime/serialization/index.html +116 -0
  138. package/coverage/lcov-report/test/_fixtures/runtime/utils/ModuleAnaliser.fixture.ts.html +163 -0
  139. package/coverage/lcov-report/test/_fixtures/runtime/utils/index.html +116 -0
  140. package/coverage/lcov.info +3565 -0
  141. package/dist/client.d.ts +2 -0
  142. package/dist/client.js +12 -0
  143. package/dist/core/AccessLevel.d.ts +5 -0
  144. package/dist/core/AccessLevel.js +6 -0
  145. package/dist/core/ErrorManager.d.ts +3 -0
  146. package/dist/core/ErrorManager.js +11 -0
  147. package/dist/core/Implementation.d.ts +10 -0
  148. package/dist/core/Implementation.js +32 -0
  149. package/dist/core/ImplementationBuilder.d.ts +4 -0
  150. package/dist/core/ImplementationBuilder.js +14 -0
  151. package/dist/core/Procedure.d.ts +13 -0
  152. package/dist/core/Procedure.js +58 -0
  153. package/dist/core/Segment.d.ts +13 -0
  154. package/dist/core/Segment.js +36 -0
  155. package/dist/core/SegmentBuilder.d.ts +6 -0
  156. package/dist/core/SegmentBuilder.js +33 -0
  157. package/dist/core/Version.d.ts +13 -0
  158. package/dist/core/Version.js +50 -0
  159. package/dist/core/definitions/AccessLevel.d.ts +2 -0
  160. package/dist/core/definitions/AccessLevel.js +2 -0
  161. package/dist/core/errors/ErrorManager.d.ts +3 -0
  162. package/dist/core/errors/ErrorManager.js +11 -0
  163. package/dist/core/errors/ImplementationNotFound.d.ts +3 -0
  164. package/dist/core/errors/ImplementationNotFound.js +6 -0
  165. package/dist/core/errors/InvalidVersionNumber.d.ts +3 -0
  166. package/dist/core/errors/InvalidVersionNumber.js +6 -0
  167. package/dist/core/errors/MissingParameterValue.d.ts +3 -0
  168. package/dist/core/errors/MissingParameterValue.js +6 -0
  169. package/dist/core/errors/NotImplemented.d.ts +3 -0
  170. package/dist/core/errors/NotImplemented.js +6 -0
  171. package/dist/core/errors/ProcedureNotFound.d.ts +3 -0
  172. package/dist/core/errors/ProcedureNotFound.js +6 -0
  173. package/dist/core/interfaces/Runner.d.ts +4 -0
  174. package/dist/core/interfaces/Runner.js +1 -0
  175. package/dist/core/reflection/ParameterParser.d.ts +5 -0
  176. package/dist/core/reflection/ParameterParser.js +51 -0
  177. package/dist/core/reflection/ReflectionHelper.d.ts +13 -0
  178. package/dist/core/reflection/ReflectionHelper.js +69 -0
  179. package/dist/core/reflection/models/ReflectionField.d.ts +8 -0
  180. package/dist/core/reflection/models/ReflectionField.js +14 -0
  181. package/dist/core/reflection/models/ReflectionParameter.d.ts +7 -0
  182. package/dist/core/reflection/models/ReflectionParameter.js +11 -0
  183. package/dist/core/types/Component.d.ts +5 -0
  184. package/dist/core/types/Component.js +1 -0
  185. package/dist/core/types/FlexObject.d.ts +4 -0
  186. package/dist/core/types/FlexObject.js +1 -0
  187. package/dist/core/types/Module.d.ts +3 -0
  188. package/dist/core/types/Module.js +1 -0
  189. package/dist/core/types/SegmentImplementation.d.ts +6 -0
  190. package/dist/core/types/SegmentImplementation.js +1 -0
  191. package/dist/core/types/SegmentModule.d.ts +5 -0
  192. package/dist/core/types/SegmentModule.js +1 -0
  193. package/dist/core/types/SegmentProcedure.d.ts +7 -0
  194. package/dist/core/types/SegmentProcedure.js +1 -0
  195. package/dist/core/utils/FqnBuilder.d.ts +3 -0
  196. package/dist/core/utils/FqnBuilder.js +5 -0
  197. package/dist/hooks.d.ts +2 -0
  198. package/dist/hooks.js +2 -0
  199. package/dist/lib.d.ts +4 -0
  200. package/dist/lib.js +3 -0
  201. package/dist/runtime/Gateway.d.ts +10 -0
  202. package/dist/runtime/Gateway.js +3 -0
  203. package/dist/runtime/LocalGateway.d.ts +12 -0
  204. package/dist/runtime/LocalGateway.js +54 -0
  205. package/dist/runtime/LocalNode.d.ts +18 -0
  206. package/dist/runtime/LocalNode.js +75 -0
  207. package/dist/runtime/LocalRepository.d.ts +17 -0
  208. package/dist/runtime/LocalRepository.js +86 -0
  209. package/dist/runtime/Node.d.ts +8 -0
  210. package/dist/runtime/Node.js +3 -0
  211. package/dist/runtime/NodeBalancer.d.ts +10 -0
  212. package/dist/runtime/NodeBalancer.js +34 -0
  213. package/dist/runtime/NodeMonitor.d.ts +7 -0
  214. package/dist/runtime/NodeMonitor.js +38 -0
  215. package/dist/runtime/Proxy.d.ts +19 -0
  216. package/dist/runtime/Proxy.js +31 -0
  217. package/dist/runtime/Remote.d.ts +15 -0
  218. package/dist/runtime/Remote.js +100 -0
  219. package/dist/runtime/RemoteGateway.d.ts +11 -0
  220. package/dist/runtime/RemoteGateway.js +22 -0
  221. package/dist/runtime/RemoteNode.d.ts +12 -0
  222. package/dist/runtime/RemoteNode.js +29 -0
  223. package/dist/runtime/RemoteNodeBuilder.d.ts +4 -0
  224. package/dist/runtime/RemoteNodeBuilder.js +10 -0
  225. package/dist/runtime/RemoteRepository.d.ts +14 -0
  226. package/dist/runtime/RemoteRepository.js +34 -0
  227. package/dist/runtime/Repository.d.ts +11 -0
  228. package/dist/runtime/Repository.js +3 -0
  229. package/dist/runtime/Runtime.d.ts +9 -0
  230. package/dist/runtime/Runtime.js +27 -0
  231. package/dist/runtime/caching/CachBuilder.d.ts +6 -0
  232. package/dist/runtime/caching/CachBuilder.js +150 -0
  233. package/dist/runtime/caching/CacheBuilder.d.ts +6 -0
  234. package/dist/runtime/caching/CacheBuilder.js +249 -0
  235. package/dist/runtime/caching/ImportRewriter.d.ts +4 -0
  236. package/dist/runtime/caching/ImportRewriter.js +49 -0
  237. package/dist/runtime/caching/ModuleAppender.d.ts +5 -0
  238. package/dist/runtime/caching/ModuleAppender.js +22 -0
  239. package/dist/runtime/caching/RemoteBuilder.d.ts +5 -0
  240. package/dist/runtime/caching/RemoteBuilder.js +31 -0
  241. package/dist/runtime/caching/SourceAppender.d.ts +5 -0
  242. package/dist/runtime/caching/SourceAppender.js +30 -0
  243. package/dist/runtime/caching/definitions/Keywords.d.ts +2 -0
  244. package/dist/runtime/caching/definitions/Keywords.js +2 -0
  245. package/dist/runtime/caching/errors/FunctionFilenameNotFound.d.ts +3 -0
  246. package/dist/runtime/caching/errors/FunctionFilenameNotFound.js +5 -0
  247. package/dist/runtime/caching/errors/InvalidSegmentFilename.d.ts +3 -0
  248. package/dist/runtime/caching/errors/InvalidSegmentFilename.js +5 -0
  249. package/dist/runtime/caching/errors/MissingModuleExport.d.ts +3 -0
  250. package/dist/runtime/caching/errors/MissingModuleExport.js +5 -0
  251. package/dist/runtime/caching/errors/SegmentFileNotLoaded.d.ts +3 -0
  252. package/dist/runtime/caching/errors/SegmentFileNotLoaded.js +5 -0
  253. package/dist/runtime/caching/errors/SegmentModuleNotLoaded.d.ts +3 -0
  254. package/dist/runtime/caching/errors/SegmentModuleNotLoaded.js +5 -0
  255. package/dist/runtime/caching/models/ApplicationModule.d.ts +9 -0
  256. package/dist/runtime/caching/models/ApplicationModule.js +19 -0
  257. package/dist/runtime/caching/models/Implementation.d.ts +12 -0
  258. package/dist/runtime/caching/models/Implementation.js +27 -0
  259. package/dist/runtime/caching/models/Procedure.d.ts +9 -0
  260. package/dist/runtime/caching/models/Procedure.js +15 -0
  261. package/dist/runtime/caching/models/Segment.d.ts +10 -0
  262. package/dist/runtime/caching/models/Segment.js +16 -0
  263. package/dist/runtime/caching/models/SegmentModule.d.ts +10 -0
  264. package/dist/runtime/caching/models/SegmentModule.js +14 -0
  265. package/dist/runtime/caching/types/SegmentFile.d.ts +5 -0
  266. package/dist/runtime/caching/types/SegmentFile.js +1 -0
  267. package/dist/runtime/caching/types/SegmentImportProperties.d.ts +6 -0
  268. package/dist/runtime/caching/types/SegmentImportProperties.js +1 -0
  269. package/dist/runtime/caching/types/SegmentImports.d.ts +5 -0
  270. package/dist/runtime/caching/types/SegmentImports.js +1 -0
  271. package/dist/runtime/caching/types/models/ApplicationModule.d.ts +9 -0
  272. package/dist/runtime/caching/types/models/ApplicationModule.js +19 -0
  273. package/dist/runtime/caching/types/models/Implementation.d.ts +12 -0
  274. package/dist/runtime/caching/types/models/Implementation.js +27 -0
  275. package/dist/runtime/caching/types/models/Procedure.d.ts +9 -0
  276. package/dist/runtime/caching/types/models/Procedure.js +15 -0
  277. package/dist/runtime/caching/types/models/Segment.d.ts +10 -0
  278. package/dist/runtime/caching/types/models/Segment.js +16 -0
  279. package/dist/runtime/caching/types/models/SegmentModule.d.ts +10 -0
  280. package/dist/runtime/caching/types/models/SegmentModule.js +14 -0
  281. package/dist/runtime/errors/ClientNotFound.d.ts +3 -0
  282. package/dist/runtime/errors/ClientNotFound.js +6 -0
  283. package/dist/runtime/errors/FileNotFound.d.ts +3 -0
  284. package/dist/runtime/errors/FileNotFound.js +6 -0
  285. package/dist/runtime/errors/InvalidClientId.d.ts +3 -0
  286. package/dist/runtime/errors/InvalidClientId.js +6 -0
  287. package/dist/runtime/errors/InvalidJitarHooks.d.ts +3 -0
  288. package/dist/runtime/errors/InvalidJitarHooks.js +6 -0
  289. package/dist/runtime/errors/InvalidSegmentFile.d.ts +3 -0
  290. package/dist/runtime/errors/InvalidSegmentFile.js +6 -0
  291. package/dist/runtime/errors/ModuleNotLoaded.d.ts +3 -0
  292. package/dist/runtime/errors/ModuleNotLoaded.js +6 -0
  293. package/dist/runtime/errors/NoNodeAvailable.d.ts +3 -0
  294. package/dist/runtime/errors/NoNodeAvailable.js +6 -0
  295. package/dist/runtime/errors/RepositoryNotAvaiable.d.ts +3 -0
  296. package/dist/runtime/errors/RepositoryNotAvaiable.js +6 -0
  297. package/dist/runtime/errors/RuntimeNotAvailable.d.ts +3 -0
  298. package/dist/runtime/errors/RuntimeNotAvailable.js +6 -0
  299. package/dist/runtime/errors/SegmentNotFound.d.ts +3 -0
  300. package/dist/runtime/errors/SegmentNotFound.js +6 -0
  301. package/dist/runtime/hooks/dependencies.d.ts +2 -0
  302. package/dist/runtime/hooks/dependencies.js +9 -0
  303. package/dist/runtime/hooks/runtime.d.ts +3 -0
  304. package/dist/runtime/hooks/runtime.js +14 -0
  305. package/dist/runtime/interfaces/FileManager.d.ts +11 -0
  306. package/dist/runtime/interfaces/FileManager.js +1 -0
  307. package/dist/runtime/interfaces/HealthCheck.d.ts +3 -0
  308. package/dist/runtime/interfaces/HealthCheck.js +1 -0
  309. package/dist/runtime/interfaces/ProcedureContainer.d.ts +5 -0
  310. package/dist/runtime/interfaces/ProcedureContainer.js +1 -0
  311. package/dist/runtime/models/File.d.ts +9 -0
  312. package/dist/runtime/models/File.js +14 -0
  313. package/dist/runtime/serialization/ArraySerializer.d.ts +7 -0
  314. package/dist/runtime/serialization/ArraySerializer.js +15 -0
  315. package/dist/runtime/serialization/ClassSerializer.d.ts +10 -0
  316. package/dist/runtime/serialization/ClassSerializer.js +58 -0
  317. package/dist/runtime/serialization/MapSerializer.d.ts +8 -0
  318. package/dist/runtime/serialization/MapSerializer.js +25 -0
  319. package/dist/runtime/serialization/ObjectSerializer.d.ts +9 -0
  320. package/dist/runtime/serialization/ObjectSerializer.js +21 -0
  321. package/dist/runtime/serialization/SetSerializer.d.ts +8 -0
  322. package/dist/runtime/serialization/SetSerializer.js +16 -0
  323. package/dist/runtime/serialization/ValueSerializer.d.ts +7 -0
  324. package/dist/runtime/serialization/ValueSerializer.js +46 -0
  325. package/dist/runtime/serialization/errors/ClassNotFound.d.ts +3 -0
  326. package/dist/runtime/serialization/errors/ClassNotFound.js +6 -0
  327. package/dist/runtime/serialization/errors/InvalidClass.d.ts +3 -0
  328. package/dist/runtime/serialization/errors/InvalidClass.js +6 -0
  329. package/dist/runtime/serialization/interfaces/Serializer.d.ts +4 -0
  330. package/dist/runtime/serialization/interfaces/Serializer.js +1 -0
  331. package/dist/runtime/serialization/types/SerializableObject.d.ts +3 -0
  332. package/dist/runtime/serialization/types/SerializableObject.js +1 -0
  333. package/dist/runtime/serialization/types/Serialized.d.ts +5 -0
  334. package/dist/runtime/serialization/types/Serialized.js +1 -0
  335. package/dist/runtime/serialization/types/SerializedClass.d.ts +8 -0
  336. package/dist/runtime/serialization/types/SerializedClass.js +1 -0
  337. package/dist/runtime/serialization/types/SerializedMap.d.ts +8 -0
  338. package/dist/runtime/serialization/types/SerializedMap.js +1 -0
  339. package/dist/runtime/serialization/types/SerializedObject.d.ts +4 -0
  340. package/dist/runtime/serialization/types/SerializedObject.js +1 -0
  341. package/dist/runtime/serialization/types/SerializedSet.d.ts +5 -0
  342. package/dist/runtime/serialization/types/SerializedSet.js +1 -0
  343. package/dist/runtime/types/JitarHooks.d.ts +6 -0
  344. package/dist/runtime/types/JitarHooks.js +1 -0
  345. package/dist/runtime/types/ModuleImporter.d.ts +3 -0
  346. package/dist/runtime/types/ModuleImporter.js +1 -0
  347. package/dist/runtime/utils/ModuleAnalyser.d.ts +7 -0
  348. package/dist/runtime/utils/ModuleAnalyser.js +34 -0
  349. package/dist/runtime/utils/ModuleLoader.d.ts +8 -0
  350. package/dist/runtime/utils/ModuleLoader.js +30 -0
  351. package/dist/runtime/utils/UrlRewriter.d.ts +4 -0
  352. package/dist/runtime/utils/UrlRewriter.js +36 -0
  353. package/dist/server/JitarServer.d.ts +8 -0
  354. package/dist/server/JitarServer.js +109 -0
  355. package/dist/server/configuration/GatewayConfiguration.d.ts +3 -0
  356. package/dist/server/configuration/GatewayConfiguration.js +18 -0
  357. package/dist/server/configuration/NodeConfiguration.d.ts +5 -0
  358. package/dist/server/configuration/NodeConfiguration.js +28 -0
  359. package/dist/server/configuration/ProxyConfiguration.d.ts +5 -0
  360. package/dist/server/configuration/ProxyConfiguration.js +29 -0
  361. package/dist/server/configuration/RepositoryConfiguration.d.ts +5 -0
  362. package/dist/server/configuration/RepositoryConfiguration.js +30 -0
  363. package/dist/server/configuration/RuntimeConfiguration.d.ts +13 -0
  364. package/dist/server/configuration/RuntimeConfiguration.js +48 -0
  365. package/dist/server/configuration/ServerOptions.d.ts +4 -0
  366. package/dist/server/configuration/ServerOptions.js +25 -0
  367. package/dist/server/configuration/StandaloneConfiguration.d.ts +6 -0
  368. package/dist/server/configuration/StandaloneConfiguration.js +36 -0
  369. package/dist/server/controllers/AssetsController.d.ts +8 -0
  370. package/dist/server/controllers/AssetsController.js +50 -0
  371. package/dist/server/controllers/HealthController.d.ts +10 -0
  372. package/dist/server/controllers/HealthController.js +47 -0
  373. package/dist/server/controllers/JitarController.d.ts +4 -0
  374. package/dist/server/controllers/JitarController.js +26 -0
  375. package/dist/server/controllers/ModulesController.d.ts +10 -0
  376. package/dist/server/controllers/ModulesController.js +62 -0
  377. package/dist/server/controllers/NodesController.d.ts +9 -0
  378. package/dist/server/controllers/NodesController.js +60 -0
  379. package/dist/server/controllers/ProceduresController.d.ts +10 -0
  380. package/dist/server/controllers/ProceduresController.js +35 -0
  381. package/dist/server/controllers/ProxyController.d.ts +7 -0
  382. package/dist/server/controllers/ProxyController.js +37 -0
  383. package/dist/server/controllers/RPCController.d.ts +9 -0
  384. package/dist/server/controllers/RPCController.js +129 -0
  385. package/dist/server/definitions/RuntimeDefaults.d.ts +7 -0
  386. package/dist/server/definitions/RuntimeDefaults.js +8 -0
  387. package/dist/server/definitions/RuntimeMode.d.ts +8 -0
  388. package/dist/server/definitions/RuntimeMode.js +9 -0
  389. package/dist/server/errors/MissingConfigurationValue.d.ts +3 -0
  390. package/dist/server/errors/MissingConfigurationValue.js +5 -0
  391. package/dist/server/errors/RuntimeNotAvaiable.d.ts +3 -0
  392. package/dist/server/errors/RuntimeNotAvaiable.js +5 -0
  393. package/dist/server/errors/UnknownRuntimeMode.d.ts +3 -0
  394. package/dist/server/errors/UnknownRuntimeMode.js +5 -0
  395. package/dist/server/models/HealthDto.d.ts +4 -0
  396. package/dist/server/models/HealthDto.js +22 -0
  397. package/dist/server/models/NodeDto.d.ts +4 -0
  398. package/dist/server/models/NodeDto.js +22 -0
  399. package/dist/server/models/RuntimeConfiguration.d.ts +12 -0
  400. package/dist/server/models/RuntimeConfiguration.js +68 -0
  401. package/dist/server/models/ServerOptions.d.ts +4 -0
  402. package/dist/server/models/ServerOptions.js +25 -0
  403. package/dist/server/utils/DataConverter.d.ts +4 -0
  404. package/dist/server/utils/DataConverter.js +9 -0
  405. package/dist/server/utils/LocalFileManager.d.ts +20 -0
  406. package/dist/server/utils/LocalFileManager.js +73 -0
  407. package/dist/server/utils/RuntimeConfigurationLoader.d.ts +4 -0
  408. package/dist/server/utils/RuntimeConfigurationLoader.js +11 -0
  409. package/dist/server/utils/RuntimeConfigurator.d.ts +6 -0
  410. package/dist/server/utils/RuntimeConfigurator.js +130 -0
  411. package/dist/server/utils/ServerOptionsReader.d.ts +4 -0
  412. package/dist/server/utils/ServerOptionsReader.js +10 -0
  413. package/dist/server.d.ts +3 -0
  414. package/dist/server.js +8 -0
  415. package/jest.config.js +20 -0
  416. package/package.json +48 -0
  417. package/src/client.ts +18 -0
  418. package/src/core/ErrorManager.ts +18 -0
  419. package/src/core/Implementation.ts +53 -0
  420. package/src/core/Procedure.ts +98 -0
  421. package/src/core/Segment.ts +62 -0
  422. package/src/core/SegmentBuilder.ts +55 -0
  423. package/src/core/Version.ts +68 -0
  424. package/src/core/definitions/AccessLevel.ts +3 -0
  425. package/src/core/errors/ImplementationNotFound.ts +12 -0
  426. package/src/core/errors/InvalidVersionNumber.ts +12 -0
  427. package/src/core/errors/MissingParameterValue.ts +12 -0
  428. package/src/core/errors/NotImplemented.ts +12 -0
  429. package/src/core/errors/ProcedureNotFound.ts +12 -0
  430. package/src/core/interfaces/Runner.ts +7 -0
  431. package/src/core/reflection/ParameterParser.ts +74 -0
  432. package/src/core/reflection/ReflectionHelper.ts +118 -0
  433. package/src/core/reflection/models/ReflectionField.ts +22 -0
  434. package/src/core/reflection/models/ReflectionParameter.ts +18 -0
  435. package/src/core/types/Component.ts +8 -0
  436. package/src/core/types/FlexObject.ts +4 -0
  437. package/src/core/types/Module.ts +6 -0
  438. package/src/core/types/SegmentImplementation.ts +9 -0
  439. package/src/core/types/SegmentModule.ts +9 -0
  440. package/src/core/types/SegmentProcedure.ts +11 -0
  441. package/src/core/utils/FqnBuilder.ts +11 -0
  442. package/src/hooks.ts +2 -0
  443. package/src/lib.ts +7 -0
  444. package/src/runtime/Gateway.ts +18 -0
  445. package/src/runtime/LocalGateway.ts +93 -0
  446. package/src/runtime/LocalNode.ts +130 -0
  447. package/src/runtime/LocalRepository.ts +157 -0
  448. package/src/runtime/Node.ts +15 -0
  449. package/src/runtime/NodeBalancer.ts +61 -0
  450. package/src/runtime/NodeMonitor.ts +63 -0
  451. package/src/runtime/Proxy.ts +60 -0
  452. package/src/runtime/Remote.ts +157 -0
  453. package/src/runtime/RemoteGateway.ts +40 -0
  454. package/src/runtime/RemoteNode.ts +49 -0
  455. package/src/runtime/RemoteRepository.ts +60 -0
  456. package/src/runtime/Repository.ts +20 -0
  457. package/src/runtime/Runtime.ts +47 -0
  458. package/src/runtime/caching/CacheBuilder.ts +424 -0
  459. package/src/runtime/caching/ImportRewriter.ts +76 -0
  460. package/src/runtime/caching/RemoteBuilder.ts +51 -0
  461. package/src/runtime/caching/SourceAppender.ts +57 -0
  462. package/src/runtime/caching/definitions/Keywords.ts +3 -0
  463. package/src/runtime/caching/errors/InvalidSegmentFilename.ts +8 -0
  464. package/src/runtime/caching/errors/MissingModuleExport.ts +8 -0
  465. package/src/runtime/caching/errors/SegmentFileNotLoaded.ts +8 -0
  466. package/src/runtime/caching/errors/SegmentModuleNotLoaded.ts +8 -0
  467. package/src/runtime/caching/models/ApplicationModule.ts +30 -0
  468. package/src/runtime/caching/models/Implementation.ts +41 -0
  469. package/src/runtime/caching/models/Procedure.ts +26 -0
  470. package/src/runtime/caching/models/Segment.ts +28 -0
  471. package/src/runtime/caching/models/SegmentModule.ts +26 -0
  472. package/src/runtime/caching/types/SegmentFile.ts +6 -0
  473. package/src/runtime/caching/types/SegmentImportProperties.ts +9 -0
  474. package/src/runtime/caching/types/SegmentImports.ts +6 -0
  475. package/src/runtime/errors/ClientNotFound.ts +12 -0
  476. package/src/runtime/errors/FileNotFound.ts +12 -0
  477. package/src/runtime/errors/InvalidClientId.ts +12 -0
  478. package/src/runtime/errors/InvalidJitarHooks.ts +12 -0
  479. package/src/runtime/errors/InvalidSegmentFile.ts +12 -0
  480. package/src/runtime/errors/ModuleNotLoaded.ts +12 -0
  481. package/src/runtime/errors/NoNodeAvailable.ts +12 -0
  482. package/src/runtime/errors/RepositoryNotAvaiable.ts +12 -0
  483. package/src/runtime/errors/RuntimeNotAvailable.ts +12 -0
  484. package/src/runtime/errors/SegmentNotFound.ts +12 -0
  485. package/src/runtime/hooks/dependencies.ts +19 -0
  486. package/src/runtime/hooks/runtime.ts +25 -0
  487. package/src/runtime/interfaces/FileManager.ts +19 -0
  488. package/src/runtime/interfaces/HealthCheck.ts +5 -0
  489. package/src/runtime/interfaces/ProcedureContainer.ts +9 -0
  490. package/src/runtime/models/File.ts +22 -0
  491. package/src/runtime/serialization/ArraySerializer.ts +27 -0
  492. package/src/runtime/serialization/ClassSerializer.ts +105 -0
  493. package/src/runtime/serialization/MapSerializer.ts +44 -0
  494. package/src/runtime/serialization/ObjectSerializer.ts +42 -0
  495. package/src/runtime/serialization/SetSerializer.ts +31 -0
  496. package/src/runtime/serialization/ValueSerializer.ts +81 -0
  497. package/src/runtime/serialization/errors/ClassNotFound.ts +12 -0
  498. package/src/runtime/serialization/errors/InvalidClass.ts +12 -0
  499. package/src/runtime/serialization/interfaces/Serializer.ts +10 -0
  500. package/src/runtime/serialization/types/SerializableObject.ts +6 -0
  501. package/src/runtime/serialization/types/Serialized.ts +8 -0
  502. package/src/runtime/serialization/types/SerializedClass.ts +13 -0
  503. package/src/runtime/serialization/types/SerializedMap.ts +13 -0
  504. package/src/runtime/serialization/types/SerializedObject.ts +4 -0
  505. package/src/runtime/serialization/types/SerializedSet.ts +9 -0
  506. package/src/runtime/types/JitarHooks.ts +10 -0
  507. package/src/runtime/types/ModuleImporter.ts +6 -0
  508. package/src/runtime/utils/ModuleAnalyser.ts +60 -0
  509. package/src/runtime/utils/ModuleLoader.ts +51 -0
  510. package/src/runtime/utils/UrlRewriter.ts +59 -0
  511. package/src/server/JitarServer.ts +161 -0
  512. package/src/server/configuration/GatewayConfiguration.ts +9 -0
  513. package/src/server/configuration/NodeConfiguration.ts +15 -0
  514. package/src/server/configuration/ProxyConfiguration.ts +16 -0
  515. package/src/server/configuration/RepositoryConfiguration.ts +17 -0
  516. package/src/server/configuration/RuntimeConfiguration.ts +30 -0
  517. package/src/server/configuration/ServerOptions.ts +14 -0
  518. package/src/server/configuration/StandaloneConfiguration.ts +21 -0
  519. package/src/server/controllers/AssetsController.ts +59 -0
  520. package/src/server/controllers/HealthController.ts +41 -0
  521. package/src/server/controllers/JitarController.ts +18 -0
  522. package/src/server/controllers/ModulesController.ts +66 -0
  523. package/src/server/controllers/NodesController.ts +58 -0
  524. package/src/server/controllers/ProceduresController.ts +31 -0
  525. package/src/server/controllers/ProxyController.ts +38 -0
  526. package/src/server/controllers/RPCController.ts +173 -0
  527. package/src/server/definitions/RuntimeDefaults.ts +10 -0
  528. package/src/server/errors/MissingConfigurationValue.ts +8 -0
  529. package/src/server/errors/RuntimeNotAvaiable.ts +8 -0
  530. package/src/server/errors/UnknownRuntimeMode.ts +8 -0
  531. package/src/server/models/HealthDto.ts +11 -0
  532. package/src/server/models/NodeDto.ts +11 -0
  533. package/src/server/utils/DataConverter.ts +15 -0
  534. package/src/server/utils/LocalFileManager.ts +122 -0
  535. package/src/server/utils/RuntimeConfigurationLoader.ts +19 -0
  536. package/src/server/utils/RuntimeConfigurator.ts +207 -0
  537. package/src/server/utils/ServerOptionsReader.ts +17 -0
  538. package/src/server.ts +16 -0
  539. package/test/_fixtures/core/Implementation.fixture.ts +33 -0
  540. package/test/_fixtures/core/Procedure.fixture.ts +33 -0
  541. package/test/_fixtures/core/Segment.fixture.ts +36 -0
  542. package/test/_fixtures/core/SegmentBuilder.fixture.ts +45 -0
  543. package/test/_fixtures/core/Version.fixture.ts +18 -0
  544. package/test/_fixtures/core/reflection/ReflectionHelper.fixture.ts +56 -0
  545. package/test/_fixtures/runtime/LocalGateway.fixture.ts +24 -0
  546. package/test/_fixtures/runtime/LocalNode.fixture.ts +16 -0
  547. package/test/_fixtures/runtime/LocalRepository.fixture.ts +73 -0
  548. package/test/_fixtures/runtime/NodeBalancer.fixture.ts +19 -0
  549. package/test/_fixtures/runtime/NodeMonitor.fixture.ts +34 -0
  550. package/test/_fixtures/runtime/RemoteNode.fixture.ts +8 -0
  551. package/test/_fixtures/runtime/caching/ImportRewriter.fixture.ts +81 -0
  552. package/test/_fixtures/runtime/caching/RemoteBuilder.fixture.ts +50 -0
  553. package/test/_fixtures/runtime/caching/SourceAppender.fixture.ts +35 -0
  554. package/test/_fixtures/runtime/segments.ts +78 -0
  555. package/test/_fixtures/runtime/serialization/ValueSerializer.fixture.ts +134 -0
  556. package/test/_fixtures/runtime/utils/ModuleAnaliser.fixture.ts +26 -0
  557. package/test/core/Implementation.spec.ts +89 -0
  558. package/test/core/Procedure.spec.ts +108 -0
  559. package/test/core/Segment.spec.ts +74 -0
  560. package/test/core/SegmentBuilder.spec.ts +39 -0
  561. package/test/core/Version.spec.ts +103 -0
  562. package/test/core/errors/ErrorManager.spec.ts +32 -0
  563. package/test/core/reflection/ReflectionHelper.spec.ts +128 -0
  564. package/test/core/utils/FqnBuilder.spec.ts +22 -0
  565. package/test/runtime/LocalGateway.spec.ts +40 -0
  566. package/test/runtime/LocalNode.spec.ts +87 -0
  567. package/test/runtime/LocalRepository.spec.ts +50 -0
  568. package/test/runtime/NodeBalancer.spec.ts +39 -0
  569. package/test/runtime/NodeMonitor.spec.ts +31 -0
  570. package/test/runtime/RemoteNode.spec.ts +43 -0
  571. package/test/runtime/caching/ImportRewriter.spec.ts +68 -0
  572. package/test/runtime/caching/RemoteBuilder.spec.ts +21 -0
  573. package/test/runtime/caching/SourceAppender.spec.ts +31 -0
  574. package/test/runtime/serialization/ValueSerializer.spec.ts +203 -0
  575. package/test/runtime/utils/ModuleAnalyser.spec.ts +54 -0
  576. package/test/runtime/utils/UrlRewriter.spec.ts +57 -0
  577. package/tsconfig.json +23 -0
@@ -0,0 +1,166 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/runtime/serialization/ArraySerializer.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/serialization</a> ArraySerializer.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>27/27</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>4/4</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>2/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>27/27</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
94
+ <span class="cline-any cline-yes">1x</span>
95
+ <span class="cline-any cline-yes">1x</span>
96
+ <span class="cline-any cline-yes">1x</span>
97
+ <span class="cline-any cline-yes">1x</span>
98
+ <span class="cline-any cline-yes">1x</span>
99
+ <span class="cline-any cline-yes">1x</span>
100
+ <span class="cline-any cline-yes">4x</span>
101
+ <span class="cline-any cline-yes">4x</span>
102
+ <span class="cline-any cline-yes">4x</span>
103
+ <span class="cline-any cline-yes">4x</span>
104
+ <span class="cline-any cline-yes">4x</span>
105
+ <span class="cline-any cline-yes">9x</span>
106
+ <span class="cline-any cline-yes">9x</span>
107
+ <span class="cline-any cline-yes">4x</span>
108
+ <span class="cline-any cline-yes">4x</span>
109
+ <span class="cline-any cline-yes">4x</span>
110
+ <span class="cline-any cline-yes">1x</span>
111
+ <span class="cline-any cline-yes">1x</span>
112
+ <span class="cline-any cline-yes">4x</span>
113
+ <span class="cline-any cline-yes">4x</span>
114
+ <span class="cline-any cline-yes">4x</span>
115
+ <span class="cline-any cline-yes">1x</span>
116
+ <span class="cline-any cline-yes">1x</span>
117
+ <span class="cline-any cline-yes">1x</span>
118
+ <span class="cline-any cline-yes">1x</span>
119
+ <span class="cline-any cline-yes">1x</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">&nbsp;
121
+ import Serializer from './interfaces/Serializer.js';
122
+ import ValueSerializer from './ValueSerializer.js';
123
+ &nbsp;
124
+ class ArraySerializer implements Serializer
125
+ {
126
+ serialize(array: unknown[]): unknown[]
127
+ {
128
+ const values: unknown[] = [];
129
+ &nbsp;
130
+ for (const value of array)
131
+ {
132
+ values.push(ValueSerializer.serialize(value));
133
+ }
134
+ &nbsp;
135
+ return values;
136
+ }
137
+ &nbsp;
138
+ async deserialize(values: unknown[]): Promise&lt;unknown[]&gt;
139
+ {
140
+ return await Promise.all(values.map(async (value) =&gt; await ValueSerializer.deserialize(value)));
141
+ }
142
+ }
143
+ &nbsp;
144
+ const instance = new ArraySerializer();
145
+ &nbsp;
146
+ export default instance;
147
+ &nbsp;</pre></td></tr></table></pre>
148
+
149
+ <div class='push'></div><!-- for sticky footer -->
150
+ </div><!-- /wrapper -->
151
+ <div class='footer quiet pad2 space-top1 center small'>
152
+ Code coverage generated by
153
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
154
+ at 2022-10-21T18:41:25.688Z
155
+ </div>
156
+ <script src="../../../prettify.js"></script>
157
+ <script>
158
+ window.onload = function () {
159
+ prettyPrint();
160
+ };
161
+ </script>
162
+ <script src="../../../sorter.js"></script>
163
+ <script src="../../../block-navigation.js"></script>
164
+ </body>
165
+ </html>
166
+
@@ -0,0 +1,400 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/runtime/serialization/ClassSerializer.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/serialization</a> ClassSerializer.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>105/105</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">90.47% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>19/21</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>3/3</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>105/105</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
172
+ <span class="cline-any cline-yes">1x</span>
173
+ <span class="cline-any cline-yes">1x</span>
174
+ <span class="cline-any cline-yes">1x</span>
175
+ <span class="cline-any cline-yes">1x</span>
176
+ <span class="cline-any cline-yes">1x</span>
177
+ <span class="cline-any cline-yes">1x</span>
178
+ <span class="cline-any cline-yes">1x</span>
179
+ <span class="cline-any cline-yes">1x</span>
180
+ <span class="cline-any cline-yes">1x</span>
181
+ <span class="cline-any cline-yes">1x</span>
182
+ <span class="cline-any cline-yes">1x</span>
183
+ <span class="cline-any cline-yes">1x</span>
184
+ <span class="cline-any cline-yes">1x</span>
185
+ <span class="cline-any cline-yes">1x</span>
186
+ <span class="cline-any cline-yes">1x</span>
187
+ <span class="cline-any cline-yes">1x</span>
188
+ <span class="cline-any cline-yes">1x</span>
189
+ <span class="cline-any cline-yes">6x</span>
190
+ <span class="cline-any cline-yes">6x</span>
191
+ <span class="cline-any cline-yes">6x</span>
192
+ <span class="cline-any cline-yes">6x</span>
193
+ <span class="cline-any cline-yes">6x</span>
194
+ <span class="cline-any cline-yes">6x</span>
195
+ <span class="cline-any cline-yes">6x</span>
196
+ <span class="cline-any cline-yes">6x</span>
197
+ <span class="cline-any cline-yes">6x</span>
198
+ <span class="cline-any cline-yes">6x</span>
199
+ <span class="cline-any cline-yes">6x</span>
200
+ <span class="cline-any cline-yes">6x</span>
201
+ <span class="cline-any cline-yes">8x</span>
202
+ <span class="cline-any cline-yes">8x</span>
203
+ <span class="cline-any cline-yes">8x</span>
204
+ <span class="cline-any cline-yes">8x</span>
205
+ <span class="cline-any cline-yes">8x</span>
206
+ <span class="cline-any cline-yes">6x</span>
207
+ <span class="cline-any cline-yes">6x</span>
208
+ <span class="cline-any cline-yes">8x</span>
209
+ <span class="cline-any cline-yes">8x</span>
210
+ <span class="cline-any cline-yes">8x</span>
211
+ <span class="cline-any cline-yes">6x</span>
212
+ <span class="cline-any cline-yes">6x</span>
213
+ <span class="cline-any cline-yes">6x</span>
214
+ <span class="cline-any cline-yes">8x</span>
215
+ <span class="cline-any cline-yes">8x</span>
216
+ <span class="cline-any cline-yes">1x</span>
217
+ <span class="cline-any cline-yes">1x</span>
218
+ <span class="cline-any cline-yes">1x</span>
219
+ <span class="cline-any cline-yes">1x</span>
220
+ <span class="cline-any cline-yes">1x</span>
221
+ <span class="cline-any cline-yes">7x</span>
222
+ <span class="cline-any cline-yes">7x</span>
223
+ <span class="cline-any cline-yes">7x</span>
224
+ <span class="cline-any cline-yes">7x</span>
225
+ <span class="cline-any cline-yes">7x</span>
226
+ <span class="cline-any cline-yes">6x</span>
227
+ <span class="cline-any cline-yes">6x</span>
228
+ <span class="cline-any cline-yes">6x</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">7x</span>
232
+ <span class="cline-any cline-yes">7x</span>
233
+ <span class="cline-any cline-yes">7x</span>
234
+ <span class="cline-any cline-yes">7x</span>
235
+ <span class="cline-any cline-yes">7x</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">6x</span>
239
+ <span class="cline-any cline-yes">6x</span>
240
+ <span class="cline-any cline-yes">7x</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">5x</span>
244
+ <span class="cline-any cline-yes">5x</span>
245
+ <span class="cline-any cline-yes">5x</span>
246
+ <span class="cline-any cline-yes">5x</span>
247
+ <span class="cline-any cline-yes">5x</span>
248
+ <span class="cline-any cline-yes">5x</span>
249
+ <span class="cline-any cline-yes">7x</span>
250
+ <span class="cline-any cline-yes">6x</span>
251
+ <span class="cline-any cline-yes">6x</span>
252
+ <span class="cline-any cline-yes">6x</span>
253
+ <span class="cline-any cline-yes">6x</span>
254
+ <span class="cline-any cline-yes">5x</span>
255
+ <span class="cline-any cline-yes">5x</span>
256
+ <span class="cline-any cline-yes">5x</span>
257
+ <span class="cline-any cline-yes">1x</span>
258
+ <span class="cline-any cline-yes">1x</span>
259
+ <span class="cline-any cline-yes">7x</span>
260
+ <span class="cline-any cline-yes">7x</span>
261
+ <span class="cline-any cline-yes">7x</span>
262
+ <span class="cline-any cline-yes">3x</span>
263
+ <span class="cline-any cline-yes">3x</span>
264
+ <span class="cline-any cline-yes">3x</span>
265
+ <span class="cline-any cline-yes">3x</span>
266
+ <span class="cline-any cline-yes">4x</span>
267
+ <span class="cline-any cline-yes">4x</span>
268
+ <span class="cline-any cline-yes">4x</span>
269
+ <span class="cline-any cline-yes">7x</span>
270
+ <span class="cline-any cline-yes">7x</span>
271
+ <span class="cline-any cline-yes">1x</span>
272
+ <span class="cline-any cline-yes">1x</span>
273
+ <span class="cline-any cline-yes">1x</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-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">&nbsp;
277
+ import ReflectionHelper from '../../core/reflection/ReflectionHelper.js';
278
+ import Component from '../../core/types/Component.js';
279
+ import FlexObject from '../../core/types/FlexObject.js';
280
+ import Module from '../../core/types/Module.js';
281
+ &nbsp;
282
+ import ModuleLoader from '../utils/ModuleLoader.js';
283
+ import ClassNotFound from './errors/ClassNotFound.js';
284
+ import InvalidClass from './errors/InvalidClass.js';
285
+ &nbsp;
286
+ import Serializer from './interfaces/Serializer.js';
287
+ import SerializableObject from './types/SerializableObject.js';
288
+ import SerializedClass from './types/SerializedClass.js';
289
+ import ValueSerializer from './ValueSerializer.js';
290
+ &nbsp;
291
+ class ClassSerializer implements Serializer
292
+ {
293
+ serialize(object: SerializableObject): SerializedClass
294
+ {
295
+ const clazz = ReflectionHelper.getObjectClass(object);
296
+ const classFields = ReflectionHelper.getObjectFields(object);
297
+ const constructParameters = ReflectionHelper.getConstructorParameters(clazz);
298
+ &nbsp;
299
+ const name = clazz.name;
300
+ const source = (clazz as Component).source || null;
301
+ const args: unknown[] = [];
302
+ const fields: FlexObject = {};
303
+ &nbsp;
304
+ for (const parameter of constructParameters)
305
+ {
306
+ const objectValue = object[parameter.name];
307
+ const classFieldIndex = classFields.findIndex(field =&gt; field.name === parameter.name);
308
+ &nbsp;
309
+ if (classFieldIndex !== -1)
310
+ {
311
+ classFields.splice(classFieldIndex, 1);
312
+ }
313
+ &nbsp;
314
+ args.push(ValueSerializer.serialize(objectValue));
315
+ }
316
+ &nbsp;
317
+ for (const field of classFields)
318
+ {
319
+ if (field.canGetAndSet === false)
320
+ {
321
+ // Fields that can't be accessed or updated are ignored.
322
+ // This is to prevent the serialization of fields that are only used for internal purposes.
323
+ &nbsp;
324
+ continue;
325
+ }
326
+ &nbsp;
327
+ const objectValue = object[field.name];
328
+ &nbsp;
329
+ fields[field.name] = ValueSerializer.serialize(objectValue);
330
+ }
331
+ &nbsp;
332
+ return { serialized: true, name: name, source: source, args: args, fields: fields };
333
+ }
334
+ &nbsp;
335
+ async deserialize(object: SerializedClass): Promise&lt;SerializableObject&gt;
336
+ {
337
+ const clazz = await this.#loadClass(object.source, object.name);
338
+ &nbsp;
339
+ if (clazz === undefined)
340
+ {
341
+ throw new ClassNotFound(object.name);
342
+ }
343
+ &nbsp;
344
+ if ((clazz instanceof Function) === false)
345
+ {
346
+ throw new InvalidClass(object.name);
347
+ }
348
+ &nbsp;
349
+ const args = await Promise.all(object.args.map(async (value) =&gt; await ValueSerializer.deserialize(value)));
350
+ &nbsp;
351
+ const instance = ReflectionHelper.createInstance(clazz as Function, args) as SerializableObject;
352
+ &nbsp;
353
+ for (const name in object.fields)
354
+ {
355
+ const fieldValue = object.fields[name];
356
+ &nbsp;
357
+ instance[name] = await ValueSerializer.deserialize(fieldValue);
358
+ }
359
+ &nbsp;
360
+ return instance;
361
+ }
362
+ &nbsp;
363
+ async #loadClass(source: string | null, name: string): Promise&lt;unknown&gt;
364
+ {
365
+ if (source === null)
366
+ {
367
+ const system: unknown = typeof window !== 'undefined' <span class="branch-0 cbranch-no" title="branch not covered" >? window </span>: global;
368
+ &nbsp;
369
+ return (system as Module)[name];
370
+ }
371
+ &nbsp;
372
+ const module = await ModuleLoader.load(source);
373
+ &nbsp;
374
+ return module[name]<span class="branch-0 cbranch-no" title="branch not covered" > ?? module.default;</span>
375
+ }
376
+ }
377
+ &nbsp;
378
+ const instance = new ClassSerializer();
379
+ &nbsp;
380
+ export default instance;
381
+ &nbsp;</pre></td></tr></table></pre>
382
+
383
+ <div class='push'></div><!-- for sticky footer -->
384
+ </div><!-- /wrapper -->
385
+ <div class='footer quiet pad2 space-top1 center small'>
386
+ Code coverage generated by
387
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
388
+ at 2022-10-21T18:41:25.688Z
389
+ </div>
390
+ <script src="../../../prettify.js"></script>
391
+ <script>
392
+ window.onload = function () {
393
+ prettyPrint();
394
+ };
395
+ </script>
396
+ <script src="../../../sorter.js"></script>
397
+ <script src="../../../block-navigation.js"></script>
398
+ </body>
399
+ </html>
400
+