@magic-xpa/engine 4.1100.0-dev4110.106 → 4.1100.0-dev4110.108

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 (382) hide show
  1. package/README.md +7 -7
  2. package/esm2020/index.mjs +188 -2
  3. package/esm2020/src/AccessHelper.mjs +9 -0
  4. package/esm2020/src/ClientManager.mjs +399 -0
  5. package/esm2020/src/CommandsProcessorBase.mjs +58 -0
  6. package/esm2020/src/CommandsProcessorManager.mjs +26 -0
  7. package/esm2020/src/CommandsTable.mjs +162 -0
  8. package/esm2020/src/ConstInterface.mjs +516 -0
  9. package/esm2020/src/CurrentClientVersion.mjs +2 -0
  10. package/esm2020/src/FlowMonitorInterface.mjs +16 -0
  11. package/esm2020/src/GUIManager.mjs +62 -0
  12. package/esm2020/src/GlobalCommandsManager.mjs +34 -0
  13. package/esm2020/src/GuiEventsProcessor.mjs +154 -0
  14. package/esm2020/src/ICommandsTable.mjs +2 -0
  15. package/esm2020/src/ServerConfig.mjs +117 -0
  16. package/esm2020/src/bridge/IGuiEvent.mjs +20 -0
  17. package/esm2020/src/bridge/MagicBridge.mjs +41 -0
  18. package/esm2020/src/commands/ClientOriginatedCommandTaskTag.mjs +11 -0
  19. package/esm2020/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs +9 -0
  20. package/esm2020/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs +9 -0
  21. package/esm2020/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs +9 -0
  22. package/esm2020/src/commands/ClientToServer/BrowserEscEventCommand.mjs +23 -0
  23. package/esm2020/src/commands/ClientToServer/ClientOriginatedCommand.mjs +15 -0
  24. package/esm2020/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +60 -0
  25. package/esm2020/src/commands/ClientToServer/ColumnSortEventCommand.mjs +26 -0
  26. package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +260 -0
  27. package/esm2020/src/commands/ClientToServer/CommandSerializationHelper.mjs +69 -0
  28. package/esm2020/src/commands/ClientToServer/ComputeEventCommand.mjs +23 -0
  29. package/esm2020/src/commands/ClientToServer/ContextTerminationEventCommand.mjs +21 -0
  30. package/esm2020/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs +20 -0
  31. package/esm2020/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs +8 -0
  32. package/esm2020/src/commands/ClientToServer/DataViewOutputCommand.mjs +13 -0
  33. package/esm2020/src/commands/ClientToServer/DataviewCommand.mjs +44 -0
  34. package/esm2020/src/commands/ClientToServer/EvaluateCommand.mjs +36 -0
  35. package/esm2020/src/commands/ClientToServer/EventCommand.mjs +40 -0
  36. package/esm2020/src/commands/ClientToServer/ExecOperCommand.mjs +67 -0
  37. package/esm2020/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +22 -0
  38. package/esm2020/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs +11 -0
  39. package/esm2020/src/commands/ClientToServer/ICommandTaskTag.mjs +2 -0
  40. package/esm2020/src/commands/ClientToServer/IndexChangeEventCommand.mjs +21 -0
  41. package/esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs +23 -0
  42. package/esm2020/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs +23 -0
  43. package/esm2020/src/commands/ClientToServer/QueryCommand.mjs +21 -0
  44. package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +27 -0
  45. package/esm2020/src/commands/ClientToServer/RefreshEventCommand.mjs +27 -0
  46. package/esm2020/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +24 -0
  47. package/esm2020/src/commands/ClientToServer/RollbackEventCommand.mjs +39 -0
  48. package/esm2020/src/commands/ClientToServer/SelectProgramCommand.mjs +15 -0
  49. package/esm2020/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs +9 -0
  50. package/esm2020/src/commands/ClientToServer/SubformOpenEventCommand.mjs +21 -0
  51. package/esm2020/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +24 -0
  52. package/esm2020/src/commands/ClientToServer/TransactionCommand.mjs +28 -0
  53. package/esm2020/src/commands/ClientToServer/UnloadCommand.mjs +15 -0
  54. package/esm2020/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +18 -0
  55. package/esm2020/src/commands/DataViewCommandBase.mjs +10 -0
  56. package/esm2020/src/commands/IClientCommand.mjs +2 -0
  57. package/esm2020/src/commands/IClientTargetedCommand.mjs +9 -0
  58. package/esm2020/src/commands/IClientToServerCommandInfo.mjs +2 -0
  59. package/esm2020/src/commands/ServerToClient/AbortCommand.mjs +65 -0
  60. package/esm2020/src/commands/ServerToClient/AddLocateCommand.mjs +22 -0
  61. package/esm2020/src/commands/ServerToClient/AddRangeCommand.mjs +62 -0
  62. package/esm2020/src/commands/ServerToClient/AddSortCommand.mjs +33 -0
  63. package/esm2020/src/commands/ServerToClient/ClientRefreshCommand.mjs +25 -0
  64. package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +27 -0
  65. package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +45 -0
  66. package/esm2020/src/commands/ServerToClient/OpenURLCommand.mjs +221 -0
  67. package/esm2020/src/commands/ServerToClient/ResetLocateCommand.mjs +15 -0
  68. package/esm2020/src/commands/ServerToClient/ResetRangeCommand.mjs +15 -0
  69. package/esm2020/src/commands/ServerToClient/ResetSortCommand.mjs +15 -0
  70. package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +37 -0
  71. package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +83 -0
  72. package/esm2020/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +132 -0
  73. package/esm2020/src/communications/IConnectionStateManager.mjs +2 -0
  74. package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +17 -0
  75. package/esm2020/src/data/DataSourceIdKey.mjs +3 -0
  76. package/esm2020/src/data/DataView.mjs +1610 -0
  77. package/esm2020/src/data/DataViewBase.mjs +4 -0
  78. package/esm2020/src/data/DataviewManager.mjs +28 -0
  79. package/esm2020/src/data/DataviewManagerBase.mjs +15 -0
  80. package/esm2020/src/data/DvCache.mjs +67 -0
  81. package/esm2020/src/data/Field.mjs +646 -0
  82. package/esm2020/src/data/FieldBase.mjs +18 -0
  83. package/esm2020/src/data/FieldsTable.mjs +103 -0
  84. package/esm2020/src/data/IRecordsTable.mjs +2 -0
  85. package/esm2020/src/data/Key.mjs +88 -0
  86. package/esm2020/src/data/Record.mjs +846 -0
  87. package/esm2020/src/data/RecordOutOfDataViewException.mjs +16 -0
  88. package/esm2020/src/data/RecordsTable.mjs +267 -0
  89. package/esm2020/src/data/TaskTransactionManager.mjs +103 -0
  90. package/esm2020/src/data/XMLBasedDcValuesBuilder.mjs +74 -0
  91. package/esm2020/src/enums.mjs +24 -0
  92. package/esm2020/src/env/EnvVariablesTable.mjs +340 -0
  93. package/esm2020/src/env/Environment.mjs +489 -0
  94. package/esm2020/src/env/ILanguageData.mjs +2 -0
  95. package/esm2020/src/env/LanguageData.mjs +226 -0
  96. package/esm2020/src/env/MirrorString.mjs +65 -0
  97. package/esm2020/src/event/ActionManager.mjs +91 -0
  98. package/esm2020/src/event/Event.mjs +1333 -0
  99. package/esm2020/src/event/EventHandler.mjs +766 -0
  100. package/esm2020/src/event/EventHandlerPosition.mjs +204 -0
  101. package/esm2020/src/event/EventsManager.mjs +2975 -0
  102. package/esm2020/src/event/IEventsManager.mjs +7 -0
  103. package/esm2020/src/event/RunTimeEvent.mjs +392 -0
  104. package/esm2020/src/event/RunTimeEventBase.mjs +4 -0
  105. package/esm2020/src/event/UserEventsTable.mjs +47 -0
  106. package/esm2020/src/exp/ExpTable.mjs +59 -0
  107. package/esm2020/src/exp/Expression.mjs +200 -0
  108. package/esm2020/src/exp/ExpressionDict.mjs +727 -0
  109. package/esm2020/src/exp/ExpressionEvaluator.mjs +4208 -0
  110. package/esm2020/src/exp/ExpressionLocalJpn.mjs +314 -0
  111. package/esm2020/src/exp/GlobalParamsTable.mjs +85 -0
  112. package/esm2020/src/exp/YesNoExp.mjs +36 -0
  113. package/esm2020/src/gui/CreatedFormVector.mjs +23 -0
  114. package/esm2020/src/gui/FormsTable.mjs +66 -0
  115. package/esm2020/src/gui/MgControl.mjs +353 -0
  116. package/esm2020/src/gui/MgForm.mjs +1181 -0
  117. package/esm2020/src/http/HttpManager.mjs +97 -0
  118. package/esm2020/src/http/client/HttpClientAsync.mjs +67 -0
  119. package/esm2020/src/http/client/HttpClientBase.mjs +132 -0
  120. package/esm2020/src/http/client/HttpClientEvents.mjs +39 -0
  121. package/esm2020/src/http/client/HttpClientSync.mjs +42 -0
  122. package/esm2020/src/http/client/HttpUtility.mjs +84 -0
  123. package/esm2020/src/http/client/ICommunicationsFailureHandler.mjs +2 -0
  124. package/esm2020/src/remote/AddUserLocateRemoteDataViewCommand.mjs +18 -0
  125. package/esm2020/src/remote/AddUserRangeRemoteDataViewCommand.mjs +18 -0
  126. package/esm2020/src/remote/AddUserSortRemoteDataViewCommand.mjs +18 -0
  127. package/esm2020/src/remote/RemoteCommandsProcessor.mjs +880 -0
  128. package/esm2020/src/remote/RemoteControlItemsRefreshCommand.mjs +25 -0
  129. package/esm2020/src/remote/RemoteDataViewCommandBase.mjs +24 -0
  130. package/esm2020/src/remote/RemoteDataViewCommandFactory.mjs +61 -0
  131. package/esm2020/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +16 -0
  132. package/esm2020/src/remote/RemoteDataviewManager.mjs +17 -0
  133. package/esm2020/src/remote/RemoteInitDataViewCommand.mjs +11 -0
  134. package/esm2020/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +17 -0
  135. package/esm2020/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +13 -0
  136. package/esm2020/src/remote/ResetUserSortRemoteDataviewCommand.mjs +16 -0
  137. package/esm2020/src/remote/ServerError.mjs +40 -0
  138. package/esm2020/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +20 -0
  139. package/esm2020/src/rt/Argument.mjs +265 -0
  140. package/esm2020/src/rt/ArgumentsList.mjs +103 -0
  141. package/esm2020/src/rt/Boundary.mjs +152 -0
  142. package/esm2020/src/rt/CompMainPrgTable.mjs +65 -0
  143. package/esm2020/src/rt/DataviewHeaderBase.mjs +96 -0
  144. package/esm2020/src/rt/DataviewHeaderFactory.mjs +7 -0
  145. package/esm2020/src/rt/DataviewHeaders.mjs +53 -0
  146. package/esm2020/src/rt/DataviewHeadersSaxHandler.mjs +38 -0
  147. package/esm2020/src/rt/ExecutionStack.mjs +94 -0
  148. package/esm2020/src/rt/ExecutionStackEntry.mjs +17 -0
  149. package/esm2020/src/rt/HandlersTable.mjs +96 -0
  150. package/esm2020/src/rt/IDataSourceViewDefinition.mjs +2 -0
  151. package/esm2020/src/rt/IDataviewHeader.mjs +2 -0
  152. package/esm2020/src/rt/IResultValue.mjs +2 -0
  153. package/esm2020/src/rt/LastFocusedManager.mjs +67 -0
  154. package/esm2020/src/rt/Operation.mjs +735 -0
  155. package/esm2020/src/rt/OperationTable.mjs +67 -0
  156. package/esm2020/src/rt/Recompute.mjs +355 -0
  157. package/esm2020/src/rt/RecomputeTable.mjs +63 -0
  158. package/esm2020/src/rt/RemoteDataviewHeader.mjs +108 -0
  159. package/esm2020/src/rt/ResultValue.mjs +12 -0
  160. package/esm2020/src/rt/TableCache.mjs +177 -0
  161. package/esm2020/src/rt/TableCacheManager.mjs +67 -0
  162. package/esm2020/src/rt/Transaction.mjs +53 -0
  163. package/esm2020/src/security/UserDetails.mjs +71 -0
  164. package/esm2020/src/tasks/IMGDataCollection.mjs +2 -0
  165. package/esm2020/src/tasks/MGData.mjs +552 -0
  166. package/esm2020/src/tasks/MGDataCollection.mjs +252 -0
  167. package/esm2020/src/tasks/RCTimer.mjs +63 -0
  168. package/esm2020/src/tasks/RemoteTaskService.mjs +45 -0
  169. package/esm2020/src/tasks/Task.mjs +2496 -0
  170. package/esm2020/src/tasks/TaskBase.mjs +87 -0
  171. package/esm2020/src/tasks/TaskServiceBase.mjs +25 -0
  172. package/esm2020/src/tasks/TasksTable.mjs +80 -0
  173. package/esm2020/src/tasks/sort/Sort.mjs +7 -0
  174. package/esm2020/src/tasks/sort/SortCollection.mjs +67 -0
  175. package/esm2020/src/util/ConstUtils.mjs +14 -0
  176. package/esm2020/src/util/FlowMonitorQueue.mjs +453 -0
  177. package/esm2020/src/util/HeapSort.mjs +70 -0
  178. package/esm2020/src/util/IMirrorXML.mjs +2 -0
  179. package/esm2020/src/util/IServerConfig.mjs +2 -0
  180. package/esm2020/src/util/MgBlockingQueue.mjs +2 -0
  181. package/esm2020/src/util/MgPriorityBlockingQueue.mjs +74 -0
  182. package/esm2020/src/util/MgPriorityQueue.mjs +66 -0
  183. package/esm2020/src/util/ParamParseResult.mjs +8 -0
  184. package/esm2020/src/util/PrmMap.mjs +151 -0
  185. package/esm2020/src/util/ReturnResult.mjs +46 -0
  186. package/esm2020/src/util/ReturnResultBase.mjs +18 -0
  187. package/esm2020/src/util/Scrambler.mjs +89 -0
  188. package/esm2020/src/util/UniqueIDUtils.mjs +12 -0
  189. package/esm2020/src/util/cookie.service.mjs +92 -0
  190. package/fesm2015/magic-xpa-engine.mjs +30835 -0
  191. package/fesm2015/magic-xpa-engine.mjs.map +1 -1
  192. package/fesm2020/magic-xpa-engine.mjs +30004 -0
  193. package/fesm2020/magic-xpa-engine.mjs.map +1 -1
  194. package/index.d.ts +187 -1
  195. package/package.json +4 -4
  196. package/src/AccessHelper.d.ts +20 -0
  197. package/src/ClientManager.d.ts +32 -0
  198. package/src/CommandsProcessorBase.d.ts +23 -0
  199. package/src/CommandsProcessorManager.d.ts +6 -0
  200. package/src/CommandsTable.d.ts +22 -0
  201. package/src/ConstInterface.d.ts +515 -0
  202. package/src/CurrentClientVersion.d.ts +1 -0
  203. package/src/FlowMonitorInterface.d.ts +15 -0
  204. package/src/GUIManager.d.ts +17 -0
  205. package/src/GlobalCommandsManager.d.ts +17 -0
  206. package/src/GuiEventsProcessor.d.ts +24 -0
  207. package/src/ICommandsTable.d.ts +9 -0
  208. package/src/ServerConfig.d.ts +34 -0
  209. package/src/bridge/IGuiEvent.d.ts +19 -0
  210. package/src/bridge/MagicBridge.d.ts +16 -0
  211. package/src/commands/ClientOriginatedCommandTaskTag.d.ts +8 -0
  212. package/src/commands/ClientToServer/AddUserLocateDataViewCommand.d.ts +4 -0
  213. package/src/commands/ClientToServer/AddUserRangeDataviewCommand.d.ts +6 -0
  214. package/src/commands/ClientToServer/AddUserSortDataViewCommand.d.ts +6 -0
  215. package/src/commands/ClientToServer/BrowserEscEventCommand.d.ts +8 -0
  216. package/src/commands/ClientToServer/ClientOriginatedCommand.d.ts +8 -0
  217. package/src/commands/ClientToServer/ClientOriginatedCommandSerializer.d.ts +6 -0
  218. package/src/commands/ClientToServer/ColumnSortEventCommand.d.ts +10 -0
  219. package/src/commands/ClientToServer/CommandFactory.d.ts +64 -0
  220. package/src/commands/ClientToServer/CommandSerializationHelper.d.ts +20 -0
  221. package/src/commands/ClientToServer/ComputeEventCommand.d.ts +8 -0
  222. package/src/commands/ClientToServer/ContextTerminationEventCommand.d.ts +7 -0
  223. package/src/commands/ClientToServer/ContextTimeoutResetCommand.d.ts +7 -0
  224. package/src/commands/ClientToServer/ControlItemsRefreshCommand.d.ts +6 -0
  225. package/src/commands/ClientToServer/DataViewOutputCommand.d.ts +9 -0
  226. package/src/commands/ClientToServer/DataviewCommand.d.ts +32 -0
  227. package/src/commands/ClientToServer/EvaluateCommand.d.ts +15 -0
  228. package/src/commands/ClientToServer/EventCommand.d.ts +15 -0
  229. package/src/commands/ClientToServer/ExecOperCommand.d.ts +23 -0
  230. package/src/commands/ClientToServer/FetchDataControlValuesEventCommand.d.ts +8 -0
  231. package/src/commands/ClientToServer/GlobalParamsQueryCommand.d.ts +5 -0
  232. package/src/commands/ClientToServer/ICommandTaskTag.d.ts +3 -0
  233. package/src/commands/ClientToServer/IndexChangeEventCommand.d.ts +8 -0
  234. package/src/commands/ClientToServer/IniputForceWriteCommand.d.ts +10 -0
  235. package/src/commands/ClientToServer/NonReversibleExitEventCommand.d.ts +8 -0
  236. package/src/commands/ClientToServer/QueryCommand.d.ts +8 -0
  237. package/src/commands/ClientToServer/RecomputeCommand.d.ts +11 -0
  238. package/src/commands/ClientToServer/RefreshEventCommand.d.ts +12 -0
  239. package/src/commands/ClientToServer/RefreshScreenEventCommand.d.ts +10 -0
  240. package/src/commands/ClientToServer/RollbackEventCommand.d.ts +14 -0
  241. package/src/commands/ClientToServer/SelectProgramCommand.d.ts +6 -0
  242. package/src/commands/ClientToServer/SetTransactionStateDataviewCommand.d.ts +5 -0
  243. package/src/commands/ClientToServer/SubformOpenEventCommand.d.ts +8 -0
  244. package/src/commands/ClientToServer/SubformRefreshEventCommand.d.ts +9 -0
  245. package/src/commands/ClientToServer/TransactionCommand.d.ts +12 -0
  246. package/src/commands/ClientToServer/UnloadCommand.d.ts +7 -0
  247. package/src/commands/ClientToServer/WriteMessageToServerLogCommand.d.ts +6 -0
  248. package/src/commands/DataViewCommandBase.d.ts +6 -0
  249. package/src/commands/IClientCommand.d.ts +2 -0
  250. package/src/commands/IClientTargetedCommand.d.ts +12 -0
  251. package/src/commands/IClientToServerCommandInfo.d.ts +3 -0
  252. package/src/commands/ServerToClient/AbortCommand.d.ts +11 -0
  253. package/src/commands/ServerToClient/AddLocateCommand.d.ts +6 -0
  254. package/src/commands/ServerToClient/AddRangeCommand.d.ts +10 -0
  255. package/src/commands/ServerToClient/AddSortCommand.d.ts +9 -0
  256. package/src/commands/ServerToClient/ClientRefreshCommand.d.ts +7 -0
  257. package/src/commands/ServerToClient/ClientTargetedCommandBase.d.ts +12 -0
  258. package/src/commands/ServerToClient/EnhancedVerifyCommand.d.ts +13 -0
  259. package/src/commands/ServerToClient/OpenURLCommand.d.ts +21 -0
  260. package/src/commands/ServerToClient/ResetLocateCommand.d.ts +6 -0
  261. package/src/commands/ServerToClient/ResetRangeCommand.d.ts +6 -0
  262. package/src/commands/ServerToClient/ResetSortCommand.d.ts +6 -0
  263. package/src/commands/ServerToClient/ResultCommand.d.ts +10 -0
  264. package/src/commands/ServerToClient/VerifyCommand.d.ts +17 -0
  265. package/src/commands/ServerToClient/XMLBasedCommandBuilder.d.ts +11 -0
  266. package/src/communications/IConnectionStateManager.d.ts +4 -0
  267. package/src/communications/InteractiveCommunicationsFailureHandler.d.ts +6 -0
  268. package/src/data/DataSourceIdKey.d.ts +2 -0
  269. package/src/data/DataView.d.ts +162 -0
  270. package/src/data/DataViewBase.d.ts +12 -0
  271. package/src/data/DataviewManager.d.ts +14 -0
  272. package/src/data/DataviewManagerBase.d.ts +11 -0
  273. package/src/data/DvCache.d.ts +15 -0
  274. package/src/data/Field.d.ts +103 -0
  275. package/src/data/FieldBase.d.ts +23 -0
  276. package/src/data/FieldsTable.d.ts +27 -0
  277. package/src/data/IRecordsTable.d.ts +7 -0
  278. package/src/data/Key.d.ts +15 -0
  279. package/src/data/Record.d.ts +156 -0
  280. package/src/data/RecordOutOfDataViewException.d.ts +10 -0
  281. package/src/data/RecordsTable.d.ts +38 -0
  282. package/src/data/TaskTransactionManager.d.ts +17 -0
  283. package/src/data/XMLBasedDcValuesBuilder.d.ts +11 -0
  284. package/src/enums.d.ts +21 -0
  285. package/src/env/EnvVariablesTable.d.ts +17 -0
  286. package/src/env/Environment.d.ts +118 -0
  287. package/src/env/ILanguageData.d.ts +3 -0
  288. package/src/env/LanguageData.d.ts +20 -0
  289. package/src/env/MirrorString.d.ts +15 -0
  290. package/src/event/ActionManager.d.ts +14 -0
  291. package/src/event/Event.d.ts +79 -0
  292. package/src/event/EventHandler.d.ts +66 -0
  293. package/src/event/EventHandlerPosition.d.ts +25 -0
  294. package/src/event/EventsManager.d.ts +204 -0
  295. package/src/event/IEventsManager.d.ts +77 -0
  296. package/src/event/RunTimeEvent.d.ts +123 -0
  297. package/src/event/RunTimeEventBase.d.ts +5 -0
  298. package/src/event/UserEventsTable.d.ts +11 -0
  299. package/src/exp/ExpTable.d.ts +11 -0
  300. package/src/exp/Expression.d.ts +37 -0
  301. package/src/exp/ExpressionDict.d.ts +12 -0
  302. package/src/exp/ExpressionEvaluator.d.ts +198 -0
  303. package/src/exp/ExpressionLocalJpn.d.ts +18 -0
  304. package/src/exp/GlobalParamsTable.d.ts +19 -0
  305. package/src/exp/YesNoExp.d.ts +9 -0
  306. package/src/gui/CreatedFormVector.d.ts +10 -0
  307. package/src/gui/FormsTable.d.ts +15 -0
  308. package/src/gui/MgControl.d.ts +60 -0
  309. package/src/gui/MgForm.d.ts +93 -0
  310. package/src/http/HttpManager.d.ts +25 -0
  311. package/src/http/client/HttpClientAsync.d.ts +16 -0
  312. package/src/http/client/HttpClientBase.d.ts +30 -0
  313. package/src/http/client/HttpClientEvents.d.ts +18 -0
  314. package/src/http/client/HttpClientSync.d.ts +17 -0
  315. package/src/http/client/HttpUtility.d.ts +10 -0
  316. package/src/http/client/ICommunicationsFailureHandler.d.ts +5 -0
  317. package/src/remote/AddUserLocateRemoteDataViewCommand.d.ts +8 -0
  318. package/src/remote/AddUserRangeRemoteDataViewCommand.d.ts +8 -0
  319. package/src/remote/AddUserSortRemoteDataViewCommand.d.ts +8 -0
  320. package/src/remote/RemoteCommandsProcessor.d.ts +51 -0
  321. package/src/remote/RemoteControlItemsRefreshCommand.d.ts +8 -0
  322. package/src/remote/RemoteDataViewCommandBase.d.ts +10 -0
  323. package/src/remote/RemoteDataViewCommandFactory.d.ts +6 -0
  324. package/src/remote/RemoteDataViewCommandUpdateNonModifiable.d.ts +8 -0
  325. package/src/remote/RemoteDataviewManager.d.ts +9 -0
  326. package/src/remote/RemoteInitDataViewCommand.d.ts +7 -0
  327. package/src/remote/ResetUserLocateRemoteDataviewCommand.d.ts +7 -0
  328. package/src/remote/ResetUserRangeRemoteDataviewCommand.d.ts +7 -0
  329. package/src/remote/ResetUserSortRemoteDataviewCommand.d.ts +7 -0
  330. package/src/remote/ServerError.d.ts +16 -0
  331. package/src/remote/SetTransactionStateRemoteDataViewCommand.d.ts +8 -0
  332. package/src/rt/Argument.d.ts +36 -0
  333. package/src/rt/ArgumentsList.d.ts +24 -0
  334. package/src/rt/Boundary.d.ts +27 -0
  335. package/src/rt/CompMainPrgTable.d.ts +10 -0
  336. package/src/rt/DataviewHeaderBase.d.ts +34 -0
  337. package/src/rt/DataviewHeaderFactory.d.ts +5 -0
  338. package/src/rt/DataviewHeaders.d.ts +12 -0
  339. package/src/rt/DataviewHeadersSaxHandler.d.ts +10 -0
  340. package/src/rt/ExecutionStack.d.ts +22 -0
  341. package/src/rt/ExecutionStackEntry.d.ts +7 -0
  342. package/src/rt/HandlersTable.d.ts +19 -0
  343. package/src/rt/IDataSourceViewDefinition.d.ts +6 -0
  344. package/src/rt/IDataviewHeader.d.ts +10 -0
  345. package/src/rt/IResultValue.d.ts +4 -0
  346. package/src/rt/LastFocusedManager.d.ts +23 -0
  347. package/src/rt/Operation.d.ts +97 -0
  348. package/src/rt/OperationTable.d.ts +15 -0
  349. package/src/rt/Recompute.d.ts +41 -0
  350. package/src/rt/RecomputeTable.d.ts +9 -0
  351. package/src/rt/RemoteDataviewHeader.d.ts +14 -0
  352. package/src/rt/ResultValue.d.ts +7 -0
  353. package/src/rt/TableCache.d.ts +29 -0
  354. package/src/rt/TableCacheManager.d.ts +10 -0
  355. package/src/rt/Transaction.d.ts +23 -0
  356. package/src/security/UserDetails.d.ts +16 -0
  357. package/src/tasks/IMGDataCollection.d.ts +26 -0
  358. package/src/tasks/MGData.d.ts +63 -0
  359. package/src/tasks/MGDataCollection.d.ts +42 -0
  360. package/src/tasks/RCTimer.d.ts +13 -0
  361. package/src/tasks/RemoteTaskService.d.ts +16 -0
  362. package/src/tasks/Task.d.ts +312 -0
  363. package/src/tasks/TaskBase.d.ts +123 -0
  364. package/src/tasks/TaskServiceBase.d.ts +16 -0
  365. package/src/tasks/TasksTable.d.ts +21 -0
  366. package/src/tasks/sort/Sort.d.ts +4 -0
  367. package/src/tasks/sort/SortCollection.d.ts +11 -0
  368. package/src/util/ConstUtils.d.ts +3 -0
  369. package/src/util/FlowMonitorQueue.d.ts +70 -0
  370. package/src/util/HeapSort.d.ts +6 -0
  371. package/src/util/IMirrorXML.d.ts +6 -0
  372. package/src/util/IServerConfig.d.ts +11 -0
  373. package/src/util/MgBlockingQueue.d.ts +5 -0
  374. package/src/util/MgPriorityBlockingQueue.d.ts +17 -0
  375. package/src/util/MgPriorityQueue.d.ts +13 -0
  376. package/src/util/ParamParseResult.d.ts +6 -0
  377. package/src/util/PrmMap.d.ts +28 -0
  378. package/src/util/ReturnResult.d.ts +18 -0
  379. package/src/util/ReturnResultBase.d.ts +11 -0
  380. package/src/util/Scrambler.d.ts +10 -0
  381. package/src/util/UniqueIDUtils.d.ts +4 -0
  382. package/src/util/cookie.service.d.ts +8 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSU1pcnJvclhNTC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvdXRpbC9JTWlycm9yWE1MLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1htbFBhcnNlcn0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtQYXJhbVBhcnNlUmVzdWx0fSBmcm9tIFwiLi9QYXJhbVBhcnNlUmVzdWx0XCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+IEludGVyZmFjZSBmb3IgbWlycm9yaW5nIGEgc2luZ2xlIGl0ZW08L3N1bW1hcnk+XHJcbmV4cG9ydCBpbnRlcmZhY2UgSU1pcnJvclhNTCB7XHJcbiAgbWlycm9yVG9YTUwoKTogc3RyaW5nO1xyXG5cclxuICBpbml0KG5hbWU6IHN0cmluZywgeG1sUGFyc2VyOiBYbWxQYXJzZXIpOiBQYXJhbVBhcnNlUmVzdWx0O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVNlcnZlckNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvdXRpbC9JU2VydmVyQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbnRlcmZhY2UgZGVzY3JpYmluZyB0aGUgY29uZmlndXJhdGlvbiBuZWVkZWQgdG8gY29ubmVjdCB0byB0aGUgc2VydmVyLCBcclxuLy8gZXF1aXZhbGVudCB0byB0aGUgUklBIGV4ZWN1dGlvbiBwcm9wZXJ0aWVzXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVNlcnZlckNvbmZpZyB7XHJcbiAgcHJvdG9jb2w6IHN0cmluZztcclxuICBzZXJ2ZXI6IHN0cmluZyxcclxuICByZXF1ZXN0ZXI6IHN0cmluZztcclxuICBhcHBuYW1lOiBzdHJpbmc7XHJcbiAgTG9nQ2xpZW50U2VxdWVuY2VGb3JBY3Rpdml0eU1vbml0b3I6IGJvb2xlYW47XHJcbiAgSW50ZXJuYWxMb2dMZXZlbDogc3RyaW5nO1xyXG4gIEludGVybmFsTG9nU3luYzogc3RyaW5nO1xyXG4gIERpc3BsYXlHZW5lcmljRXJyb3I6IGJvb2xlYW47XHJcbiAgRmlyc3RIVFRQUmVxdWVzdFRpbWVvdXQ6IG51bWJlcjtcclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWdCbG9ja2luZ1F1ZXVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy91dGlsL01nQmxvY2tpbmdRdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNZ0Jsb2NraW5nUXVldWUge1xyXG4gIG9mZmVyKG86IGFueSk6IGJvb2xlYW47XHJcblxyXG4gIHB1dChvOiBhbnkpOiB2b2lkO1xyXG5cclxuICB3YWl0Rm9yRWxlbWVudCgpOiB2b2lkO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,74 @@
1
+ import { MgPriorityQueue } from "./MgPriorityQueue";
2
+ import { RunTimeEventBase } from "../event/RunTimeEventBase";
3
+ import { Misc, Priority, SyncExecutionHelper } from "@magic-xpa/utils";
4
+ import { Debug, Int32 } from "@magic-xpa/mscorelib";
5
+ export class MgPriorityBlockingQueue {
6
+ constructor() {
7
+ this._queue = null;
8
+ this._timeFirstEvent = 0;
9
+ this._queue = new MgPriorityQueue();
10
+ }
11
+ isBackgroundEvent(o) {
12
+ let result = false;
13
+ if (o instanceof RunTimeEventBase) {
14
+ let runTimeEvent = o;
15
+ if (runTimeEvent.getPriority() === Priority.LOWEST)
16
+ result = true;
17
+ }
18
+ return result;
19
+ }
20
+ offer(o) {
21
+ try {
22
+ let condition = this._queue.offer(o);
23
+ if (this._timeFirstEvent === 0) {
24
+ if (!this.isBackgroundEvent(o)) {
25
+ this._timeFirstEvent = Misc.getSystemMilliseconds();
26
+ }
27
+ }
28
+ Debug.Assert(condition);
29
+ SyncExecutionHelper.Instance.Pulse();
30
+ return true;
31
+ }
32
+ finally { }
33
+ }
34
+ put(o) {
35
+ this.offer(o);
36
+ }
37
+ async waitForElement() {
38
+ if (this._queue.Size === 0) {
39
+ this._timeFirstEvent = 0;
40
+ await SyncExecutionHelper.Instance.Wait();
41
+ }
42
+ }
43
+ GetTime() {
44
+ return this._timeFirstEvent;
45
+ }
46
+ poll() {
47
+ let result;
48
+ try {
49
+ let obj = this._queue.poll();
50
+ if (this.isBackgroundEvent(obj)) {
51
+ this._timeFirstEvent = 0;
52
+ }
53
+ result = obj;
54
+ }
55
+ finally { }
56
+ return result;
57
+ }
58
+ peek() {
59
+ return this._queue.peek();
60
+ }
61
+ size() {
62
+ return this._queue.Size;
63
+ }
64
+ remainingCapacity() {
65
+ return Int32.MaxValue;
66
+ }
67
+ clear() {
68
+ this._queue.clear();
69
+ }
70
+ isEmpty() {
71
+ return this._queue.isEmpty();
72
+ }
73
+ }
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWdQcmlvcml0eUJsb2NraW5nUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL3V0aWwvTWdQcmlvcml0eUJsb2NraW5nUXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxNQUFNLE9BQU8sdUJBQXVCO0lBSWxDO1FBSFEsV0FBTSxHQUFvQixJQUFJLENBQUM7UUFDL0Isb0JBQWUsR0FBVyxDQUFDLENBQUM7UUFHbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxDQUFNO1FBQzlCLElBQUksTUFBTSxHQUFZLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxnQkFBZ0IsRUFBRTtZQUNqQyxJQUFJLFlBQVksR0FBdUMsQ0FBQyxDQUFDO1lBQ3pELElBQUksWUFBWSxDQUFDLFdBQVcsRUFBRSxLQUFLLFFBQVEsQ0FBQyxNQUFNO2dCQUNoRCxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ2pCO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxDQUFNO1FBQ1YsSUFBSTtZQUNGLElBQUksU0FBUyxHQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlDLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxDQUFDLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7aUJBQ3JEO2FBQ0Y7WUFDRCxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3hCLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztTQUNiO2dCQUNPLEdBQUU7SUFDWixDQUFDO0lBRUQsR0FBRyxDQUFDLENBQU07UUFDUixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFHRCxLQUFLLENBQUMsY0FBYztRQUNsQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztZQUN6QixNQUFNLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxNQUFXLENBQUM7UUFDaEIsSUFBSTtZQUNGLElBQUksR0FBRyxHQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO2FBQzFCO1lBQ0QsTUFBTSxHQUFHLEdBQUcsQ0FBQztTQUNkO2dCQUNPLEdBQUU7UUFFVixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSTtRQUNBLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNZ0Jsb2NraW5nUXVldWV9IGZyb20gXCIuL01nQmxvY2tpbmdRdWV1ZVwiO1xyXG5pbXBvcnQge01nUHJpb3JpdHlRdWV1ZX0gZnJvbSBcIi4vTWdQcmlvcml0eVF1ZXVlXCI7XHJcbmltcG9ydCB7UnVuVGltZUV2ZW50QmFzZX0gZnJvbSBcIi4uL2V2ZW50L1J1blRpbWVFdmVudEJhc2VcIjtcclxuaW1wb3J0IHtNaXNjLCBQcmlvcml0eSwgU3luY0V4ZWN1dGlvbkhlbHBlcn0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtEZWJ1ZywgSW50MzJ9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1nUHJpb3JpdHlCbG9ja2luZ1F1ZXVlIGltcGxlbWVudHMgTWdCbG9ja2luZ1F1ZXVlIHtcclxuICBwcml2YXRlIF9xdWV1ZTogTWdQcmlvcml0eVF1ZXVlID0gbnVsbDtcclxuICBwcml2YXRlIF90aW1lRmlyc3RFdmVudDogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLl9xdWV1ZSA9IG5ldyBNZ1ByaW9yaXR5UXVldWUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNCYWNrZ3JvdW5kRXZlbnQobzogYW55KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBpZiAobyBpbnN0YW5jZW9mIFJ1blRpbWVFdmVudEJhc2UpIHtcclxuICAgICAgbGV0IHJ1blRpbWVFdmVudDogUnVuVGltZUV2ZW50QmFzZSA9IDxSdW5UaW1lRXZlbnRCYXNlPm87XHJcbiAgICAgIGlmIChydW5UaW1lRXZlbnQuZ2V0UHJpb3JpdHkoKSA9PT0gUHJpb3JpdHkuTE9XRVNUKVxyXG4gICAgICAgIHJlc3VsdCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIG9mZmVyKG86IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgbGV0IGNvbmRpdGlvbjogYm9vbGVhbiA9IHRoaXMuX3F1ZXVlLm9mZmVyKG8pO1xyXG4gICAgICBpZiAodGhpcy5fdGltZUZpcnN0RXZlbnQgPT09IDApIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNCYWNrZ3JvdW5kRXZlbnQobykpIHtcclxuICAgICAgICAgIHRoaXMuX3RpbWVGaXJzdEV2ZW50ID0gTWlzYy5nZXRTeXN0ZW1NaWxsaXNlY29uZHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgRGVidWcuQXNzZXJ0KGNvbmRpdGlvbik7XHJcbiAgICAgIFN5bmNFeGVjdXRpb25IZWxwZXIuSW5zdGFuY2UuUHVsc2UoKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBmaW5hbGx5IHt9XHJcbiAgfVxyXG5cclxuICBwdXQobzogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9mZmVyKG8pO1xyXG4gIH1cclxuXHJcbiAgLy8gVE9ETzogUmVtb3ZlIHRoaXMgbWV0aG9kIGFzIHdvcmtlciB0aHJlYWQgd29uJ3Qgd2FpdCBmb3IgZXZlbnRzIGdldHRpbmcgYWRkZWQgdG8gdGhlIHF1ZXVlLlxyXG4gIGFzeW5jIHdhaXRGb3JFbGVtZW50KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuX3F1ZXVlLlNpemUgPT09IDApIHtcclxuICAgICAgdGhpcy5fdGltZUZpcnN0RXZlbnQgPSAwO1xyXG4gICAgICBhd2FpdCBTeW5jRXhlY3V0aW9uSGVscGVyLkluc3RhbmNlLldhaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEdldFRpbWUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl90aW1lRmlyc3RFdmVudDtcclxuICB9XHJcblxyXG4gIHBvbGwoKTogYW55IHtcclxuICAgIGxldCByZXN1bHQ6IGFueTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGxldCBvYmo6IGFueSA9IHRoaXMuX3F1ZXVlLnBvbGwoKTtcclxuICAgICAgaWYgKHRoaXMuaXNCYWNrZ3JvdW5kRXZlbnQob2JqKSkge1xyXG4gICAgICAgIHRoaXMuX3RpbWVGaXJzdEV2ZW50ID0gMDtcclxuICAgICAgfVxyXG4gICAgICByZXN1bHQgPSBvYmo7XHJcbiAgICB9XHJcbiAgICBmaW5hbGx5IHt9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHBlZWsoKTogYW55IHtcclxuICAgICAgcmV0dXJuIHRoaXMuX3F1ZXVlLnBlZWsoKTtcclxuICB9XHJcblxyXG4gIHNpemUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9xdWV1ZS5TaXplO1xyXG4gIH1cclxuXHJcbiAgcmVtYWluaW5nQ2FwYWNpdHkoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBJbnQzMi5NYXhWYWx1ZTtcclxuICB9XHJcblxyXG4gIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcXVldWUuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIGlzRW1wdHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcXVldWUuaXNFbXB0eSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,66 @@
1
+ export class MgPriorityQueue {
2
+ constructor() {
3
+ this._queue = null;
4
+ this.Size = 0;
5
+ this._queue = new Array(MgPriorityQueue.DEFAULT_INITIAL_CAPACITY + 1);
6
+ for (let _ai = 0; _ai < this._queue.length; ++_ai)
7
+ this._queue[_ai] = null;
8
+ }
9
+ offer(o) {
10
+ ++this.Size;
11
+ if (this.Size >= this._queue.length)
12
+ this._queue.length = this.Size;
13
+ this._queue[this.Size] = o;
14
+ this.fixUp(this.Size);
15
+ return true;
16
+ }
17
+ peek() {
18
+ if (this.Size === 0)
19
+ return null;
20
+ return this._queue[1];
21
+ }
22
+ isEmpty() {
23
+ return this.Size === 0;
24
+ }
25
+ clear() {
26
+ for (let i = 1; i <= this.Size; i++)
27
+ this._queue[i] = null;
28
+ this.Size = 0;
29
+ }
30
+ poll() {
31
+ if (this.Size === 0)
32
+ return null;
33
+ let result = this._queue[1];
34
+ this._queue[1] = this._queue[this.Size];
35
+ this._queue[this.Size--] = null;
36
+ if (this.Size > 1)
37
+ this.fixDown(1);
38
+ return result;
39
+ }
40
+ fixUp(k) {
41
+ while (k > 1) {
42
+ let j = k >> 1;
43
+ if (this._queue[j].CompareTo(this._queue[k]) <= 0)
44
+ break;
45
+ let tmp = this._queue[j];
46
+ this._queue[j] = this._queue[k];
47
+ this._queue[k] = tmp;
48
+ k = j;
49
+ }
50
+ }
51
+ fixDown(k) {
52
+ let j;
53
+ while ((j = k << 1) <= this.Size && j > 0) {
54
+ if (j < this.Size && this._queue[j].CompareTo(this._queue[j + 1]) > 0)
55
+ j++;
56
+ if (this._queue[k].CompareTo(this._queue[j]) <= 0)
57
+ break;
58
+ let tmp = this._queue[j];
59
+ this._queue[j] = this._queue[k];
60
+ this._queue[k] = tmp;
61
+ k = j;
62
+ }
63
+ }
64
+ }
65
+ MgPriorityQueue.DEFAULT_INITIAL_CAPACITY = 11;
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWdQcmlvcml0eVF1ZXVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy91dGlsL01nUHJpb3JpdHlRdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxNQUFNLE9BQU8sZUFBZTtJQW1CMUI7UUFSUSxXQUFNLEdBQVUsSUFBSSxDQUFDO1FBRzdCLFNBQUksR0FBVyxDQUFDLENBQUM7UUFNZixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksS0FBSyxDQUFNLGVBQWUsQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzRSxLQUFLLElBQUksR0FBRyxHQUFXLENBQUMsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHO1lBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFjRCxLQUFLLENBQUMsQ0FBTTtRQUVWLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQztRQUdaLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUVqQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDO1FBRWQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFVRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBR0QsS0FBSztRQUVILEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRTtZQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUV4QixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDO1FBRWQsSUFBSSxNQUFNLEdBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDO1lBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBUU8sS0FBSyxDQUFDLENBQVM7UUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ1osSUFBSSxDQUFDLEdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV2QixJQUFrQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBRSxDQUFDLFNBQVMsQ0FBYyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDM0UsTUFBTTtZQUVSLElBQUksR0FBRyxHQUFRLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ3JCLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDUDtJQUNILENBQUM7SUFRTyxPQUFPLENBQUMsQ0FBUztRQUN2QixJQUFJLENBQVMsQ0FBQztRQUNkLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN6QyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFrQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBRSxDQUFDLFNBQVMsQ0FBYyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQy9GLENBQUMsRUFBRSxDQUFDO1lBRU4sSUFBa0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUUsQ0FBQyxTQUFTLENBQWMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzNFLE1BQU07WUFFUixJQUFJLEdBQUcsR0FBUSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUNyQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ1A7SUFDSCxDQUFDOztBQXBJYyx3Q0FBd0IsR0FBVyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lDb21wYXJhYmxlfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIE91ciBpbXBsZW1lbnRhdGlvbiBvZiBQcmlvcml0eSBfcXVldWUgc2lsaW1hciB0byBKREsgMS41IGphdmEudXRpbC5Qcmlvcml0eVF1ZXVlLiAqXHJcbi8vLyA8cD5cclxuLy8vIEEgcHJpb3JpdHkgX3F1ZXVlIGlzIHVuYm91bmRlZCwgYnV0IGhhcyBhbiBpbnRlcm5hbCA8aT5jYXBhY2l0eTwvaT4gZ292ZXJuaW5nIHRoZSBTaXplIG9mIGFuIGFycmF5IHVzZWQgdG9cclxuLy8vIHN0b3JlIHRoZSBlbGVtZW50cyBvbiB0aGUgX3F1ZXVlLiBJdCBpcyBhbHdheXMgYXQgbGVhc3QgYXMgbGFyZ2UgYXMgdGhlIF9xdWV1ZSBTaXplLiBBcyBlbGVtZW50cyBhcmUgYWRkZWQgdG9cclxuLy8vIGEgcHJpb3JpdHkgX3F1ZXVlLCBpdHMgY2FwYWNpdHkgZ3Jvd3MgYXV0b21hdGljYWxseS4gVGhlIGRldGFpbHMgb2YgdGhlIGdyb3d0aCBwb2xpY3kgYXJlIG5vdCBzcGVjaWZpZWQuXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBNZ1ByaW9yaXR5UXVldWUge1xyXG4gIHByaXZhdGUgc3RhdGljIERFRkFVTFRfSU5JVElBTF9DQVBBQ0lUWTogbnVtYmVyID0gMTE7XHJcbiAgLy8vIDxzdW1tYXJ5PiBQcmlvcml0eSBfcXVldWUgcmVwcmVzZW50ZWQgYXMgYSBiYWxhbmNlZCBiaW5hcnkgaGVhcDogdGhlIHR3byBjaGlsZHJlbiBvZiBfcXVldWVbbl0gYXJlIF9xdWV1ZVsyKm5dIGFuZFxyXG4gIC8vLyBfcXVldWVbMipuICsgMV0uIFRoZSBwcmlvcml0eSBfcXVldWUgaXMgb3JkZXJlZCBieSBjb21wYXJhdG9yLCBvciBieSB0aGUgZWxlbWVudHMnIG5hdHVyYWwgb3JkZXJpbmcsIGlmXHJcbiAgLy8vIGNvbXBhcmF0b3IgaXMgbnVsbDogRm9yIGVhY2ggbm9kZSBuIGluIHRoZSBoZWFwIGFuZCBlYWNoIGRlc2NlbmRhbnQgZCBvZiBuLCBuIDw9IGQuXHJcbiAgLy8vXHJcbiAgLy8vIFRoZSBlbGVtZW50IHdpdGggdGhlIGxvd2VzdCB2YWx1ZSBpcyBpbiBfcXVldWVbMV0sIGFzc3VtaW5nIHRoZSBfcXVldWUgaXMgbm9uZW1wdHkuIChBIG9uZS1iYXNlZCBhcnJheSBpc1xyXG4gIC8vLyB1c2VkIGluIHByZWZlcmVuY2UgdG8gdGhlIHRyYWRpdGlvbmFsIDAtYmFzZWQgYXJyYXkgdG8gc2ltcGxpZnkgcGFyZW50IGFuZCBjaGlsZCBjYWxjdWxhdGlvbnMuKVxyXG4gIC8vL1xyXG4gIC8vLyBfcXVldWUubGVuZ3RoIG11c3QgYmUgPj0gMiwgZXZlbiBpZiBTaXplID09IDAuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIF9xdWV1ZTogYW55W10gPSBudWxsO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+IFRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHByaW9yaXR5IF9xdWV1ZS48L3N1bW1hcnk+XHJcbiAgU2l6ZTogbnVtYmVyID0gMDtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBDcmVhdGVzIGEgPHR0PlByaW9yaXR5UXVldWU8L3R0PiB3aXRoIHRoZSBkZWZhdWx0IGluaXRpYWwgY2FwYWNpdHkgKDExKSB0aGF0IG9yZGVycyBpdHMgZWxlbWVudHNcclxuICAvLy8gYWNjb3JkaW5nIHRvIHRoZWlyIG5hdHVyYWwgb3JkZXJpbmcuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuX3F1ZXVlID0gbmV3IEFycmF5PGFueT4oTWdQcmlvcml0eVF1ZXVlLkRFRkFVTFRfSU5JVElBTF9DQVBBQ0lUWSArIDEpO1xyXG4gICAgZm9yIChsZXQgX2FpOiBudW1iZXIgPSAwOyBfYWkgPCB0aGlzLl9xdWV1ZS5sZW5ndGg7ICsrX2FpKVxyXG4gICAgICB0aGlzLl9xdWV1ZVtfYWldID0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gSW5zZXJ0cyB0aGUgc3BlY2lmaWVkIGVsZW1lbnQgaW50byB0aGlzIHByaW9yaXR5IF9xdWV1ZS5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz4gPHR0PnRydWU8L3R0PlxyXG4gIC8vLyA8L3JldHVybnM+XHJcbiAgLy8vIDx0aHJvd3M+ICBDbGFzc0Nhc3RFeGNlcHRpb24gPC90aHJvd3M+XHJcbiAgLy8vIDxzdW1tYXJ5PiAgICAgICAgICAgIGlmIHRoZSBzcGVjaWZpZWQgZWxlbWVudCBjYW5ub3QgYmUgY29tcGFyZWQgd2l0aCBlbGVtZW50cyBjdXJyZW50bHkgaW4gdGhlIHByaW9yaXR5IF9xdWV1ZVxyXG4gIC8vLyBhY2NvcmRpbmcgdG8gdGhlIHByaW9yaXR5IF9xdWV1ZSdzIG9yZGVyaW5nLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDx0aHJvd3M+ICBOdWxsUG9pbnRlckV4Y2VwdGlvbiA8L3Rocm93cz5cclxuICAvLy8gPHN1bW1hcnk+ICAgICAgICAgICAgaWYgdGhlIHNwZWNpZmllZCBlbGVtZW50IGlzIDx0dD5udWxsPC90dD4uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBvZmZlcihvOiBhbnkpOiBib29sZWFuIHtcclxuXHJcbiAgICArK3RoaXMuU2l6ZTtcclxuXHJcbiAgICAvLyBHcm93IGJhY2tpbmcgc3RvcmUgaWYgbmVjZXNzYXJ5XHJcbiAgICBpZiAodGhpcy5TaXplID49IHRoaXMuX3F1ZXVlLmxlbmd0aClcclxuICAgICAgdGhpcy5fcXVldWUubGVuZ3RoID0gdGhpcy5TaXplO1xyXG5cclxuICAgIHRoaXMuX3F1ZXVlW3RoaXMuU2l6ZV0gPSBvO1xyXG4gICAgdGhpcy5maXhVcCh0aGlzLlNpemUpO1xyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcGVlaygpOiBhbnkge1xyXG4gICAgaWYgKHRoaXMuU2l6ZSA9PT0gMClcclxuICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX3F1ZXVlWzFdO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBSZXR1cm5zIDx0dD50cnVlPC90dD4gaWYgX3F1ZXVlIGNvbnRhaW5zIG5vIGVsZW1lbnRzLlxyXG4gIC8vLyA8cD5cclxuICAvLy9cclxuICAvLy8gVGhpcyBpbXBsZW1lbnRhdGlvbiByZXR1cm5zIDx0dD5TaXplKCkgPT0gMDwvdHQ+LlxyXG4gIC8vL1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPiA8dHQ+dHJ1ZTwvdHQ+IGlmIF9xdWV1ZSBjb250YWlucyBubyBlbGVtZW50cy5cclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIGlzRW1wdHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5TaXplID09PSAwO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBSZW1vdmVzIGFsbCBlbGVtZW50cyBmcm9tIHRoZSBwcmlvcml0eSBfcXVldWUuIFRoZSBfcXVldWUgd2lsbCBiZSBlbXB0eSBhZnRlciB0aGlzIGNhbGwgcmV0dXJucy48L3N1bW1hcnk+XHJcbiAgY2xlYXIoKTogdm9pZCB7XHJcbiAgICAvLyBOdWxsIG91dCBlbGVtZW50IHJlZmVyZW5jZXMgdG8gcHJldmVudCBtZW1vcnkgbGVha1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMTsgaSA8PSB0aGlzLlNpemU7IGkrKylcclxuICAgICAgdGhpcy5fcXVldWVbaV0gPSBudWxsO1xyXG5cclxuICAgIHRoaXMuU2l6ZSA9IDA7XHJcbiAgfVxyXG5cclxuICBwb2xsKCk6IGFueSB7XHJcbiAgICBpZiAodGhpcy5TaXplID09PSAwKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICBsZXQgcmVzdWx0OiBhbnkgPSB0aGlzLl9xdWV1ZVsxXTtcclxuICAgIHRoaXMuX3F1ZXVlWzFdID0gdGhpcy5fcXVldWVbdGhpcy5TaXplXTtcclxuXHJcbiAgICB0aGlzLl9xdWV1ZVt0aGlzLlNpemUtLV0gPSBudWxsOyAvLyBEcm9wIGV4dHJhIHJlZiB0byBwcmV2ZW50IG1lbW9yeSBsZWFrXHJcbiAgICBpZiAodGhpcy5TaXplID4gMSlcclxuICAgICAgdGhpcy5maXhEb3duKDEpO1xyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IEVzdGFibGlzaGVzIHRoZSBoZWFwIGludmFyaWFudCAoZGVzY3JpYmVkIGFib3ZlKSBhc3N1bWluZyB0aGUgaGVhcCBzYXRpc2ZpZXMgdGhlIGludmFyaWFudCBleGNlcHRcclxuICAvLy8gcG9zc2libHkgZm9yIHRoZSBsZWFmLW5vZGUgaW5kZXhlZCBieSBrICh3aGljaCBtYXkgaGF2ZSBhIG5leHRFeGVjdXRpb25UaW1lIGxlc3MgdGhhbiBpdHMgcGFyZW50J3MpLlxyXG4gIC8vL1xyXG4gIC8vLyBUaGlzIG1ldGhvZCBmdW5jdGlvbnMgYnkgXCJwcm9tb3RpbmdcIiBfcXVldWVba10gdXAgdGhlIGhpZXJhcmNoeSAoYnkgc3dhcHBpbmcgaXQgd2l0aCBpdHMgcGFyZW50KVxyXG4gIC8vLyByZXBlYXRlZGx5IHVudGlsIF9xdWV1ZVtrXSBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gaXRzIHBhcmVudC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgZml4VXAoazogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB3aGlsZSAoayA+IDEpIHtcclxuICAgICAgbGV0IGo6IG51bWJlciA9IGsgPj4gMTtcclxuXHJcbiAgICAgIGlmICgoPElDb21wYXJhYmxlPnRoaXMuX3F1ZXVlW2pdKS5Db21wYXJlVG8oPElDb21wYXJhYmxlPnRoaXMuX3F1ZXVlW2tdKSA8PSAwKVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgbGV0IHRtcDogYW55ID0gdGhpcy5fcXVldWVbal07XHJcbiAgICAgIHRoaXMuX3F1ZXVlW2pdID0gdGhpcy5fcXVldWVba107XHJcbiAgICAgIHRoaXMuX3F1ZXVlW2tdID0gdG1wO1xyXG4gICAgICBrID0gajtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gRXN0YWJsaXNoZXMgdGhlIGhlYXAgaW52YXJpYW50IChkZXNjcmliZWQgYWJvdmUpIGluIHRoZSBzdWJ0cmVlIHJvb3RlZCBhdCBrLCB3aGljaCBpcyBhc3N1bWVkIHRvIHNhdGlzZnlcclxuICAvLy8gdGhlIGhlYXAgaW52YXJpYW50IGV4Y2VwdCBwb3NzaWJseSBmb3Igbm9kZSBrIGl0c2VsZiAod2hpY2ggbWF5IGJlIGdyZWF0ZXIgdGhhbiBpdHMgY2hpbGRyZW4pLlxyXG4gIC8vL1xyXG4gIC8vLyBUaGlzIG1ldGhvZCBmdW5jdGlvbnMgYnkgXCJkZW1vdGluZ1wiIF9xdWV1ZVtrXSBkb3duIHRoZSBoaWVyYXJjaHkgKGJ5IHN3YXBwaW5nIGl0IHdpdGggaXRzIHNtYWxsZXIgY2hpbGQpXHJcbiAgLy8vIHJlcGVhdGVkbHkgdW50aWwgX3F1ZXVlW2tdIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBpdHMgY2hpbGRyZW4uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIGZpeERvd24oazogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgajogbnVtYmVyO1xyXG4gICAgd2hpbGUgKChqID0gayA8PCAxKSA8PSB0aGlzLlNpemUgJiYgaiA+IDApIHtcclxuICAgICAgaWYgKGogPCB0aGlzLlNpemUgJiYgKDxJQ29tcGFyYWJsZT50aGlzLl9xdWV1ZVtqXSkuQ29tcGFyZVRvKDxJQ29tcGFyYWJsZT50aGlzLl9xdWV1ZVtqICsgMV0pID4gMClcclxuICAgICAgICBqKys7XHJcblxyXG4gICAgICBpZiAoKDxJQ29tcGFyYWJsZT50aGlzLl9xdWV1ZVtrXSkuQ29tcGFyZVRvKDxJQ29tcGFyYWJsZT50aGlzLl9xdWV1ZVtqXSkgPD0gMClcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGxldCB0bXA6IGFueSA9IHRoaXMuX3F1ZXVlW2pdO1xyXG4gICAgICB0aGlzLl9xdWV1ZVtqXSA9IHRoaXMuX3F1ZXVlW2tdO1xyXG4gICAgICB0aGlzLl9xdWV1ZVtrXSA9IHRtcDtcclxuICAgICAgayA9IGo7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ export var ParamParseResult;
2
+ (function (ParamParseResult) {
3
+ ParamParseResult[ParamParseResult["OK"] = 0] = "OK";
4
+ ParamParseResult[ParamParseResult["TOUPPER"] = 1] = "TOUPPER";
5
+ ParamParseResult[ParamParseResult["DELETE"] = 2] = "DELETE";
6
+ ParamParseResult[ParamParseResult["FAILED"] = 3] = "FAILED";
7
+ })(ParamParseResult || (ParamParseResult = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFyYW1QYXJzZVJlc3VsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvdXRpbC9QYXJhbVBhcnNlUmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGdCQUtYO0FBTEQsV0FBWSxnQkFBZ0I7SUFDMUIsbURBQUUsQ0FBQTtJQUNGLDZEQUFPLENBQUE7SUFDUCwyREFBTSxDQUFBO0lBQ04sMkRBQU0sQ0FBQTtBQUNSLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gUGFyYW1QYXJzZVJlc3VsdCB7XHJcbiAgT0ssICAgICAgICAgLy8gc2F2ZSB0aGUgdmFsdWUgYXMgaXNcclxuICBUT1VQUEVSLCAgICAvLyBjb252ZXJ0IHRoZSBuYW1lIHRvIHVwcGVyIGNhc2UsIHNvIGl0IHdvdWxkIGJlIGNhc2UgaW5zZW5zaXRpdmVcclxuICBERUxFVEUsICAgICAvLyByZW1vdmUgdGhlIHZhcmlhYmxlIGZyb20gdGhlIGRpY3Rpb25hcnlcclxuICBGQUlMRUQgICAgICAvLyBwYXJzaW5nIGVycm9yXHJcbn1cclxuIl19
@@ -0,0 +1,151 @@
1
+ import { Dictionary, List, StringBuilder } from '@magic-xpa/mscorelib';
2
+ import { Logger, XMLConstants, XmlParser } from '@magic-xpa/utils';
3
+ import { ConstInterface } from '../ConstInterface';
4
+ import { ParamParseResult } from "./ParamParseResult";
5
+ export class PrmMap {
6
+ getvalue(s) {
7
+ if (this.values.ContainsKey(s))
8
+ return this.values.get_Item(s);
9
+ else
10
+ return null;
11
+ }
12
+ setValue(s, v) {
13
+ this.values.set_Item(s, v);
14
+ }
15
+ remove(s) {
16
+ this.values.Remove(s);
17
+ }
18
+ constructor() {
19
+ this.values = null;
20
+ this.values = new Dictionary();
21
+ }
22
+ }
23
+ export class MirrorPrmMap extends PrmMap {
24
+ constructor(type) {
25
+ super();
26
+ this.changes = null;
27
+ this.mirroredID = null;
28
+ this.type = type;
29
+ this.changes = new List();
30
+ }
31
+ new() {
32
+ return new this.type();
33
+ }
34
+ setValue(s, v, addToChanges) {
35
+ if (arguments.length === 3)
36
+ this.setValue_0(s, v, addToChanges);
37
+ else
38
+ this.setValue_1(s, v);
39
+ }
40
+ setValue_0(s, v, addToChanges) {
41
+ if (addToChanges && !this.changes.Contains(s))
42
+ this.changes.push(s);
43
+ super.setValue(s, v);
44
+ }
45
+ setValue_1(s, v) {
46
+ if (!this.changes.Contains(s))
47
+ this.changes.push(s);
48
+ super.setValue(s, v);
49
+ }
50
+ remove(s) {
51
+ if (!this.changes.Contains(s)) {
52
+ this.changes.push(s);
53
+ }
54
+ super.remove(s);
55
+ }
56
+ mirrorAllToXML() {
57
+ let xml = new StringBuilder();
58
+ if (this.values != null) {
59
+ xml.Append("<" + this.mirroredID + ">");
60
+ for (let key of this.values.Keys) {
61
+ if (this.CheckIfSystemReservedParam(key))
62
+ continue;
63
+ xml.Append("<" + ConstInterface.MG_TAG_PARAM + " " +
64
+ XMLConstants.MG_ATTR_NAME + "=\"" + XmlParser.escape(key) + "\" ");
65
+ xml.Append(this.values.get_Item(key).mirrorToXML());
66
+ xml.Append(XMLConstants.TAG_TERM);
67
+ }
68
+ xml.Append("</" + this.mirroredID + ">");
69
+ }
70
+ return xml.ToString();
71
+ }
72
+ CheckIfSystemReservedParam(key) {
73
+ if (key == "UTF8TRANS" || key === "REMOTE_HOST" || key === "REMOTE_ADDR" ||
74
+ key === "CTX" || key === "MGARG0" || key === "DATA" || key === "MGCURRENTREQUESTID" ||
75
+ key === "HTTP_MGXPARIAGLOBALUNIQUESESSIONID" || key === "MG_POST_BODY")
76
+ return true;
77
+ else
78
+ return false;
79
+ }
80
+ mirrorToXML() {
81
+ let xml = new StringBuilder();
82
+ if (this.changes.length > 0) {
83
+ xml.Append("<" + this.mirroredID + ">");
84
+ this.changes.forEach(change => {
85
+ xml.Append("<" + ConstInterface.MG_TAG_PARAM + " " +
86
+ XMLConstants.MG_ATTR_NAME + "=\"" + XmlParser.escape(change) + "\" ");
87
+ if (this.values.ContainsKey(change))
88
+ xml.Append(this.values.get_Item(change).mirrorToXML());
89
+ else
90
+ xml.Append("removed=\"Y\"");
91
+ xml.Append(">");
92
+ });
93
+ xml.Append("</" + this.mirroredID + ">");
94
+ }
95
+ this.changes.Clear();
96
+ return xml.ToString();
97
+ }
98
+ fillData(parser) {
99
+ while (this.mirrorFromXML(parser.getNextTag(), parser)) {
100
+ }
101
+ }
102
+ RestoreParams(xml) {
103
+ let parser = new XmlParser(xml);
104
+ while (this.mirrorFromXML(parser.getNextTag(), parser)) {
105
+ }
106
+ }
107
+ mirrorFromXML(foundTagName, xmlParser) {
108
+ if (foundTagName === null)
109
+ return false;
110
+ if (foundTagName === this.mirroredID) {
111
+ xmlParser.setCurrIndex2EndOfTag();
112
+ this.fillDataEntry(xmlParser);
113
+ return true;
114
+ }
115
+ else if (foundTagName === ("/" + this.mirroredID)) {
116
+ this.changes.Clear();
117
+ xmlParser.setCurrIndex2EndOfTag();
118
+ return false;
119
+ }
120
+ else {
121
+ Logger.Instance.WriteExceptionToLogWithMsg("There is no such tag in MirrorPrmMap.mirrorFromXML(): " + foundTagName);
122
+ return false;
123
+ }
124
+ }
125
+ fillDataEntry(xmlParser) {
126
+ let nextTag = xmlParser.getNextTag();
127
+ while (nextTag === ConstInterface.MG_TAG_PARAM) {
128
+ let nameStart = xmlParser.getXMLdata().indexOf(XMLConstants.MG_ATTR_NAME + "=\"", xmlParser.getCurrIndex()) +
129
+ XMLConstants.MG_ATTR_NAME.length + 2;
130
+ xmlParser.setCurrIndex(nameStart);
131
+ let nameEnd = xmlParser.getXMLdata().indexOf("\"", nameStart);
132
+ let name = xmlParser.getXMLsubstring(nameEnd).trim();
133
+ xmlParser.setCurrIndex(nameEnd);
134
+ let newVal = this.new();
135
+ switch (newVal.init(name, xmlParser)) {
136
+ case ParamParseResult.OK:
137
+ this.values.set_Item(name, newVal);
138
+ break;
139
+ case ParamParseResult.TOUPPER:
140
+ this.values.set_Item(name.toUpperCase(), newVal);
141
+ break;
142
+ case ParamParseResult.DELETE:
143
+ this.values.Remove(name);
144
+ break;
145
+ }
146
+ xmlParser.setCurrIndex2EndOfTag();
147
+ nextTag = xmlParser.getNextTag();
148
+ }
149
+ }
150
+ }
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJtTWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy91dGlsL1BybU1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFLcEQsTUFBTSxPQUFPLE1BQU07SUFRUCxRQUFRLENBQUMsQ0FBUztRQUMxQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDOztZQUUvQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBSUQsUUFBUSxDQUFDLENBQVMsRUFBRSxDQUFTO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBSUQsTUFBTSxDQUFDLENBQVM7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBSUQ7UUE1QkEsV0FBTSxHQUF1QixJQUFJLENBQUM7UUE2QjlCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQVUsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFLRCxNQUFNLE9BQU8sWUFBd0MsU0FBUSxNQUFjO0lBWXpFLFlBQVksSUFBc0I7UUFDaEMsS0FBSyxFQUFFLENBQUM7UUFWQSxZQUFPLEdBQWlCLElBQUks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QUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdGlvbmFyeSwgTGlzdCwgU3RyaW5nQnVpbGRlciB9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuaW1wb3J0IHsgTG9nZ2VyLCBYTUxDb25zdGFudHMsIFhtbFBhcnNlciB9IGZyb20gJ0BtYWdpYy14cGEvdXRpbHMnO1xyXG5pbXBvcnQgeyBDb25zdEludGVyZmFjZSB9IGZyb20gJy4uL0NvbnN0SW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSU1pcnJvclhNTCB9IGZyb20gJy4vSU1pcnJvclhNTCc7XHJcbmltcG9ydCB7UGFyYW1QYXJzZVJlc3VsdH0gZnJvbSBcIi4vUGFyYW1QYXJzZVJlc3VsdFwiO1xyXG5cclxuXHJcbi8vLyA8c3VtbWFyeT4gVGhpcyBjbGFzcyBtYW5hZ2VzIGEgZGljdGlvbmFyeSBvZiB2YXJpYWJsZXMuIHRoZW4gbmFtZSBvZiB0aGUgdmFyaWFibGUgaXMgdGhlIGtleVxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgUHJtTWFwPFRWYWx1ZSBleHRlbmRzIElNaXJyb3JYTUw+e1xyXG4gIHZhbHVlczogRGljdGlvbmFyeTxUVmFsdWU+ID0gbnVsbDtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBnZXQgdGhlIHZhbHVlXHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJzXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHByb3RlY3RlZCBnZXR2YWx1ZShzOiBzdHJpbmcpOiBUVmFsdWUge1xyXG4gICAgaWYgKHRoaXMudmFsdWVzLkNvbnRhaW5zS2V5KHMpKVxyXG4gICAgICByZXR1cm4gdGhpcy52YWx1ZXMuZ2V0X0l0ZW0ocyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBzZXRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHNldFZhbHVlKHM6IHN0cmluZywgdjogVFZhbHVlKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlcy5zZXRfSXRlbShzLCB2KTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gcmVtb3ZlIGFuIGVudHJ5XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICByZW1vdmUoczogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlcy5SZW1vdmUocyk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICB0aGlzLnZhbHVlcyA9IG5ldyBEaWN0aW9uYXJ5PFRWYWx1ZT4oKTtcclxuICB9XHJcbn1cclxuXHJcbi8vLyA8c3VtbWFyeT4gVGhpcyBjbGFzcyBtYW5hZ2VzIHRoZSBtaXJyb3JpbmcuIEl0IGhvbGRzIGEgbGlzdCBvZiBjaGFuZ2VkIHZhbHVlcyB0aGF0IG5lZWQgdG8gYmVcclxuLy8vIG1pcnJvcmVkLCBhbmQgbWFuYWdlcyB0aGUgd3JpdGluZyBvZiB0aG9zZSB2YWx1ZXMgdG8gYW4gWE1MIGJ1ZmZlclxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgTWlycm9yUHJtTWFwPFRWYWx1ZSBleHRlbmRzIElNaXJyb3JYTUw+IGV4dGVuZHMgUHJtTWFwPFRWYWx1ZT4ge1xyXG5cclxuICAvLyBMaXN0IG9mIGNoYW5nZWQgdmFyaWFibGVzXHJcbiAgcHJvdGVjdGVkIGNoYW5nZXM6IExpc3Q8c3RyaW5nPiA9IG51bGw7XHJcblxyXG4gIC8vIFR5cGUgb2YgdmFyaWFibGVzIGluIHRoZSB0YWJsZSAtIHVzZSBhcyBhbiBpZCBpbiB0aGUgWE1MIGJ1ZmZlclxyXG4gIHByb3RlY3RlZCAgbWlycm9yZWRJRDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSB0eXBlIDtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBDVE9SXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBjb25zdHJ1Y3Rvcih0eXBlOiBuZXcgKCkgPT4gVFZhbHVlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMuY2hhbmdlcyA9IG5ldyBMaXN0PHN0cmluZz4oKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY3JlYXRlIG5ldyBpbnN0YW5jZSBvZiBzcGVjaWZpZWQgdHlwZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBuZXcoKTogVFZhbHVlIHtcclxuICAgIHJldHVybiBuZXcgdGhpcy50eXBlKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0VmFsdWUoczogc3RyaW5nLCB2OiBUVmFsdWUsIGFkZFRvQ2hhbmdlcz86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAzKVxyXG4gICAgICB0aGlzLnNldFZhbHVlXzAocywgdiwgYWRkVG9DaGFuZ2VzKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZXRWYWx1ZV8xKHMsIHYpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBzZXRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgc2V0VmFsdWVfMChzOiBzdHJpbmcsIHY6IFRWYWx1ZSwgYWRkVG9DaGFuZ2VzOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoYWRkVG9DaGFuZ2VzICYmICF0aGlzLmNoYW5nZXMuQ29udGFpbnMocykpXHJcbiAgICAgIHRoaXMuY2hhbmdlcy5wdXNoKHMpO1xyXG4gICAgc3VwZXIuc2V0VmFsdWUocywgdik7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHNldFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZV8xKHM6IHN0cmluZywgdjogVFZhbHVlKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuY2hhbmdlcy5Db250YWlucyhzKSlcclxuICAgICAgdGhpcy5jaGFuZ2VzLnB1c2gocyk7XHJcbiAgICBzdXBlci5zZXRWYWx1ZShzLCB2KTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gcmVtb3ZlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICByZW1vdmUoczogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuY2hhbmdlcy5Db250YWlucyhzKSkge1xyXG4gICAgICB0aGlzLmNoYW5nZXMucHVzaChzKTtcclxuICAgIH1cclxuICAgIHN1cGVyLnJlbW92ZShzKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gd3JpdGUgdG8gYW4gWE1MIGJ1ZmY6IHdyaXRlIHRoZSBJRCBhbmQgY2FsbCBlYWNoIHZhcmlhYmxlIHRvIHdyaXRlIGl0c2VsZlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgbWlycm9yQWxsVG9YTUwoKTogc3RyaW5nIHtcclxuICAgIGxldCB4bWw6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcigpO1xyXG5cclxuXHJcbiAgICBpZiAodGhpcy52YWx1ZXMgIT0gbnVsbCkge1xyXG5cclxuICAgICAgLy8gd3JpdGUgdGhlIGlkXHJcbiAgICAgIHhtbC5BcHBlbmQoXCI8XCIgKyB0aGlzLm1pcnJvcmVkSUQgKyBcIj5cIik7XHJcblxyXG4gICAgICAvLyBsb29wIG9uIGFsbCB2YXJpYWJsZXNcclxuICAgICAgZm9yIChsZXQga2V5IG9mIHRoaXMudmFsdWVzLktleXMpIHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuQ2hlY2tJZlN5c3RlbVJlc2VydmVkUGFyYW0oa2V5KSlcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIHhtbC5BcHBlbmQoXCI8XCIgKyBDb25zdEludGVyZmFjZS5NR19UQUdfUEFSQU0gKyBcIiBcIiArXHJcbiAgICAgICAgICBYTUxDb25zdGFudHMuTUdfQVRUUl9OQU1FICsgXCI9XFxcIlwiICsgWG1sUGFyc2VyLmVzY2FwZShrZXkpICsgXCJcXFwiIFwiKTtcclxuXHJcbiAgICAgICAgLy8gY2FsbCB0aGUgdmFyaWFibGUgdG8gd3JpdGUgaXQncyBvd24gZGF0YVxyXG4gICAgICAgICAgeG1sLkFwcGVuZCh0aGlzLnZhbHVlcy5nZXRfSXRlbShrZXkpLm1pcnJvclRvWE1MKCkpO1xyXG5cclxuICAgICAgICB4bWwuQXBwZW5kKFhNTENvbnN0YW50cy5UQUdfVEVSTSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHhtbC5BcHBlbmQoXCI8L1wiICsgdGhpcy5taXJyb3JlZElEICsgXCI+XCIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHhtbC5Ub1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBJZiBzeXN0ZW0gcmVzZXJ2ZWQgcGFyYW0sIHRoZW4gZG8gbm90IHNlcmlhbGl6ZSBmb3IgcmUtaW5pdGlhbGl6ZSBzZXNzaW9uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBDaGVja0lmU3lzdGVtUmVzZXJ2ZWRQYXJhbShrZXk6IGFueSk6IGJvb2xlYW5cclxuICB7XHJcbiAgICBpZiAoa2V5ID09IFwiVVRGOFRSQU5TXCIgfHwga2V5ID09PSBcIlJFTU9URV9IT1NUXCIgfHwga2V5ID09PSBcIlJFTU9URV9BRERSXCIgfHxcclxuICAgICAga2V5ID09PSBcIkNUWFwiIHx8IGtleSA9PT0gXCJNR0FSRzBcIiB8fCBrZXkgPT09IFwiREFUQVwiIHx8IGtleSA9PT0gXCJNR0NVUlJFTlRSRVFVRVNUSURcIiB8fFxyXG4gICAgICBrZXkgPT09IFwiSFRUUF9NR1hQQVJJQUdMT0JBTFVOSVFVRVNFU1NJT05JRFwiIHx8IGtleSA9PT0gXCJNR19QT1NUX0JPRFlcIilcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICBlbHNlXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gd3JpdGUgdG8gYW4gWE1MIGJ1ZmY6IHdyaXRlIHRoZSBJRCBhbmQgY2FsbCBlYWNoIGNoYW5nZWQgdmFyaWFibGUgdG8gd3JpdGUgaXRzZWxmXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBtaXJyb3JUb1hNTCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHhtbDogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuY2hhbmdlcy5sZW5ndGggPiAwKSB7XHJcblxyXG4gICAgICAvLyB3cml0ZSB0aGUgaWRcclxuICAgICAgeG1sLkFwcGVuZChcIjxcIiArIHRoaXMubWlycm9yZWRJRCArIFwiPlwiKTtcclxuXHJcbiAgICAgIC8vIGxvb3Agb24gYWxsIGNoYW5nZWQgdmFyaWFibGVzXHJcblxyXG5cclxuICAgICAgdGhpcy5jaGFuZ2VzLmZvckVhY2goY2hhbmdlID0+IHtcclxuXHJcbiAgICAgICAgeG1sLkFwcGVuZChcIjxcIiArIENvbnN0SW50ZXJmYWNlLk1HX1RBR19QQVJBTSArIFwiIFwiICtcclxuICAgICAgICAgIFhNTENvbnN0YW50cy5NR19BVFRSX05BTUUgKyBcIj1cXFwiXCIgKyBYbWxQYXJzZXIuZXNjYXBlKGNoYW5nZSkgKyBcIlxcXCIgXCIpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy52YWx1ZXMuQ29udGFpbnNLZXkoY2hhbmdlKSlcclxuICAgICAgICAvLyBjYWxsIHRoZSB2YXJpYWJsZSB0byB3cml0ZSBpdCdzIG93biBkYXRhXHJcbiAgICAgICAgICB4bWwuQXBwZW5kKHRoaXMudmFsdWVzLmdldF9JdGVtKGNoYW5nZSkubWlycm9yVG9YTUwoKSk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgeG1sLkFwcGVuZChcInJlbW92ZWQ9XFxcIllcXFwiXCIpO1xyXG4gICAgICAgIHhtbC5BcHBlbmQoXCI+XCIpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHhtbC5BcHBlbmQoXCI8L1wiICsgdGhpcy5taXJyb3JlZElEICsgXCI+XCIpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jaGFuZ2VzLkNsZWFyKCk7XHJcbiAgICByZXR1cm4geG1sLlRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHBhcnNlIHRoZSBYTUwgYW5kIGZpbGwgdGhlIGRhdGFcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGZpbGxEYXRhKHBhcnNlcjogWG1sUGFyc2VyKTogdm9pZCB7XHJcbiAgICB3aGlsZSAodGhpcy5taXJyb3JGcm9tWE1MKHBhcnNlci5nZXROZXh0VGFnKCksIHBhcnNlcikpIHtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFJlc3RvcmVQYXJhbXMgKHhtbDogc3RyaW5nIClcclxuICB7XHJcbiAgICBsZXQgcGFyc2VyOiBYbWxQYXJzZXIgPSBuZXcgWG1sUGFyc2VyKHhtbCk7XHJcbiAgICB3aGlsZSAodGhpcy5taXJyb3JGcm9tWE1MKHBhcnNlci5nZXROZXh0VGFnKCksIHBhcnNlcikpIHtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gZmlsbCBmcm9tIFhNTFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZm91bmRUYWdOYW1lXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ4bWxQYXJzZXJcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgbWlycm9yRnJvbVhNTChmb3VuZFRhZ05hbWU6IHN0cmluZywgeG1sUGFyc2VyOiBYbWxQYXJzZXIpOiBib29sZWFuIHtcclxuICAgIGlmIChmb3VuZFRhZ05hbWUgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBpZiAoZm91bmRUYWdOYW1lID09PSB0aGlzLm1pcnJvcmVkSUQpIHtcclxuICAgICAgeG1sUGFyc2VyLnNldEN1cnJJbmRleDJFbmRPZlRhZygpO1xyXG4gICAgICB0aGlzLmZpbGxEYXRhRW50cnkoeG1sUGFyc2VyKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChmb3VuZFRhZ05hbWUgPT09IChcIi9cIiArIHRoaXMubWlycm9yZWRJRCkpIHtcclxuICAgICAgLy8gQWZ0ZXIgdXBkYXRpbmcgZnJvbSB0aGUgc2VydmVyLCBjbGVhciB0aGUgY2hhbmdlcyBsaXN0IHNvIHRoZXkgd29uJ3QgYmUgc2VudCBhZ2FpblxyXG4gICAgICB0aGlzLmNoYW5nZXMuQ2xlYXIoKTtcclxuICAgICAgeG1sUGFyc2VyLnNldEN1cnJJbmRleDJFbmRPZlRhZygpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlRXhjZXB0aW9uVG9Mb2dXaXRoTXNnKFwiVGhlcmUgaXMgbm8gc3VjaCB0YWcgaW4gTWlycm9yUHJtTWFwLm1pcnJvckZyb21YTUwoKTogXCIgKyBmb3VuZFRhZ05hbWUpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBwYXJzZSBhbmQgZmlsbCB0aGUgcGFyYW1zLCB1bnRpbCB0aGUgc2VjdGlvbiBlbmRzXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBmaWxsRGF0YUVudHJ5KHhtbFBhcnNlcjogWG1sUGFyc2VyKTogdm9pZCB7XHJcbiAgICBsZXQgbmV4dFRhZzogc3RyaW5nID0geG1sUGFyc2VyLmdldE5leHRUYWcoKTtcclxuXHJcbiAgICB3aGlsZSAobmV4dFRhZyA9PT0gQ29uc3RJbnRlcmZhY2UuTUdfVEFHX1BBUkFNKSB7XHJcbiAgICAgIGxldCBuYW1lU3RhcnQ6IG51bWJlciA9IHhtbFBhcnNlci5nZXRYTUxkYXRhKCkuaW5kZXhPZihYTUxDb25zdGFudHMuTUdfQVRUUl9OQU1FICsgXCI9XFxcIlwiLCB4bWxQYXJzZXIuZ2V0Q3VyckluZGV4KCkpICtcclxuICAgICAgICBYTUxDb25zdGFudHMuTUdfQVRUUl9OQU1FLmxlbmd0aCArIDI7XHJcblxyXG4gICAgICB4bWxQYXJzZXIuc2V0Q3VyckluZGV4KG5hbWVTdGFydCk7XHJcbiAgICAgIGxldCBuYW1lRW5kOiBudW1iZXIgPSB4bWxQYXJzZXIuZ2V0WE1MZGF0YSgpLmluZGV4T2YoXCJcXFwiXCIsIG5hbWVTdGFydCk7XHJcblxyXG4gICAgICAvLyBnZXQgdGhlIHZhcmlhYmxlcyBkYXRhXHJcbiAgICAgIGxldCBuYW1lOiBzdHJpbmcgPSB4bWxQYXJzZXIuZ2V0WE1Mc3Vic3RyaW5nKG5hbWVFbmQpLnRyaW0oKTtcclxuICAgICAgeG1sUGFyc2VyLnNldEN1cnJJbmRleChuYW1lRW5kKTtcclxuXHJcbiAgICAgIC8vIGNyZWF0ZSBhbmQgaW5pdCB0aGUgbmV3IHZhbHVlXHJcbiAgICAgIGxldCBuZXdWYWw6IFRWYWx1ZSA9IHRoaXMubmV3KCk7XHJcblxyXG4gICAgICBzd2l0Y2ggKG5ld1ZhbC5pbml0KG5hbWUsIHhtbFBhcnNlcikpIHtcclxuICAgICAgICBjYXNlIFBhcmFtUGFyc2VSZXN1bHQuT0s6XHJcbiAgICAgICAgICB0aGlzLnZhbHVlcy5zZXRfSXRlbShuYW1lLCBuZXdWYWwpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBQYXJhbVBhcnNlUmVzdWx0LlRPVVBQRVI6XHJcbiAgICAgICAgICB0aGlzLnZhbHVlcy5zZXRfSXRlbShuYW1lLnRvVXBwZXJDYXNlKCksIG5ld1ZhbCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFBhcmFtUGFyc2VSZXN1bHQuREVMRVRFOlxyXG4gICAgICAgICAgdGhpcy52YWx1ZXMuUmVtb3ZlKG5hbWUpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIG1vdmUgdG8gbmV4dCB0YWdcclxuICAgICAgeG1sUGFyc2VyLnNldEN1cnJJbmRleDJFbmRPZlRhZygpO1xyXG4gICAgICBuZXh0VGFnID0geG1sUGFyc2VyLmdldE5leHRUYWcoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,46 @@
1
+ import { ReturnResultBase } from './ReturnResultBase';
2
+ import { LanguageData } from '../env/LanguageData';
3
+ export class ReturnResult extends ReturnResultBase {
4
+ get Success() {
5
+ return this.success;
6
+ }
7
+ get ErrorDescription() {
8
+ return this.errorDescription;
9
+ }
10
+ constructor(errorDescriptionCodeOrErrorDescriptionOrInnerResult, innerResult) {
11
+ super();
12
+ this.errorDescription = null;
13
+ this.success = false;
14
+ this.ErrorId = null;
15
+ if (arguments.length === 1 && (errorDescriptionCodeOrErrorDescriptionOrInnerResult === null || errorDescriptionCodeOrErrorDescriptionOrInnerResult.constructor === String))
16
+ this.constructor_00(errorDescriptionCodeOrErrorDescriptionOrInnerResult);
17
+ else if (arguments.length === 0)
18
+ this.constructor_01();
19
+ else if (arguments.length === 2)
20
+ this.constructor_02(errorDescriptionCodeOrErrorDescriptionOrInnerResult);
21
+ else
22
+ this.constructor_03(errorDescriptionCodeOrErrorDescriptionOrInnerResult);
23
+ }
24
+ constructor_00(errorDescriptionCode) {
25
+ this.success = false;
26
+ this.ErrorId = errorDescriptionCode;
27
+ this.errorDescription = LanguageData.Instance.getConstMessage(errorDescriptionCode);
28
+ }
29
+ constructor_01() {
30
+ this.success = true;
31
+ this.ErrorId = "";
32
+ }
33
+ constructor_02(errorDescription) {
34
+ this.success = false;
35
+ this.errorDescription = errorDescription;
36
+ }
37
+ constructor_03(innerResult) {
38
+ this.success = innerResult.Success;
39
+ this.errorDescription = innerResult.ErrorDescription;
40
+ }
41
+ GetErrorId() {
42
+ return this.ErrorId;
43
+ }
44
+ }
45
+ ReturnResult.SuccessfulResult = new ReturnResult();
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmV0dXJuUmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy91dGlsL1JldHVyblJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFLakQsTUFBTSxPQUFPLFlBQWEsU0FBUSxnQkFBZ0I7SUFLaEQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBUUQsWUFBWSxtREFBeUQsRUFBRSxXQUE4QjtRQUNuRyxLQUFLLEVBQUUsQ0FBQztRQW5CRixxQkFBZ0IsR0FBVyxJQUFJLENBQUM7UUFDaEMsWUFBTyxHQUFZLEtBQUssQ0FBQztRQVdqQyxZQUFPLEdBQVcsSUFBSSxDQUFDO1FBUXJCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxtREFBbUQsS0FBSyxJQUFJLElBQUksbURBQW1ELENBQUMsV0FBVyxLQUFLLE1BQU0sQ0FBQztZQUN4SyxJQUFJLENBQUMsY0FBYyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7YUFDdEUsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDN0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ25CLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsbURBQW1ELENBQUMsQ0FBQzs7WUFFekUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFLTyxjQUFjLENBQUMsb0JBQTRCO1FBQ2pELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsb0JBQW9CLENBQUM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUtPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUtPLGNBQWMsQ0FBQyxnQkFBd0I7UUFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFNTyxjQUFjLENBQUMsV0FBNkI7UUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7SUFDdkQsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs7QUFoRU0sNkJBQWdCLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JldHVyblJlc3VsdEJhc2V9IGZyb20gJy4vUmV0dXJuUmVzdWx0QmFzZSc7XHJcbmltcG9ydCB7TGFuZ3VhZ2VEYXRhfSBmcm9tICcuLi9lbnYvTGFuZ3VhZ2VEYXRhJztcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIGNsYXNzIHRvIGJlIHVzZWQgZm9yIHRoZSByZXN1bHQgb2Ygb3BlcmF0aW9ucyAtIGZhaWx1cmUgaW5kaWNhdG9yIGFuZCBhIHN0cmluZyBkZXNjcmliaW5nIHRoZSBwcm9ibGVtXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBSZXR1cm5SZXN1bHQgZXh0ZW5kcyBSZXR1cm5SZXN1bHRCYXNlIHtcclxuICBwcml2YXRlIGVycm9yRGVzY3JpcHRpb246IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBzdWNjZXNzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc3RhdGljIFN1Y2Nlc3NmdWxSZXN1bHQ6IFJldHVyblJlc3VsdCA9IG5ldyBSZXR1cm5SZXN1bHQoKTtcclxuXHJcbiAgZ2V0IFN1Y2Nlc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdWNjZXNzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IEVycm9yRGVzY3JpcHRpb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVycm9yRGVzY3JpcHRpb247XHJcbiAgfVxyXG5cclxuICBFcnJvcklkOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpO1xyXG4gIGNvbnN0cnVjdG9yKGVycm9yRGVzY3JpcHRpb25Db2RlOiBzdHJpbmcpO1xyXG4gIGNvbnN0cnVjdG9yKGlubmVyUmVzdWx0OiBSZXR1cm5SZXN1bHRCYXNlKTtcclxuICBjb25zdHJ1Y3RvcihlcnJvckRlc2NyaXB0aW9uOiBzdHJpbmcsIGlubmVyUmVzdWx0OiBSZXR1cm5SZXN1bHRCYXNlKTtcclxuICBjb25zdHJ1Y3RvcihlcnJvckRlc2NyaXB0aW9uQ29kZU9yRXJyb3JEZXNjcmlwdGlvbk9ySW5uZXJSZXN1bHQ/OiBhbnksIGlubmVyUmVzdWx0PzogUmV0dXJuUmVzdWx0QmFzZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIChlcnJvckRlc2NyaXB0aW9uQ29kZU9yRXJyb3JEZXNjcmlwdGlvbk9ySW5uZXJSZXN1bHQgPT09IG51bGwgfHwgZXJyb3JEZXNjcmlwdGlvbkNvZGVPckVycm9yRGVzY3JpcHRpb25PcklubmVyUmVzdWx0LmNvbnN0cnVjdG9yID09PSBTdHJpbmcpKVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAwKGVycm9yRGVzY3JpcHRpb25Db2RlT3JFcnJvckRlc2NyaXB0aW9uT3JJbm5lclJlc3VsdCk7XHJcbiAgICBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAxKCk7XHJcbiAgICBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAyKGVycm9yRGVzY3JpcHRpb25Db2RlT3JFcnJvckRlc2NyaXB0aW9uT3JJbm5lclJlc3VsdCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuY29uc3RydWN0b3JfMDMoZXJyb3JEZXNjcmlwdGlvbkNvZGVPckVycm9yRGVzY3JpcHRpb25PcklubmVyUmVzdWx0KTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ1RPUlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8wMChlcnJvckRlc2NyaXB0aW9uQ29kZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTtcclxuICAgIHRoaXMuRXJyb3JJZCA9IGVycm9yRGVzY3JpcHRpb25Db2RlO1xyXG4gICAgdGhpcy5lcnJvckRlc2NyaXB0aW9uID0gTGFuZ3VhZ2VEYXRhLkluc3RhbmNlLmdldENvbnN0TWVzc2FnZShlcnJvckRlc2NyaXB0aW9uQ29kZSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgY29uc3RydWN0b3JfMDEoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgdGhpcy5FcnJvcklkID0gXCJcIjtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ1RPUiB3aXRoIGlubmVyIHJlc3VsdCBhbmQgZGVzY3JpcHRpb25cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgY29uc3RydWN0b3JfMDIoZXJyb3JEZXNjcmlwdGlvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1Y2Nlc3MgPSBmYWxzZTtcclxuICAgIHRoaXMuZXJyb3JEZXNjcmlwdGlvbiA9IGVycm9yRGVzY3JpcHRpb247XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1IgLSB1c2UgdGhlIGlubmVyIGNvbW1hbmQncyBzdWNjZXNzIGFkIGRlc2NyaXB0aW9uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpbm5lclJlc3VsdFwiPjwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8wMyhpbm5lclJlc3VsdDogUmV0dXJuUmVzdWx0QmFzZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWNjZXNzID0gaW5uZXJSZXN1bHQuU3VjY2VzcztcclxuICAgIHRoaXMuZXJyb3JEZXNjcmlwdGlvbiA9IGlubmVyUmVzdWx0LkVycm9yRGVzY3JpcHRpb247XHJcbiAgfVxyXG5cclxuICBHZXRFcnJvcklkKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5FcnJvcklkO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,18 @@
1
+ export class ReturnResultBase {
2
+ constructor(innerResult) {
3
+ this.InnerResult = null;
4
+ if (arguments.length === 1)
5
+ this.constructor_0(innerResult);
6
+ else
7
+ this.constructor_1();
8
+ }
9
+ constructor_0(innerResult) {
10
+ this.InnerResult = innerResult;
11
+ }
12
+ constructor_1() {
13
+ }
14
+ static ErroNeedToBeHandled() {
15
+ return false;
16
+ }
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmV0dXJuUmVzdWx0QmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvdXRpbC9SZXR1cm5SZXN1bHRCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsZ0JBQWdCO0lBU3BDLFlBQVksV0FBOEI7UUFOMUMsZ0JBQVcsR0FBcUIsSUFBSSxDQUFDO1FBT25DLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7O1lBRWhDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBTU8sYUFBYSxDQUFDLFdBQTZCO1FBQ2pELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFLTyxhQUFhO0lBQ3JCLENBQUM7SUFNRCxNQUFNLENBQUMsbUJBQW1CO1FBQ3hCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJldHVyblJlc3VsdEJhc2Uge1xyXG4gIGFic3RyYWN0IGdldCBTdWNjZXNzKCk6IGJvb2xlYW47XHJcbiAgYWJzdHJhY3QgZ2V0IEVycm9yRGVzY3JpcHRpb24oKTogc3RyaW5nO1xyXG4gIElubmVyUmVzdWx0OiBSZXR1cm5SZXN1bHRCYXNlID0gbnVsbDtcclxuXHJcbiAgYWJzdHJhY3QgR2V0RXJyb3JJZCgpOiBhbnkgO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihpbm5lclJlc3VsdDogUmV0dXJuUmVzdWx0QmFzZSk7XHJcbiAgY29uc3RydWN0b3IoKTtcclxuICBjb25zdHJ1Y3Rvcihpbm5lclJlc3VsdD86IFJldHVyblJlc3VsdEJhc2UpIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAoaW5uZXJSZXN1bHQpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzEoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ1RPUlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaW5uZXJSZXN1bHRcIj48L3BhcmFtPlxyXG4gIHByaXZhdGUgY29uc3RydWN0b3JfMChpbm5lclJlc3VsdDogUmV0dXJuUmVzdWx0QmFzZSk6IHZvaWQge1xyXG4gICAgdGhpcy5Jbm5lclJlc3VsdCA9IGlubmVyUmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDVE9SXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yXzEoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHJldHVybiB0cnVlIGlmIHRoaXMgZXJyb3IgbmVlZCB0byBiZSBoYW5kbGVkXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBFcnJvTmVlZFRvQmVIYW5kbGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,89 @@
1
+ import { NChar, NString, StringBuilder } from "@magic-xpa/mscorelib";
2
+ export class Scrambler {
3
+ static Scramble(inVal) {
4
+ if (!this.ScramblingEnabled)
5
+ return inVal;
6
+ let curr = 0;
7
+ let currChr;
8
+ let length = inVal.length;
9
+ let random = Scrambler.RandomScramble(length);
10
+ let key = Math.floor(Math.sqrt(length)) + random;
11
+ let outVal = new StringBuilder(length + 1);
12
+ outVal.Append(String.fromCharCode(random + 81));
13
+ for (let i = 0; i < key; i++) {
14
+ curr = i;
15
+ while (curr < length) {
16
+ currChr = inVal[curr];
17
+ outVal.Append(currChr);
18
+ curr += key;
19
+ }
20
+ }
21
+ outVal.Append('_');
22
+ return outVal.ToString();
23
+ }
24
+ static LocateScramble(inVal, from) {
25
+ let i = from;
26
+ while (i < inVal.length && NChar.IsWhiteSpace(inVal.charAt(i))) {
27
+ i = i + 1;
28
+ }
29
+ return i + 1;
30
+ }
31
+ static RandomScramble(len) {
32
+ let delta;
33
+ let sqrt = Math.sqrt(len);
34
+ let low = Scrambler.XML_MIN_RANDOM;
35
+ let high = Scrambler.XML_MAX_RANDOM;
36
+ if (low < (((-1) * sqrt) / 2))
37
+ low = Math.floor(((-1) * sqrt) / 2);
38
+ if (high > (sqrt / 2))
39
+ high = Math.floor(sqrt / 2);
40
+ delta = (Math.random() * (high - low)) + low;
41
+ delta = Math.floor(delta);
42
+ if (delta === Scrambler.XML_ILLEGAL_RANDOM)
43
+ delta++;
44
+ return delta;
45
+ }
46
+ static UnScramble(inVal, beginOffSet, endOffSet) {
47
+ if (!Scrambler.ScramblingEnabled) {
48
+ let outVal = inVal.substr(beginOffSet, endOffSet - beginOffSet + 1);
49
+ return outVal;
50
+ }
51
+ else {
52
+ let currOut, currIn, i;
53
+ let length;
54
+ let key;
55
+ let outVal;
56
+ let currBlk;
57
+ let blockSize;
58
+ let reminder;
59
+ let start;
60
+ let randomChr;
61
+ endOffSet = endOffSet - 1;
62
+ start = this.LocateScramble(inVal, beginOffSet);
63
+ randomChr = inVal[start - 1];
64
+ length = endOffSet - start + 1;
65
+ key = (randomChr.charCodeAt(0) - 81) + Math.floor(Math.sqrt(length));
66
+ outVal = new Array(length);
67
+ blockSize = Math.floor(length / key);
68
+ reminder = length % key;
69
+ for (i = currOut = 0; currOut < length; i++) {
70
+ currIn = i;
71
+ currBlk = 1;
72
+ while (currIn < length && currOut < length) {
73
+ outVal[currOut] = inVal[currIn + start];
74
+ currIn += blockSize;
75
+ if (currBlk <= reminder)
76
+ currIn++;
77
+ currOut++;
78
+ currBlk++;
79
+ }
80
+ }
81
+ return NString.FromChars(outVal);
82
+ }
83
+ }
84
+ }
85
+ Scrambler.ScramblingEnabled = true;
86
+ Scrambler.XML_MIN_RANDOM = -48;
87
+ Scrambler.XML_MAX_RANDOM = 47;
88
+ Scrambler.XML_ILLEGAL_RANDOM = -21;
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NyYW1ibGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy91dGlsL1NjcmFtYmxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRSxNQUFNLE9BQU8sU0FBUztJQVNwQixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFDekIsT0FBTyxLQUFLLENBQUM7UUFFZixJQUFJLElBQUksR0FBVyxDQUFDLENBQUM7UUFDckIsSUFBSSxPQUFlLENBQUM7UUFDcEIsSUFBSSxNQUFNLEdBQVcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNsQyxJQUFJLE1BQU0sR0FBVyxTQUFTLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUksR0FBRyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUN6RCxJQUFJLE1BQU0sR0FBa0IsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRzFELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVoRCxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLElBQUksR0FBRyxDQUFDLENBQUM7WUFFVCxPQUFPLElBQUksR0FBRyxNQUFNLEVBQUU7Z0JBQ3BCLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RCLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7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LENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNyRSxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0IsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLFFBQVEsR0FBRyxNQUFNLEdBQUcsR0FBRyxDQUFDO1lBRXhCLEtBQUssQ0FBQyxHQUFHLE9BQU8sR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDM0MsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDWCxPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUVaLE9BQU8sTUFBTSxHQUFHLE1BQU0sSUFBSSxPQUFPLEdBQUcsTUFBTSxFQUFFO29CQUMxQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQztvQkFDeEMsTUFBTSxJQUFJLFNBQVMsQ0FBQztvQkFDcEIsSUFBSSxPQUFPLElBQUksUUFBUTt3QkFDckIsTUFBTSxFQUFFLENBQUM7b0JBQ1gsT0FBTyxFQUFFLENBQUM7b0JBQ1YsT0FBTyxFQUFFLENBQUM7aUJBQ1g7YUFDRjtZQUVELE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7O0FBbklNLDJCQUFpQixHQUFZLElBQUksQ0FBQztBQUMxQix3QkFBYyxHQUFXLENBQUMsRUFBRSxDQUFDO0FBQzdCLHdCQUFjLEdBQVcsRUFBRSxDQUFDO0FBQzVCLDRCQUFrQixHQUFXLENBQUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOQ2hhciwgTlN0cmluZywgU3RyaW5nQnVpbGRlcn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgU2NyYW1ibGVyIHtcclxuICBzdGF0aWMgU2NyYW1ibGluZ0VuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlOyAvLyBEaXNhYmxlIHNjcmFtYmxpbmdcclxuICBwcml2YXRlIHN0YXRpYyBYTUxfTUlOX1JBTkRPTTogbnVtYmVyID0gLTQ4O1xyXG4gIHByaXZhdGUgc3RhdGljIFhNTF9NQVhfUkFORE9NOiBudW1iZXIgPSA0NztcclxuICBwcml2YXRlIHN0YXRpYyBYTUxfSUxMRUdBTF9SQU5ET006IG51bWJlciA9IC0yMTtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PnNjcmFtYmxlIHN0cmluZzwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpblZhbFwiPnN0cmluZyB0byBzY3JhbWJsZTwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiBzY3JhbWJsZWQgc3RyaW5nPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBTY3JhbWJsZShpblZhbDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5TY3JhbWJsaW5nRW5hYmxlZClcclxuICAgICAgcmV0dXJuIGluVmFsO1xyXG5cclxuICAgIGxldCBjdXJyOiBudW1iZXIgPSAwO1xyXG4gICAgbGV0IGN1cnJDaHI6IHN0cmluZztcclxuICAgIGxldCBsZW5ndGg6IG51bWJlciA9IGluVmFsLmxlbmd0aDtcclxuICAgIGxldCByYW5kb206IG51bWJlciA9IFNjcmFtYmxlci5SYW5kb21TY3JhbWJsZShsZW5ndGgpO1xyXG4gICAgbGV0IGtleTogbnVtYmVyID0gTWF0aC5mbG9vcihNYXRoLnNxcnQobGVuZ3RoKSkgKyByYW5kb207XHJcbiAgICBsZXQgb3V0VmFsOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIobGVuZ3RoICsgMSk7XHJcblxyXG4gICAgLy8gVGhlIGZpcnN0IGNoYXIgaW4gdGhlIHNjcmFtYmxlZCBzdHJpbmcgaXMgYSByYW5kb20gbW9kaWZpZXIgdG8gdGhlIGRlZmF1bHQga2V5XHJcbiAgICBvdXRWYWwuQXBwZW5kKFN0cmluZy5mcm9tQ2hhckNvZGUocmFuZG9tICsgODEpKTtcclxuXHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwga2V5OyBpKyspIHtcclxuICAgICAgY3VyciA9IGk7XHJcblxyXG4gICAgICB3aGlsZSAoY3VyciA8IGxlbmd0aCkge1xyXG4gICAgICAgIGN1cnJDaHIgPSBpblZhbFtjdXJyXTtcclxuICAgICAgICBvdXRWYWwuQXBwZW5kKGN1cnJDaHIpO1xyXG4gICAgICAgIGN1cnIgKz0ga2V5O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhlIGxhc3QgY2hhciBpbiB0aGUgc2NyYW1ibGVkIHN0cmluZyBpcyBhIHBhZGRpbmcgcmVhZGFibGUgY2hhci5cclxuICAgIG91dFZhbC5BcHBlbmQoJ18nKS8qJ18nKi87XHJcbiAgICByZXR1cm4gb3V0VmFsLlRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+ZGVsZXRlIGZpcnN0IGNoYXJhY3RlciBvZiBzY3JhbWJsZWQgdGV4dCBhbmQgbWFrZXMgbGVmdCB0cmltIHRvIHRoZSBzdHJpbmc8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgTG9jYXRlU2NyYW1ibGUoaW5WYWw6IHN0cmluZywgZnJvbTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGxldCBpOiBudW1iZXIgPSBmcm9tO1xyXG4gICAgd2hpbGUgKGkgPCBpblZhbC5sZW5ndGggJiYgTkNoYXIuSXNXaGl0ZVNwYWNlKGluVmFsLmNoYXJBdChpKSkpIHtcclxuICAgICAgaSA9IGkgKyAxO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGkgKyAxO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBDaG9vc2UgYSByYW5kb20gbW9kaWZpZXIgdG8gdGhlIGtleSBvbiB3aGljaCB3ZSBiYXNlIHRoZSBzY3JhbWJsaW5nIHByb2Nlc3MuXHJcbiAgLy8vIFRoZSByYW5kb20gZmFjdG9yIGNhbm5vdCBiZSBqdXN0IGFueSBudW1iZXIgd2UgY2hvb3NlLiBTaW5jZSB0aGUgc2NyYW1ibGUga2V5XHJcbiAgLy8vIGRldGVybWluZXMgdGhlIGFtb3VudCBvZiAnanVtcHMnIHdlIHBlcmZvcm0gb24gdGhlIHRleHQgdG8gYmUgc2NyYW1ibGVkLCB0aGVuXHJcbiAgLy8vIHRoZSByYW5kb20gbnVtYmVyIHdlIGFkZCB0byBpdCBtdXN0IG5vdCBiZSB0b28gYmlnLCBub3IgdG9vIHNtYWxsLiBBcyBhIHJ1bGUsXHJcbiAgLy8vIHRoZSByYW5kb20gbW9kaWZpZXIgY2FuIHJhbmdlIGZyb20gU1FSVChsZW4pLzInIHRvICctU1FSVChsZW4pLzInLCBhbmQgc2luY2Ugd2VcclxuICAvLy8gcGFzcyB0aGUgc2VsZWN0ZWQgbnVtYmVyIGFzIGEgY2hhcmFjdGVyIHdpdGhpbiB0aGUgWE1MLCB0aGUgd2hvbGUgcmFuZ2UgY2Fubm90XHJcbiAgLy8vIGV4Y2VlZCB0aGUgbnVtYmVyIG9mIHRoZSBwcmludGFibGUgY2hhcmFjdGVycyAoOTUpLCB0aHVzIHRoZSByYW5nZSBpcyBsaW1pdGVkXHJcbiAgLy8vIGJldHdlZW4gKC00OCkgdG8gKDQ3KSwgc28gd2UgY2FwIHRoZSBhbGxvd2VkIHJhbmdlIGFjY29yZGluZyB0byB0aGVzZSBsaW1pdHMuXHJcbiAgLy8vIExhc3QsIHRoZSB2YWx1ZSBYTUxfSUxMRUdBTF9SQU5ET00sIHNpbmNlIGl0IHdpbGwgcmVzdWx0IGluIGFkZGluZyB0aGUgY2hhciAnPCdcclxuICAvLy8gdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgWE1MLiBUaGlzIHdpbGwgbWFrZSB0aGUgY2xpZW50IGNvbmZ1c2VkLCBzaW5jZSBpdCB3aWxsXHJcbiAgLy8vIHRoaW5rIHRoZSBYTUwgaXMgbm90IHNjcmFtYmxlZC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImxlblwiPm9mIG91dGdvaW5nIFN0cmluZzwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiByYW5kb20gbW9kaWZpZXI8L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgUmFuZG9tU2NyYW1ibGUobGVuOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgbGV0IGRlbHRhOiBudW1iZXI7XHJcbiAgICBsZXQgc3FydDogbnVtYmVyID0gTWF0aC5zcXJ0KGxlbik7XHJcbiAgICBsZXQgbG93OiBudW1iZXIgPSBTY3JhbWJsZXIuWE1MX01JTl9SQU5ET007XHJcbiAgICBsZXQgaGlnaDogbnVtYmVyID0gU2NyYW1ibGVyLlhNTF9NQVhfUkFORE9NO1xyXG5cclxuICAgIGlmIChsb3cgPCAoKCgtMSkgKiBzcXJ0KSAvIDIpKVxyXG4gICAgICBsb3cgPSBNYXRoLmZsb29yKCgoLTEpICogc3FydCkgLyAyKTtcclxuXHJcbiAgICBpZiAoaGlnaCA+IChzcXJ0IC8gMikpXHJcbiAgICAgIGhpZ2ggPSBNYXRoLmZsb29yKHNxcnQgLyAyKTtcclxuXHJcbiAgICBkZWx0YSA9IChNYXRoLnJhbmRvbSgpICogKGhpZ2ggLSBsb3cpKSArIGxvdztcclxuICAgIGRlbHRhID0gTWF0aC5mbG9vcihkZWx0YSk7XHJcbiAgICBpZiAoZGVsdGEgPT09IFNjcmFtYmxlci5YTUxfSUxMRUdBTF9SQU5ET00pXHJcbiAgICAgIGRlbHRhKys7XHJcblxyXG4gICAgcmV0dXJuIGRlbHRhO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5Pm1ha2UgdW5zY3JhbWJsaW5nIHRvIHN0cmluZyBpbnNpZGUgdXBwZXIgYW5kIGRvd24gYm9yZGVyPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImluVmFsXCI+c2NyYW1ibGVkIHN0cmluZyB0byBidWlsZCB1bnNjcmFtYmxlZCBzdHJpbmcgZnJvbSBpdDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiYmVnaW5PZmZTZXRcIj5vZmZzZXQgd2hlcmUgdGhlIHNjcmFtYmxlZCBzdHJpbmcgYmVnaW5zPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJlbmRPZmZTZXRcIj5vZmZzZXQgb2YgdGhlIGxhc3QgY2hhciBpbiB0aGUgc2NyYW1ibGVkIHN0cmluZy48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gdW5zY3JhbWJsZWQgc3RyaW5nPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBVblNjcmFtYmxlKGluVmFsOiBzdHJpbmcsIGJlZ2luT2ZmU2V0OiBudW1iZXIsIGVuZE9mZlNldDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGlmICghU2NyYW1ibGVyLlNjcmFtYmxpbmdFbmFibGVkKSB7XHJcbiAgICAgIGxldCBvdXRWYWw6IHN0cmluZyA9IGluVmFsLnN1YnN0cihiZWdpbk9mZlNldCwgZW5kT2ZmU2V0IC0gYmVnaW5PZmZTZXQgKyAxKTtcclxuICAgICAgcmV0dXJuIG91dFZhbDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBsZXQgY3Vyck91dDogbnVtYmVyLCBjdXJySW46IG51bWJlciwgaTogbnVtYmVyO1xyXG4gICAgICBsZXQgbGVuZ3RoOiBudW1iZXI7XHJcbiAgICAgIGxldCBrZXk6IG51bWJlcjtcclxuICAgICAgbGV0IG91dFZhbDogc3RyaW5nW107XHJcbiAgICAgIGxldCBjdXJyQmxrOiBudW1iZXI7XHJcbiAgICAgIGxldCBibG9ja1NpemU6IG51bWJlcjtcclxuICAgICAgbGV0IHJlbWluZGVyOiBudW1iZXI7XHJcbiAgICAgIGxldCBzdGFydDogbnVtYmVyO1xyXG4gICAgICBsZXQgcmFuZG9tQ2hyOiBzdHJpbmc7XHJcblxyXG4gICAgICAvLyBpZ25vcmUgdGhlIGxhc3QgY2hhciBpbiB0aGUgaW5wdXQsIGl0J3MganVzdCBhIHBhZGRpbmcgY2hhcmFjdGVyLlxyXG4gICAgICBlbmRPZmZTZXQgPSBlbmRPZmZTZXQgLSAxO1xyXG5cclxuICAgICAgLy8gc2tpcCBvdmVyIHRoZSBmaXJzdCBjaGFyIGluIHRoZSBpbnB1dCwgaXQgb25seSBjb250YWlucyBhIHJhbmRvbSBtb2RpZmllciB0byB0aGUga2V5LlxyXG4gICAgICAvLyBpdCBpcyBub3QgcGFydCBvZiB0aGUgZGF0YS5cclxuICAgICAgc3RhcnQgPSB0aGlzLkxvY2F0ZVNjcmFtYmxlKGluVmFsLCBiZWdpbk9mZlNldCk7XHJcbiAgICAgIHJhbmRvbUNociA9IGluVmFsW3N0YXJ0IC0gMV07XHJcblxyXG4gICAgICBsZW5ndGggPSBlbmRPZmZTZXQgLSBzdGFydCArIDE7XHJcbiAgICAgIGtleSA9IChyYW5kb21DaHIuY2hhckNvZGVBdCgwKSAtIDgxKSArIE1hdGguZmxvb3IoTWF0aC5zcXJ0KGxlbmd0aCkpO1xyXG4gICAgICBvdXRWYWwgPSBuZXcgQXJyYXkobGVuZ3RoKTtcclxuICAgICAgYmxvY2tTaXplID0gTWF0aC5mbG9vcihsZW5ndGggLyBrZXkpO1xyXG4gICAgICByZW1pbmRlciA9IGxlbmd0aCAlIGtleTtcclxuXHJcbiAgICAgIGZvciAoaSA9IGN1cnJPdXQgPSAwOyBjdXJyT3V0IDwgbGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjdXJySW4gPSBpO1xyXG4gICAgICAgIGN1cnJCbGsgPSAxO1xyXG5cclxuICAgICAgICB3aGlsZSAoY3VyckluIDwgbGVuZ3RoICYmIGN1cnJPdXQgPCBsZW5ndGgpIHtcclxuICAgICAgICAgIG91dFZhbFtjdXJyT3V0XSA9IGluVmFsW2N1cnJJbiArIHN0YXJ0XTtcclxuICAgICAgICAgIGN1cnJJbiArPSBibG9ja1NpemU7XHJcbiAgICAgICAgICBpZiAoY3VyckJsayA8PSByZW1pbmRlcilcclxuICAgICAgICAgICAgY3VyckluKys7XHJcbiAgICAgICAgICBjdXJyT3V0Kys7XHJcbiAgICAgICAgICBjdXJyQmxrKys7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gTlN0cmluZy5Gcm9tQ2hhcnMob3V0VmFsKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,12 @@
1
+ import { HashUtils } from '@magic-xpa/mscorelib';
2
+ export class UniqueIDUtils {
3
+ static GetUniqueMachineID() {
4
+ if (!UniqueIDUtils.id) {
5
+ let date = new Date();
6
+ let timeStamp = date.toDateString() + date.toTimeString() + date.getMilliseconds();
7
+ UniqueIDUtils.id = HashUtils.GetHashCode(timeStamp).toString() + '_';
8
+ }
9
+ return UniqueIDUtils.id;
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5pcXVlSURVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvdXRpbC9VbmlxdWVJRFV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxNQUFNLE9BQU8sYUFBYTtJQUl4QixNQUFNLENBQUMsa0JBQWtCO1FBRXZCLElBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFO1lBRXBCLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdEIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDbkYsYUFBYSxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQztTQUN2RTtRQUNELE9BQU8sYUFBYSxDQUFDLEVBQUUsQ0FBRTtJQUUzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXNoVXRpbHN9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuZXhwb3J0IGNsYXNzIFVuaXF1ZUlEVXRpbHMge1xyXG5cclxuICBwcml2YXRlIHN0YXRpYyBpZDtcclxuXHJcbiAgc3RhdGljIEdldFVuaXF1ZU1hY2hpbmVJRCgpOiBzdHJpbmcge1xyXG5cclxuICAgIGlmKCFVbmlxdWVJRFV0aWxzLmlkKSB7XHJcbiAgICAgIC8vIFRpbWVzdGFtcCB3aWxsIGJlIHRoZSBuZXcgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHdlYmNsaWVudFxyXG4gICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGxldCB0aW1lU3RhbXAgPSBkYXRlLnRvRGF0ZVN0cmluZygpICsgZGF0ZS50b1RpbWVTdHJpbmcoKSArIGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCk7IC8vIGdldCB0aGUgdGltZSBzdGFtcFxyXG4gICAgICBVbmlxdWVJRFV0aWxzLmlkID0gSGFzaFV0aWxzLkdldEhhc2hDb2RlKHRpbWVTdGFtcCApLnRvU3RyaW5nKCkgKyAnXyc7IC8vIGdldCBoYXNoIGNvZGUgb2YgdGltZXN0YW1wXHJcbiAgICB9XHJcbiAgICByZXR1cm4gVW5pcXVlSURVdGlscy5pZCA7XHJcblxyXG4gIH1cclxufVxyXG4iXX0=