tm1npm 1.0.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 (451) hide show
  1. package/.env.example +16 -0
  2. package/.eslintrc.js +28 -0
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  5. package/.github/ISSUE_TEMPLATE/question.md +24 -0
  6. package/.github/workflows/publish-npm.yml +53 -0
  7. package/.github/workflows/test-on-tag.yml +172 -0
  8. package/DEVELOPMENT_GUIDE.md +587 -0
  9. package/LICENSE +21 -0
  10. package/README.md +580 -0
  11. package/jest.ci.config.js +83 -0
  12. package/jest.config.js +68 -0
  13. package/lib/exceptions/TM1Exception.d.ts +17 -0
  14. package/lib/exceptions/TM1Exception.d.ts.map +1 -0
  15. package/lib/exceptions/TM1Exception.js +36 -0
  16. package/lib/exceptions/TM1RestException.d.ts +10 -0
  17. package/lib/exceptions/TM1RestException.d.ts.map +1 -0
  18. package/lib/exceptions/TM1RestException.js +17 -0
  19. package/lib/exceptions/TM1TimeoutException.d.ts +9 -0
  20. package/lib/exceptions/TM1TimeoutException.d.ts.map +1 -0
  21. package/lib/exceptions/TM1TimeoutException.js +16 -0
  22. package/lib/index.d.ts +41 -0
  23. package/lib/index.d.ts.map +1 -0
  24. package/lib/index.js +132 -0
  25. package/lib/objects/Annotation.d.ts +36 -0
  26. package/lib/objects/Annotation.d.ts.map +1 -0
  27. package/lib/objects/Annotation.js +134 -0
  28. package/lib/objects/Application.d.ts +67 -0
  29. package/lib/objects/Application.d.ts.map +1 -0
  30. package/lib/objects/Application.js +125 -0
  31. package/lib/objects/Axis.d.ts +36 -0
  32. package/lib/objects/Axis.d.ts.map +1 -0
  33. package/lib/objects/Axis.js +103 -0
  34. package/lib/objects/Chore.d.ts +43 -0
  35. package/lib/objects/Chore.d.ts.map +1 -0
  36. package/lib/objects/Chore.js +129 -0
  37. package/lib/objects/ChoreFrequency.d.ts +23 -0
  38. package/lib/objects/ChoreFrequency.d.ts.map +1 -0
  39. package/lib/objects/ChoreFrequency.js +61 -0
  40. package/lib/objects/ChoreStartTime.d.ts +15 -0
  41. package/lib/objects/ChoreStartTime.d.ts.map +1 -0
  42. package/lib/objects/ChoreStartTime.js +85 -0
  43. package/lib/objects/ChoreTask.d.ts +28 -0
  44. package/lib/objects/ChoreTask.d.ts.map +1 -0
  45. package/lib/objects/ChoreTask.js +66 -0
  46. package/lib/objects/Cube.d.ts +26 -0
  47. package/lib/objects/Cube.d.ts.map +1 -0
  48. package/lib/objects/Cube.js +109 -0
  49. package/lib/objects/Dimension.d.ts +26 -0
  50. package/lib/objects/Dimension.d.ts.map +1 -0
  51. package/lib/objects/Dimension.js +86 -0
  52. package/lib/objects/Element.d.ts +35 -0
  53. package/lib/objects/Element.d.ts.map +1 -0
  54. package/lib/objects/Element.js +115 -0
  55. package/lib/objects/ElementAttribute.d.ts +28 -0
  56. package/lib/objects/ElementAttribute.d.ts.map +1 -0
  57. package/lib/objects/ElementAttribute.js +97 -0
  58. package/lib/objects/Git.d.ts +21 -0
  59. package/lib/objects/Git.d.ts.map +1 -0
  60. package/lib/objects/Git.js +49 -0
  61. package/lib/objects/GitCommit.d.ts +12 -0
  62. package/lib/objects/GitCommit.d.ts.map +1 -0
  63. package/lib/objects/GitCommit.js +26 -0
  64. package/lib/objects/GitPlan.d.ts +35 -0
  65. package/lib/objects/GitPlan.d.ts.map +1 -0
  66. package/lib/objects/GitPlan.js +78 -0
  67. package/lib/objects/GitRemote.d.ts +12 -0
  68. package/lib/objects/GitRemote.d.ts.map +1 -0
  69. package/lib/objects/GitRemote.js +26 -0
  70. package/lib/objects/Hierarchy.d.ts +47 -0
  71. package/lib/objects/Hierarchy.d.ts.map +1 -0
  72. package/lib/objects/Hierarchy.js +165 -0
  73. package/lib/objects/MDXView.d.ts +19 -0
  74. package/lib/objects/MDXView.d.ts.map +1 -0
  75. package/lib/objects/MDXView.js +67 -0
  76. package/lib/objects/NativeView.d.ts +39 -0
  77. package/lib/objects/NativeView.d.ts.map +1 -0
  78. package/lib/objects/NativeView.js +209 -0
  79. package/lib/objects/Process.d.ts +70 -0
  80. package/lib/objects/Process.d.ts.map +1 -0
  81. package/lib/objects/Process.js +210 -0
  82. package/lib/objects/ProcessDebugBreakpoint.d.ts +60 -0
  83. package/lib/objects/ProcessDebugBreakpoint.d.ts.map +1 -0
  84. package/lib/objects/ProcessDebugBreakpoint.js +168 -0
  85. package/lib/objects/ProcessParameter.d.ts +23 -0
  86. package/lib/objects/ProcessParameter.d.ts.map +1 -0
  87. package/lib/objects/ProcessParameter.js +55 -0
  88. package/lib/objects/ProcessVariable.d.ts +26 -0
  89. package/lib/objects/ProcessVariable.d.ts.map +1 -0
  90. package/lib/objects/ProcessVariable.js +63 -0
  91. package/lib/objects/Rules.d.ts +30 -0
  92. package/lib/objects/Rules.d.ts.map +1 -0
  93. package/lib/objects/Rules.js +103 -0
  94. package/lib/objects/Sandbox.d.ts +21 -0
  95. package/lib/objects/Sandbox.d.ts.map +1 -0
  96. package/lib/objects/Sandbox.js +64 -0
  97. package/lib/objects/Server.d.ts +27 -0
  98. package/lib/objects/Server.d.ts.map +1 -0
  99. package/lib/objects/Server.js +26 -0
  100. package/lib/objects/Subset.d.ts +44 -0
  101. package/lib/objects/Subset.d.ts.map +1 -0
  102. package/lib/objects/Subset.js +222 -0
  103. package/lib/objects/TM1Object.d.ts +8 -0
  104. package/lib/objects/TM1Object.d.ts.map +1 -0
  105. package/lib/objects/TM1Object.js +17 -0
  106. package/lib/objects/TM1Project.d.ts +74 -0
  107. package/lib/objects/TM1Project.d.ts.map +1 -0
  108. package/lib/objects/TM1Project.js +409 -0
  109. package/lib/objects/User.d.ts +42 -0
  110. package/lib/objects/User.d.ts.map +1 -0
  111. package/lib/objects/User.js +157 -0
  112. package/lib/objects/View.d.ts +19 -0
  113. package/lib/objects/View.d.ts.map +1 -0
  114. package/lib/objects/View.js +33 -0
  115. package/lib/objects/index.d.ts +30 -0
  116. package/lib/objects/index.d.ts.map +1 -0
  117. package/lib/objects/index.js +68 -0
  118. package/lib/services/AnnotationService.d.ts +17 -0
  119. package/lib/services/AnnotationService.d.ts.map +1 -0
  120. package/lib/services/AnnotationService.js +91 -0
  121. package/lib/services/ApplicationService.d.ts +21 -0
  122. package/lib/services/ApplicationService.d.ts.map +1 -0
  123. package/lib/services/ApplicationService.js +227 -0
  124. package/lib/services/AuditLogService.d.ts +15 -0
  125. package/lib/services/AuditLogService.d.ts.map +1 -0
  126. package/lib/services/AuditLogService.js +153 -0
  127. package/lib/services/CellService.d.ts +191 -0
  128. package/lib/services/CellService.d.ts.map +1 -0
  129. package/lib/services/CellService.js +597 -0
  130. package/lib/services/ChoreService.d.ts +24 -0
  131. package/lib/services/ChoreService.d.ts.map +1 -0
  132. package/lib/services/ChoreService.js +219 -0
  133. package/lib/services/ConfigurationService.d.ts +18 -0
  134. package/lib/services/ConfigurationService.d.ts.map +1 -0
  135. package/lib/services/ConfigurationService.js +60 -0
  136. package/lib/services/CubeService.d.ts +43 -0
  137. package/lib/services/CubeService.d.ts.map +1 -0
  138. package/lib/services/CubeService.js +296 -0
  139. package/lib/services/DimensionService.d.ts +21 -0
  140. package/lib/services/DimensionService.d.ts.map +1 -0
  141. package/lib/services/DimensionService.js +146 -0
  142. package/lib/services/ElementService.d.ts +132 -0
  143. package/lib/services/ElementService.d.ts.map +1 -0
  144. package/lib/services/ElementService.js +579 -0
  145. package/lib/services/FileService.d.ts +14 -0
  146. package/lib/services/FileService.d.ts.map +1 -0
  147. package/lib/services/FileService.js +65 -0
  148. package/lib/services/GitService.d.ts +23 -0
  149. package/lib/services/GitService.d.ts.map +1 -0
  150. package/lib/services/GitService.js +225 -0
  151. package/lib/services/HierarchyService.d.ts +32 -0
  152. package/lib/services/HierarchyService.d.ts.map +1 -0
  153. package/lib/services/HierarchyService.js +235 -0
  154. package/lib/services/JobService.d.ts +13 -0
  155. package/lib/services/JobService.d.ts.map +1 -0
  156. package/lib/services/JobService.js +83 -0
  157. package/lib/services/LoggerService.d.ts +16 -0
  158. package/lib/services/LoggerService.d.ts.map +1 -0
  159. package/lib/services/LoggerService.js +101 -0
  160. package/lib/services/ManageService.d.ts +47 -0
  161. package/lib/services/ManageService.d.ts.map +1 -0
  162. package/lib/services/ManageService.js +221 -0
  163. package/lib/services/MessageLogService.d.ts +13 -0
  164. package/lib/services/MessageLogService.d.ts.map +1 -0
  165. package/lib/services/MessageLogService.js +175 -0
  166. package/lib/services/MonitoringService.d.ts +29 -0
  167. package/lib/services/MonitoringService.d.ts.map +1 -0
  168. package/lib/services/MonitoringService.js +86 -0
  169. package/lib/services/ObjectService.d.ts +8 -0
  170. package/lib/services/ObjectService.d.ts.map +1 -0
  171. package/lib/services/ObjectService.js +20 -0
  172. package/lib/services/PowerBiService.d.ts +13 -0
  173. package/lib/services/PowerBiService.d.ts.map +1 -0
  174. package/lib/services/PowerBiService.js +52 -0
  175. package/lib/services/ProcessService.d.ts +57 -0
  176. package/lib/services/ProcessService.d.ts.map +1 -0
  177. package/lib/services/ProcessService.js +499 -0
  178. package/lib/services/RestService.d.ts +68 -0
  179. package/lib/services/RestService.d.ts.map +1 -0
  180. package/lib/services/RestService.js +166 -0
  181. package/lib/services/SandboxService.d.ts +28 -0
  182. package/lib/services/SandboxService.d.ts.map +1 -0
  183. package/lib/services/SandboxService.js +197 -0
  184. package/lib/services/SecurityService.d.ts +33 -0
  185. package/lib/services/SecurityService.d.ts.map +1 -0
  186. package/lib/services/SecurityService.js +249 -0
  187. package/lib/services/ServerService.d.ts +55 -0
  188. package/lib/services/ServerService.d.ts.map +1 -0
  189. package/lib/services/ServerService.js +247 -0
  190. package/lib/services/SessionService.d.ts +15 -0
  191. package/lib/services/SessionService.d.ts.map +1 -0
  192. package/lib/services/SessionService.js +68 -0
  193. package/lib/services/SubsetService.d.ts +13 -0
  194. package/lib/services/SubsetService.d.ts.map +1 -0
  195. package/lib/services/SubsetService.js +46 -0
  196. package/lib/services/TM1Service.d.ts +39 -0
  197. package/lib/services/TM1Service.d.ts.map +1 -0
  198. package/lib/services/TM1Service.js +94 -0
  199. package/lib/services/ThreadService.d.ts +15 -0
  200. package/lib/services/ThreadService.d.ts.map +1 -0
  201. package/lib/services/ThreadService.js +104 -0
  202. package/lib/services/TransactionLogService.d.ts +11 -0
  203. package/lib/services/TransactionLogService.d.ts.map +1 -0
  204. package/lib/services/TransactionLogService.js +124 -0
  205. package/lib/services/UserService.d.ts +14 -0
  206. package/lib/services/UserService.d.ts.map +1 -0
  207. package/lib/services/UserService.js +103 -0
  208. package/lib/services/ViewService.d.ts +30 -0
  209. package/lib/services/ViewService.d.ts.map +1 -0
  210. package/lib/services/ViewService.js +331 -0
  211. package/lib/services/index.d.ts +26 -0
  212. package/lib/services/index.d.ts.map +1 -0
  213. package/lib/services/index.js +56 -0
  214. package/lib/tests/100PercentParityCheck.test.d.ts +6 -0
  215. package/lib/tests/100PercentParityCheck.test.d.ts.map +1 -0
  216. package/lib/tests/100PercentParityCheck.test.js +143 -0
  217. package/lib/tests/basic.test.d.ts +6 -0
  218. package/lib/tests/basic.test.d.ts.map +1 -0
  219. package/lib/tests/basic.test.js +52 -0
  220. package/lib/tests/cellService.test.d.ts +6 -0
  221. package/lib/tests/cellService.test.d.ts.map +1 -0
  222. package/lib/tests/cellService.test.js +311 -0
  223. package/lib/tests/ciSetup.d.ts +6 -0
  224. package/lib/tests/ciSetup.d.ts.map +1 -0
  225. package/lib/tests/ciSetup.js +23 -0
  226. package/lib/tests/comprehensive.service.test.d.ts +6 -0
  227. package/lib/tests/comprehensive.service.test.d.ts.map +1 -0
  228. package/lib/tests/comprehensive.service.test.js +507 -0
  229. package/lib/tests/connection.test.d.ts +6 -0
  230. package/lib/tests/connection.test.d.ts.map +1 -0
  231. package/lib/tests/connection.test.js +89 -0
  232. package/lib/tests/cubeService.test.d.ts +6 -0
  233. package/lib/tests/cubeService.test.d.ts.map +1 -0
  234. package/lib/tests/cubeService.test.js +368 -0
  235. package/lib/tests/dimensionService.comprehensive.test.d.ts +7 -0
  236. package/lib/tests/dimensionService.comprehensive.test.d.ts.map +1 -0
  237. package/lib/tests/dimensionService.comprehensive.test.js +614 -0
  238. package/lib/tests/dimensionService.test.d.ts +6 -0
  239. package/lib/tests/dimensionService.test.d.ts.map +1 -0
  240. package/lib/tests/dimensionService.test.js +293 -0
  241. package/lib/tests/edgeCases.test.d.ts +6 -0
  242. package/lib/tests/edgeCases.test.d.ts.map +1 -0
  243. package/lib/tests/edgeCases.test.js +301 -0
  244. package/lib/tests/elementService.comprehensive.test.d.ts +7 -0
  245. package/lib/tests/elementService.comprehensive.test.d.ts.map +1 -0
  246. package/lib/tests/elementService.comprehensive.test.js +846 -0
  247. package/lib/tests/elementService.test.d.ts +6 -0
  248. package/lib/tests/elementService.test.d.ts.map +1 -0
  249. package/lib/tests/elementService.test.js +350 -0
  250. package/lib/tests/enhancedCellService.test.d.ts +2 -0
  251. package/lib/tests/enhancedCellService.test.d.ts.map +1 -0
  252. package/lib/tests/enhancedCellService.test.js +152 -0
  253. package/lib/tests/enhancedCubeService.test.d.ts +2 -0
  254. package/lib/tests/enhancedCubeService.test.d.ts.map +1 -0
  255. package/lib/tests/enhancedCubeService.test.js +246 -0
  256. package/lib/tests/enhancedElementService.test.d.ts +2 -0
  257. package/lib/tests/enhancedElementService.test.d.ts.map +1 -0
  258. package/lib/tests/enhancedElementService.test.js +199 -0
  259. package/lib/tests/enhancedViewService.test.d.ts +2 -0
  260. package/lib/tests/enhancedViewService.test.d.ts.map +1 -0
  261. package/lib/tests/enhancedViewService.test.js +260 -0
  262. package/lib/tests/errorHandling.test.d.ts +6 -0
  263. package/lib/tests/errorHandling.test.d.ts.map +1 -0
  264. package/lib/tests/errorHandling.test.js +227 -0
  265. package/lib/tests/exceptions.test.d.ts +7 -0
  266. package/lib/tests/exceptions.test.d.ts.map +1 -0
  267. package/lib/tests/exceptions.test.js +257 -0
  268. package/lib/tests/hierarchyService.test.d.ts +6 -0
  269. package/lib/tests/hierarchyService.test.d.ts.map +1 -0
  270. package/lib/tests/hierarchyService.test.js +294 -0
  271. package/lib/tests/index.test.d.ts +6 -0
  272. package/lib/tests/index.test.d.ts.map +1 -0
  273. package/lib/tests/index.test.js +346 -0
  274. package/lib/tests/integration.test.d.ts +6 -0
  275. package/lib/tests/integration.test.d.ts.map +1 -0
  276. package/lib/tests/integration.test.js +302 -0
  277. package/lib/tests/integrationTests.test.d.ts +2 -0
  278. package/lib/tests/integrationTests.test.d.ts.map +1 -0
  279. package/lib/tests/integrationTests.test.js +252 -0
  280. package/lib/tests/mdx.advanced.test.d.ts +6 -0
  281. package/lib/tests/mdx.advanced.test.d.ts.map +1 -0
  282. package/lib/tests/mdx.advanced.test.js +437 -0
  283. package/lib/tests/objects.improved.test.d.ts +7 -0
  284. package/lib/tests/objects.improved.test.d.ts.map +1 -0
  285. package/lib/tests/objects.improved.test.js +302 -0
  286. package/lib/tests/performance.test.d.ts +6 -0
  287. package/lib/tests/performance.test.d.ts.map +1 -0
  288. package/lib/tests/performance.test.js +264 -0
  289. package/lib/tests/processService.comprehensive.test.d.ts +7 -0
  290. package/lib/tests/processService.comprehensive.test.d.ts.map +1 -0
  291. package/lib/tests/processService.comprehensive.test.js +656 -0
  292. package/lib/tests/processService.test.d.ts +6 -0
  293. package/lib/tests/processService.test.d.ts.map +1 -0
  294. package/lib/tests/processService.test.js +322 -0
  295. package/lib/tests/restService.test.d.ts +6 -0
  296. package/lib/tests/restService.test.d.ts.map +1 -0
  297. package/lib/tests/restService.test.js +177 -0
  298. package/lib/tests/security.advanced.test.d.ts +6 -0
  299. package/lib/tests/security.advanced.test.d.ts.map +1 -0
  300. package/lib/tests/security.advanced.test.js +407 -0
  301. package/lib/tests/security.test.d.ts +6 -0
  302. package/lib/tests/security.test.d.ts.map +1 -0
  303. package/lib/tests/security.test.js +204 -0
  304. package/lib/tests/securityService.comprehensive.test.d.ts +7 -0
  305. package/lib/tests/securityService.comprehensive.test.d.ts.map +1 -0
  306. package/lib/tests/securityService.comprehensive.test.js +457 -0
  307. package/lib/tests/setup.d.ts +4 -0
  308. package/lib/tests/setup.d.ts.map +1 -0
  309. package/lib/tests/setup.js +40 -0
  310. package/lib/tests/simpleCoverage.test.d.ts +6 -0
  311. package/lib/tests/simpleCoverage.test.d.ts.map +1 -0
  312. package/lib/tests/simpleCoverage.test.js +236 -0
  313. package/lib/tests/stress.performance.test.d.ts +6 -0
  314. package/lib/tests/stress.performance.test.d.ts.map +1 -0
  315. package/lib/tests/stress.performance.test.js +423 -0
  316. package/lib/tests/subsetService.test.d.ts +6 -0
  317. package/lib/tests/subsetService.test.d.ts.map +1 -0
  318. package/lib/tests/subsetService.test.js +271 -0
  319. package/lib/tests/testConfig.d.ts +18 -0
  320. package/lib/tests/testConfig.d.ts.map +1 -0
  321. package/lib/tests/testConfig.js +38 -0
  322. package/lib/tests/testUtils.d.ts +9 -0
  323. package/lib/tests/testUtils.d.ts.map +1 -0
  324. package/lib/tests/testUtils.js +100 -0
  325. package/lib/tests/tm1Service.test.d.ts +7 -0
  326. package/lib/tests/tm1Service.test.d.ts.map +1 -0
  327. package/lib/tests/tm1Service.test.js +290 -0
  328. package/lib/tests/viewService.test.d.ts +6 -0
  329. package/lib/tests/viewService.test.d.ts.map +1 -0
  330. package/lib/tests/viewService.test.js +240 -0
  331. package/lib/utils/Utils.d.ts +90 -0
  332. package/lib/utils/Utils.d.ts.map +1 -0
  333. package/lib/utils/Utils.js +379 -0
  334. package/package.json +81 -0
  335. package/run-all-tests.js +296 -0
  336. package/src/exceptions/TM1Exception.ts +38 -0
  337. package/src/exceptions/TM1RestException.ts +17 -0
  338. package/src/exceptions/TM1TimeoutException.ts +15 -0
  339. package/src/index.ts +94 -0
  340. package/src/objects/Annotation.ts +194 -0
  341. package/src/objects/Application.ts +146 -0
  342. package/src/objects/Axis.ts +149 -0
  343. package/src/objects/Chore.ts +174 -0
  344. package/src/objects/ChoreFrequency.ts +83 -0
  345. package/src/objects/ChoreStartTime.ts +111 -0
  346. package/src/objects/ChoreTask.ts +92 -0
  347. package/src/objects/Cube.ts +125 -0
  348. package/src/objects/Dimension.ts +107 -0
  349. package/src/objects/Element.ts +153 -0
  350. package/src/objects/ElementAttribute.ts +115 -0
  351. package/src/objects/Git.ts +86 -0
  352. package/src/objects/GitCommit.ts +31 -0
  353. package/src/objects/GitPlan.ts +121 -0
  354. package/src/objects/GitRemote.ts +31 -0
  355. package/src/objects/Hierarchy.ts +229 -0
  356. package/src/objects/MDXView.ts +91 -0
  357. package/src/objects/NativeView.ts +268 -0
  358. package/src/objects/Process.ts +320 -0
  359. package/src/objects/ProcessDebugBreakpoint.ts +239 -0
  360. package/src/objects/ProcessParameter.ts +76 -0
  361. package/src/objects/ProcessVariable.ts +89 -0
  362. package/src/objects/Rules.ts +117 -0
  363. package/src/objects/Sandbox.ts +90 -0
  364. package/src/objects/Server.ts +45 -0
  365. package/src/objects/Subset.ts +323 -0
  366. package/src/objects/TM1Object.ts +17 -0
  367. package/src/objects/TM1Project.ts +587 -0
  368. package/src/objects/User.ts +198 -0
  369. package/src/objects/View.ts +43 -0
  370. package/src/objects/index.ts +36 -0
  371. package/src/services/AnnotationService.ts +107 -0
  372. package/src/services/ApplicationService.ts +279 -0
  373. package/src/services/AuditLogService.ts +172 -0
  374. package/src/services/CellService.ts +814 -0
  375. package/src/services/ChoreService.ts +219 -0
  376. package/src/services/ConfigurationService.ts +69 -0
  377. package/src/services/CubeService.ts +338 -0
  378. package/src/services/DimensionService.ts +168 -0
  379. package/src/services/ElementService.ts +966 -0
  380. package/src/services/FileService.ts +67 -0
  381. package/src/services/GitService.ts +324 -0
  382. package/src/services/HierarchyService.ts +284 -0
  383. package/src/services/JobService.ts +59 -0
  384. package/src/services/LoggerService.ts +118 -0
  385. package/src/services/ManageService.ts +322 -0
  386. package/src/services/MessageLogService.ts +211 -0
  387. package/src/services/MonitoringService.ts +105 -0
  388. package/src/services/ObjectService.ts +21 -0
  389. package/src/services/PowerBiService.ts +85 -0
  390. package/src/services/ProcessService.ts +589 -0
  391. package/src/services/RestService.ts +224 -0
  392. package/src/services/SandboxService.ts +217 -0
  393. package/src/services/SecurityService.ts +284 -0
  394. package/src/services/ServerService.ts +313 -0
  395. package/src/services/SessionService.ts +81 -0
  396. package/src/services/SubsetService.ts +52 -0
  397. package/src/services/TM1Service.ts +133 -0
  398. package/src/services/ThreadService.ts +83 -0
  399. package/src/services/TransactionLogService.ts +148 -0
  400. package/src/services/UserService.ts +77 -0
  401. package/src/services/ViewService.ts +398 -0
  402. package/src/services/index.ts +28 -0
  403. package/src/tests/100PercentParityCheck.test.ts +166 -0
  404. package/src/tests/basic.test.ts +59 -0
  405. package/src/tests/cellService.test.ts +405 -0
  406. package/src/tests/ciSetup.ts +26 -0
  407. package/src/tests/comprehensive.service.test.ts +653 -0
  408. package/src/tests/config.ini.template +23 -0
  409. package/src/tests/connection.test.ts +90 -0
  410. package/src/tests/cubeService.test.ts +458 -0
  411. package/src/tests/dimensionService.comprehensive.test.ts +786 -0
  412. package/src/tests/dimensionService.test.ts +373 -0
  413. package/src/tests/edgeCases.test.ts +358 -0
  414. package/src/tests/elementService.comprehensive.test.ts +1190 -0
  415. package/src/tests/elementService.test.ts +472 -0
  416. package/src/tests/enhancedCellService.test.ts +237 -0
  417. package/src/tests/enhancedCubeService.test.ts +384 -0
  418. package/src/tests/enhancedElementService.test.ts +301 -0
  419. package/src/tests/enhancedViewService.test.ts +373 -0
  420. package/src/tests/errorHandling.test.ts +264 -0
  421. package/src/tests/exceptions.test.ts +313 -0
  422. package/src/tests/hierarchyService.test.ts +386 -0
  423. package/src/tests/index.test.ts +376 -0
  424. package/src/tests/integration.test.ts +333 -0
  425. package/src/tests/integrationTests.test.ts +302 -0
  426. package/src/tests/mdx.advanced.test.ts +513 -0
  427. package/src/tests/objects.improved.test.ts +385 -0
  428. package/src/tests/performance.test.ts +314 -0
  429. package/src/tests/processService.comprehensive.test.ts +933 -0
  430. package/src/tests/processService.test.ts +409 -0
  431. package/src/tests/restService.test.ts +218 -0
  432. package/src/tests/security.advanced.test.ts +464 -0
  433. package/src/tests/security.test.ts +233 -0
  434. package/src/tests/securityService.comprehensive.test.ts +582 -0
  435. package/src/tests/setup.ts +42 -0
  436. package/src/tests/simpleCoverage.test.ts +287 -0
  437. package/src/tests/stress.performance.test.ts +531 -0
  438. package/src/tests/subsetService.test.ts +350 -0
  439. package/src/tests/testConfig.ts +53 -0
  440. package/src/tests/testUtils.ts +94 -0
  441. package/src/tests/tm1Service.test.ts +361 -0
  442. package/src/tests/viewService.test.ts +324 -0
  443. package/src/utils/Utils.ts +395 -0
  444. package/tests/README.md +57 -0
  445. package/tests/connection/test-connection.ts +86 -0
  446. package/tests/edge-cases/edge-cases-test.ts +244 -0
  447. package/tests/integration/working-test.ts +193 -0
  448. package/tests/performance/performance-test.ts +133 -0
  449. package/tests/run-all-tests.sh +106 -0
  450. package/tests/security/security-test.ts +103 -0
  451. package/tsconfig.json +20 -0
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Git = void 0;
4
+ const GitCommit_1 = require("./GitCommit");
5
+ const GitRemote_1 = require("./GitRemote");
6
+ class Git {
7
+ constructor(url, deployment, force, deployedCommit, remote, config) {
8
+ /** Initialize GIT object
9
+ * :param url: file or http(s) path to GIT repository
10
+ * :param deployment: name of selected deployment group
11
+ * :param force: whether or not Git context was forced
12
+ * :param deployed_commit: GitCommit object of the currently deployed commit
13
+ * :param remote: GitRemote object of the current remote
14
+ * :param config: Dictionary containing git configuration parameters
15
+ */
16
+ this._url = url;
17
+ this._deployment = deployment;
18
+ this._force = force;
19
+ this._deployedCommit = deployedCommit;
20
+ this._remote = remote;
21
+ this._config = config;
22
+ }
23
+ get url() {
24
+ return this._url;
25
+ }
26
+ get force() {
27
+ return this._force;
28
+ }
29
+ get config() {
30
+ return this._config;
31
+ }
32
+ get deployment() {
33
+ return this._deployment;
34
+ }
35
+ get deployedCommit() {
36
+ return this._deployedCommit;
37
+ }
38
+ get remote() {
39
+ return this._remote;
40
+ }
41
+ static fromDict(jsonResponse) {
42
+ const deployedCommit = new GitCommit_1.GitCommit(jsonResponse["DeployedCommit"].ID, jsonResponse["DeployedCommit"].Summary, jsonResponse["DeployedCommit"].Author);
43
+ const remote = new GitRemote_1.GitRemote(jsonResponse["Remote"].Connected, jsonResponse["Remote"].Branches, jsonResponse["Remote"].Tags);
44
+ const git = new Git(jsonResponse["URL"], jsonResponse["Deployment"], jsonResponse["Deployment"], deployedCommit, remote);
45
+ return git;
46
+ }
47
+ }
48
+ exports.Git = Git;
49
+ //# sourceMappingURL=Git.js.map
@@ -0,0 +1,12 @@
1
+ export declare class GitCommit {
2
+ /** Abstraction of Git Commit
3
+ */
4
+ private _commitId;
5
+ private _summary;
6
+ private _author;
7
+ constructor(commitId: string, summary: string, author: string);
8
+ get commitId(): string;
9
+ get summary(): string;
10
+ get author(): string;
11
+ }
12
+ //# sourceMappingURL=GitCommit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitCommit.d.ts","sourceRoot":"","sources":["../../src/objects/GitCommit.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAS;IAClB;OACG;IAEH,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;gBAEZ,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAW7D,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;CACJ"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GitCommit = void 0;
4
+ class GitCommit {
5
+ constructor(commitId, summary, author) {
6
+ /** Initialize GitCommit object
7
+ * :param commit_id: id of the commit
8
+ * :param summary: commit message
9
+ * :param author: the author of the commit
10
+ */
11
+ this._commitId = commitId;
12
+ this._summary = summary;
13
+ this._author = author;
14
+ }
15
+ get commitId() {
16
+ return this._commitId;
17
+ }
18
+ get summary() {
19
+ return this._summary;
20
+ }
21
+ get author() {
22
+ return this._author;
23
+ }
24
+ }
25
+ exports.GitCommit = GitCommit;
26
+ //# sourceMappingURL=GitCommit.js.map
@@ -0,0 +1,35 @@
1
+ import { GitCommit } from './GitCommit';
2
+ export declare class GitPlan {
3
+ /** Base GitPlan abstraction
4
+ */
5
+ private _planId;
6
+ private _branch;
7
+ private _force;
8
+ constructor(planId: string, branch: string, force: boolean);
9
+ get planId(): string;
10
+ get branch(): string;
11
+ get force(): boolean;
12
+ }
13
+ export declare class GitPushPlan extends GitPlan {
14
+ /** GitPushPlan abstraction based on GitPlan
15
+ */
16
+ private _newBranch;
17
+ private _newCommit;
18
+ private _parentCommit;
19
+ private _sourceFiles;
20
+ constructor(planId: string, branch: string, force: boolean, newBranch: string, newCommit: GitCommit, parentCommit: GitCommit, sourceFiles: string[]);
21
+ get newBranch(): string;
22
+ get newCommit(): GitCommit;
23
+ get parentCommit(): GitCommit;
24
+ get sourceFiles(): string[];
25
+ }
26
+ export declare class GitPullPlan extends GitPlan {
27
+ /** GitPushPlan abstraction based on GitPlan
28
+ */
29
+ private _commit;
30
+ private _operations;
31
+ constructor(planId: string, branch: string, force: boolean, commit: GitCommit, operations: string[]);
32
+ get commit(): GitCommit;
33
+ get operations(): string[];
34
+ }
35
+ //# sourceMappingURL=GitPlan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitPlan.d.ts","sourceRoot":"","sources":["../../src/objects/GitPlan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,OAAO;IAChB;OACG;IAEH,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAU;gBAEZ,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAW1D,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,KAAK,IAAI,OAAO,CAE1B;CACJ;AAGD,qBAAa,WAAY,SAAQ,OAAO;IACpC;OACG;IAEH,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,YAAY,CAAW;gBAG3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,SAAS,EACvB,WAAW,EAAE,MAAM,EAAE;IAkBzB,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED,IAAW,YAAY,IAAI,SAAS,CAEnC;IAED,IAAW,WAAW,IAAI,MAAM,EAAE,CAEjC;CACJ;AAGD,qBAAa,WAAY,SAAQ,OAAO;IACpC;OACG;IAEH,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,WAAW,CAAW;gBAG1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAAE;IAcxB,IAAW,MAAM,IAAI,SAAS,CAE7B;IAED,IAAW,UAAU,IAAI,MAAM,EAAE,CAEhC;CACJ"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GitPullPlan = exports.GitPushPlan = exports.GitPlan = void 0;
4
+ class GitPlan {
5
+ constructor(planId, branch, force) {
6
+ /** Initialize GitPlan object
7
+ * :param plan_id: id of the Plan
8
+ * :param branch: current branch
9
+ * :param force: force git context reset
10
+ */
11
+ this._planId = planId;
12
+ this._branch = branch;
13
+ this._force = force;
14
+ }
15
+ get planId() {
16
+ return this._planId;
17
+ }
18
+ get branch() {
19
+ return this._branch;
20
+ }
21
+ get force() {
22
+ return this._force;
23
+ }
24
+ }
25
+ exports.GitPlan = GitPlan;
26
+ class GitPushPlan extends GitPlan {
27
+ constructor(planId, branch, force, newBranch, newCommit, parentCommit, sourceFiles) {
28
+ /** Initialize GitPushPlan object
29
+ * :param plan_id: id of the PushPlan
30
+ * :param branch: current branch to base the pushplan on
31
+ * :param force: force git context reset
32
+ * :param new_branch: the new branch that will be pushed to
33
+ * :param new_commit: GitCommit of the new commit
34
+ * :param parent_commit: The current commit in the branch
35
+ * :param source_files: list of included files in the push
36
+ */
37
+ super(planId, branch, force);
38
+ this._newBranch = newBranch;
39
+ this._newCommit = newCommit;
40
+ this._parentCommit = parentCommit;
41
+ this._sourceFiles = sourceFiles;
42
+ }
43
+ get newBranch() {
44
+ return this._newBranch;
45
+ }
46
+ get newCommit() {
47
+ return this._newCommit;
48
+ }
49
+ get parentCommit() {
50
+ return this._parentCommit;
51
+ }
52
+ get sourceFiles() {
53
+ return this._sourceFiles;
54
+ }
55
+ }
56
+ exports.GitPushPlan = GitPushPlan;
57
+ class GitPullPlan extends GitPlan {
58
+ constructor(planId, branch, force, commit, operations) {
59
+ /** Initialize GitPushPlan object
60
+ * :param plan_id: id of the PullPlan
61
+ * :param branch: current branch to base the pullplan on
62
+ * :param force: force git context reset
63
+ * :param commit: GitCommit of the commit to pull
64
+ * :param operations: list of changes made upon pulling
65
+ */
66
+ super(planId, branch, force);
67
+ this._commit = commit;
68
+ this._operations = operations;
69
+ }
70
+ get commit() {
71
+ return this._commit;
72
+ }
73
+ get operations() {
74
+ return this._operations;
75
+ }
76
+ }
77
+ exports.GitPullPlan = GitPullPlan;
78
+ //# sourceMappingURL=GitPlan.js.map
@@ -0,0 +1,12 @@
1
+ export declare class GitRemote {
2
+ /** Abstraction of GitRemote
3
+ */
4
+ private _connected;
5
+ private _branches;
6
+ private _tags;
7
+ constructor(connected: boolean, branches: string[], tags: string[]);
8
+ get connected(): boolean;
9
+ get branches(): string[];
10
+ get tags(): string[];
11
+ }
12
+ //# sourceMappingURL=GitRemote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitRemote.d.ts","sourceRoot":"","sources":["../../src/objects/GitRemote.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAS;IAClB;OACG;IAEH,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,KAAK,CAAW;gBAEZ,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;IAWlE,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED,IAAW,QAAQ,IAAI,MAAM,EAAE,CAE9B;IAED,IAAW,IAAI,IAAI,MAAM,EAAE,CAE1B;CACJ"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GitRemote = void 0;
4
+ class GitRemote {
5
+ constructor(connected, branches, tags) {
6
+ /** Initialize GitRemote object
7
+ * :param connected: is Git connected to remote
8
+ * :param branches: list of remote branches
9
+ * :param tags: list of remote tags
10
+ */
11
+ this._connected = connected;
12
+ this._branches = branches;
13
+ this._tags = tags;
14
+ }
15
+ get connected() {
16
+ return this._connected;
17
+ }
18
+ get branches() {
19
+ return this._branches;
20
+ }
21
+ get tags() {
22
+ return this._tags;
23
+ }
24
+ }
25
+ exports.GitRemote = GitRemote;
26
+ //# sourceMappingURL=GitRemote.js.map
@@ -0,0 +1,47 @@
1
+ import { TM1Object } from './TM1Object';
2
+ import { Element } from './Element';
3
+ import { ElementAttribute } from './ElementAttribute';
4
+ export declare class Hierarchy extends TM1Object {
5
+ private _name;
6
+ private _dimensionName;
7
+ private _elements;
8
+ private _elementAttributes;
9
+ private _edges;
10
+ private _subsets;
11
+ private _balanced;
12
+ private _defaultMember?;
13
+ constructor(name: string, dimensionName: string, elements?: Element[], elementAttributes?: ElementAttribute[], edges?: Map<string, number>, subsets?: string[], structure?: number, defaultMember?: string);
14
+ static fromDict(hierarchyAsDict: any, dimensionName: string): Hierarchy;
15
+ get name(): string;
16
+ set name(value: string);
17
+ get dimensionName(): string;
18
+ set dimensionName(value: string);
19
+ get uniqueName(): string;
20
+ get elements(): Element[];
21
+ get elementNames(): string[];
22
+ get elementAttributes(): ElementAttribute[];
23
+ get edges(): Map<string, number>;
24
+ get subsets(): string[];
25
+ get balanced(): boolean;
26
+ set balanced(value: boolean);
27
+ get defaultMember(): string | undefined;
28
+ set defaultMember(value: string | undefined);
29
+ get body(): string;
30
+ get bodyAsDict(): any;
31
+ private constructBody;
32
+ private constructEdges;
33
+ addElement(element: Element): void;
34
+ removeElement(elementName: string): boolean;
35
+ getElement(elementName: string): Element | undefined;
36
+ hasElement(elementName: string): boolean;
37
+ addEdge(parentName: string, componentName: string, weight?: number): void;
38
+ removeEdge(parentName: string, componentName: string): boolean;
39
+ getEdgeWeight(parentName: string, componentName: string): number | undefined;
40
+ addElementAttribute(elementAttribute: ElementAttribute): void;
41
+ removeElementAttribute(attributeName: string): boolean;
42
+ getElementAttribute(attributeName: string): ElementAttribute | undefined;
43
+ hasElementAttribute(attributeName: string): boolean;
44
+ [Symbol.iterator](): Iterator<Element>;
45
+ get length(): number;
46
+ }
47
+ //# sourceMappingURL=Hierarchy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Hierarchy.d.ts","sourceRoot":"","sources":["../../src/objects/Hierarchy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,SAAU,SAAQ,SAAS;IACpC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,kBAAkB,CAA0B;IACpD,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,cAAc,CAAC,CAAS;gBAG5B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,EACtC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM;WAmBZ,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,GAAG,SAAS;IA2B9E,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAE5B;IAED,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED,IAAW,aAAa,CAAC,KAAK,EAAE,MAAM,EAErC;IAED,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED,IAAW,QAAQ,IAAI,OAAO,EAAE,CAE/B;IAED,IAAW,YAAY,IAAI,MAAM,EAAE,CAElC;IAED,IAAW,iBAAiB,IAAI,gBAAgB,EAAE,CAEjD;IAED,IAAW,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAEtC;IAED,IAAW,OAAO,IAAI,MAAM,EAAE,CAE7B;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAEjC;IAED,IAAW,aAAa,IAAI,MAAM,GAAG,SAAS,CAE7C;IAED,IAAW,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAEjD;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,UAAU,IAAI,GAAG,CAE3B;IAED,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,cAAc;IAef,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAI3C,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIpD,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIxC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,IAAI;IAK5E,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO;IAK9D,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK5E,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAI7D,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAWtD,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAKxE,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAKlD,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;IAI9C,IAAW,MAAM,IAAI,MAAM,CAE1B;CACJ"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Hierarchy = void 0;
4
+ const TM1Object_1 = require("./TM1Object");
5
+ const Element_1 = require("./Element");
6
+ const ElementAttribute_1 = require("./ElementAttribute");
7
+ class Hierarchy extends TM1Object_1.TM1Object {
8
+ constructor(name, dimensionName, elements, elementAttributes, edges, subsets, structure, defaultMember) {
9
+ super();
10
+ this._elements = new Map();
11
+ this._elementAttributes = [];
12
+ this._edges = new Map();
13
+ this._subsets = [];
14
+ this._balanced = false;
15
+ this._name = name;
16
+ this._dimensionName = dimensionName;
17
+ if (elements) {
18
+ for (const elem of elements) {
19
+ this._elements.set(elem.name.toLowerCase(), elem);
20
+ }
21
+ }
22
+ this._elementAttributes = elementAttributes ? [...elementAttributes] : [];
23
+ this._edges = edges ? new Map(edges) : new Map();
24
+ this._subsets = subsets ? [...subsets] : [];
25
+ this._balanced = structure !== undefined ? structure === 0 : false;
26
+ this._defaultMember = defaultMember;
27
+ }
28
+ static fromDict(hierarchyAsDict, dimensionName) {
29
+ const elements = hierarchyAsDict.Elements ?
30
+ hierarchyAsDict.Elements.map((e) => Element_1.Element.fromDict(e)) : [];
31
+ const elementAttributes = hierarchyAsDict.ElementAttributes ?
32
+ hierarchyAsDict.ElementAttributes.map((ea) => ElementAttribute_1.ElementAttribute.fromDict(ea)) : [];
33
+ const edges = new Map();
34
+ if (hierarchyAsDict.Edges) {
35
+ for (const edge of hierarchyAsDict.Edges) {
36
+ const key = `${edge.ParentName}:${edge.ComponentName}`;
37
+ edges.set(key, edge.Weight || 1);
38
+ }
39
+ }
40
+ return new Hierarchy(hierarchyAsDict.Name, dimensionName, elements, elementAttributes, edges, hierarchyAsDict.Subsets, hierarchyAsDict.Structure, hierarchyAsDict.DefaultMember);
41
+ }
42
+ get name() {
43
+ return this._name;
44
+ }
45
+ set name(value) {
46
+ this._name = value;
47
+ }
48
+ get dimensionName() {
49
+ return this._dimensionName;
50
+ }
51
+ set dimensionName(value) {
52
+ this._dimensionName = value;
53
+ }
54
+ get uniqueName() {
55
+ return `[${this._dimensionName}].[${this._name}]`;
56
+ }
57
+ get elements() {
58
+ return Array.from(this._elements.values());
59
+ }
60
+ get elementNames() {
61
+ return Array.from(this._elements.keys());
62
+ }
63
+ get elementAttributes() {
64
+ return this._elementAttributes;
65
+ }
66
+ get edges() {
67
+ return this._edges;
68
+ }
69
+ get subsets() {
70
+ return this._subsets;
71
+ }
72
+ get balanced() {
73
+ return this._balanced;
74
+ }
75
+ set balanced(value) {
76
+ this._balanced = value;
77
+ }
78
+ get defaultMember() {
79
+ return this._defaultMember;
80
+ }
81
+ set defaultMember(value) {
82
+ this._defaultMember = value;
83
+ }
84
+ get body() {
85
+ return JSON.stringify(this.constructBody());
86
+ }
87
+ get bodyAsDict() {
88
+ return this.constructBody();
89
+ }
90
+ constructBody() {
91
+ const body = {
92
+ Name: this._name,
93
+ Elements: this.elements.map(e => e.bodyAsDict),
94
+ ElementAttributes: this._elementAttributes.map(ea => ea.bodyAsDict),
95
+ Edges: this.constructEdges(),
96
+ Subsets: this._subsets
97
+ };
98
+ if (this._defaultMember !== undefined) {
99
+ body.DefaultMember = this._defaultMember;
100
+ }
101
+ body.Structure = this._balanced ? 0 : 1;
102
+ return body;
103
+ }
104
+ constructEdges() {
105
+ const edges = [];
106
+ for (const [key, weight] of this._edges) {
107
+ const [parentName, componentName] = key.split(':');
108
+ edges.push({
109
+ ParentName: parentName,
110
+ ComponentName: componentName,
111
+ Weight: weight
112
+ });
113
+ }
114
+ return edges;
115
+ }
116
+ addElement(element) {
117
+ this._elements.set(element.name.toLowerCase(), element);
118
+ }
119
+ removeElement(elementName) {
120
+ return this._elements.delete(elementName.toLowerCase());
121
+ }
122
+ getElement(elementName) {
123
+ return this._elements.get(elementName.toLowerCase());
124
+ }
125
+ hasElement(elementName) {
126
+ return this._elements.has(elementName.toLowerCase());
127
+ }
128
+ addEdge(parentName, componentName, weight = 1) {
129
+ const key = `${parentName}:${componentName}`;
130
+ this._edges.set(key, weight);
131
+ }
132
+ removeEdge(parentName, componentName) {
133
+ const key = `${parentName}:${componentName}`;
134
+ return this._edges.delete(key);
135
+ }
136
+ getEdgeWeight(parentName, componentName) {
137
+ const key = `${parentName}:${componentName}`;
138
+ return this._edges.get(key);
139
+ }
140
+ addElementAttribute(elementAttribute) {
141
+ this._elementAttributes.push(elementAttribute);
142
+ }
143
+ removeElementAttribute(attributeName) {
144
+ const index = this._elementAttributes.findIndex(ea => ea.name.toLowerCase() === attributeName.toLowerCase());
145
+ if (index !== -1) {
146
+ this._elementAttributes.splice(index, 1);
147
+ return true;
148
+ }
149
+ return false;
150
+ }
151
+ getElementAttribute(attributeName) {
152
+ return this._elementAttributes.find(ea => ea.name.toLowerCase() === attributeName.toLowerCase());
153
+ }
154
+ hasElementAttribute(attributeName) {
155
+ return this._elementAttributes.some(ea => ea.name.toLowerCase() === attributeName.toLowerCase());
156
+ }
157
+ *[Symbol.iterator]() {
158
+ yield* this._elements.values();
159
+ }
160
+ get length() {
161
+ return this._elements.size;
162
+ }
163
+ }
164
+ exports.Hierarchy = Hierarchy;
165
+ //# sourceMappingURL=Hierarchy.js.map
@@ -0,0 +1,19 @@
1
+ import { View } from './View';
2
+ export declare class MDXView extends View {
3
+ /** Abstraction on TM1 MDX view
4
+ *
5
+ * IMPORTANT. MDXViews can't be seen through the old TM1 clients (Archict, Perspectives). They do exist though!
6
+ */
7
+ private _mdx;
8
+ constructor(cubeName: string, viewName: string, MDX: string);
9
+ get mdx(): string;
10
+ set mdx(value: string);
11
+ get MDX(): string;
12
+ set MDX(value: string);
13
+ get body(): string;
14
+ substituteTitle(dimension: string, hierarchy: string, element: string): void;
15
+ static fromJSON(viewAsJson: string, cubeName?: string): MDXView;
16
+ static fromDict(viewAsDict: any, cubeName?: string): MDXView;
17
+ private constructBody;
18
+ }
19
+ //# sourceMappingURL=MDXView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MDXView.d.ts","sourceRoot":"","sources":["../../src/objects/MDXView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,qBAAa,OAAQ,SAAQ,IAAI;IAC7B;;;OAGG;IAEH,OAAO,CAAC,IAAI,CAAS;gBAET,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAK3D,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED,IAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAE3B;IAED,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED,IAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAE3B;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;WAkCrE,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;WAKxD,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IAQnE,OAAO,CAAC,aAAa;CAOxB"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MDXView = void 0;
4
+ const View_1 = require("./View");
5
+ const Utils_1 = require("../utils/Utils");
6
+ class MDXView extends View_1.View {
7
+ constructor(cubeName, viewName, MDX) {
8
+ super(cubeName, viewName);
9
+ this._mdx = MDX;
10
+ }
11
+ get mdx() {
12
+ return this._mdx;
13
+ }
14
+ set mdx(value) {
15
+ this._mdx = value;
16
+ }
17
+ get MDX() {
18
+ return this._mdx;
19
+ }
20
+ set MDX(value) {
21
+ this._mdx = value;
22
+ }
23
+ get body() {
24
+ return this.constructBody();
25
+ }
26
+ substituteTitle(dimension, hierarchy, element) {
27
+ /** dimension and hierarchy name are space sensitive!
28
+ *
29
+ * :param dimension:
30
+ * :param hierarchy:
31
+ * :param element:
32
+ * :return:
33
+ */
34
+ let pattern = new RegExp(`\\[${dimension}\\]\\.\\[${hierarchy}\\]\\.\\[(.*?)\\]`, 'gi');
35
+ let findings = this._mdx.match(pattern);
36
+ if (findings) {
37
+ this._mdx = this._mdx.replace(pattern, `[${dimension}].[${hierarchy}].[${element}]`);
38
+ return;
39
+ }
40
+ if (!hierarchy || (0, Utils_1.caseAndSpaceInsensitiveEquals)(dimension, hierarchy)) {
41
+ pattern = new RegExp(`\\[${dimension}\\]\\.\\[(.*?)\\]`, 'gi');
42
+ findings = this._mdx.match(pattern);
43
+ if (findings) {
44
+ this._mdx = this._mdx.replace(pattern, `[${dimension}].[${element}]`);
45
+ return;
46
+ }
47
+ }
48
+ throw new Error(`No selection in title with dimension: '${dimension}' and hierarchy: '${hierarchy}'`);
49
+ }
50
+ static fromJSON(viewAsJson, cubeName) {
51
+ const viewAsDict = JSON.parse(viewAsJson);
52
+ return MDXView.fromDict(viewAsDict, cubeName);
53
+ }
54
+ static fromDict(viewAsDict, cubeName) {
55
+ var _a;
56
+ return new MDXView(((_a = viewAsDict.Cube) === null || _a === void 0 ? void 0 : _a.Name) || cubeName, viewAsDict.Name, viewAsDict.MDX);
57
+ }
58
+ constructBody() {
59
+ const mdxViewAsDict = {};
60
+ mdxViewAsDict['@odata.type'] = 'ibm.tm1.api.v1.MDXView';
61
+ mdxViewAsDict['Name'] = this._name;
62
+ mdxViewAsDict['MDX'] = this._mdx;
63
+ return JSON.stringify(mdxViewAsDict);
64
+ }
65
+ }
66
+ exports.MDXView = MDXView;
67
+ //# sourceMappingURL=MDXView.js.map
@@ -0,0 +1,39 @@
1
+ import { View } from './View';
2
+ import { ViewAxisSelection, ViewTitleSelection } from './Axis';
3
+ export declare class NativeView extends View {
4
+ /** Abstraction of TM1 NativeView (classic cube view)
5
+ *
6
+ * :Notes:
7
+ * Complete, functional and tested
8
+ */
9
+ private _suppressEmptyColumns;
10
+ private _suppressEmptyRows;
11
+ private _formatString;
12
+ private _titles;
13
+ private _columns;
14
+ private _rows;
15
+ constructor(cubeName: string, viewName: string, suppressEmptyColumns?: boolean, suppressEmptyRows?: boolean, formatString?: string, titles?: Iterable<ViewTitleSelection>, columns?: Iterable<ViewAxisSelection>, rows?: Iterable<ViewAxisSelection>);
16
+ get body(): string;
17
+ get rows(): ViewAxisSelection[];
18
+ get columns(): ViewAxisSelection[];
19
+ get titles(): ViewTitleSelection[];
20
+ get mdx(): string;
21
+ get MDX(): string;
22
+ get asMDX(): string;
23
+ get suppressEmptyColumns(): boolean;
24
+ set suppressEmptyColumns(value: boolean);
25
+ get suppressEmptyRows(): boolean;
26
+ set suppressEmptyRows(value: boolean);
27
+ get formatString(): string;
28
+ set formatString(value: string);
29
+ addTitle(title: ViewTitleSelection): void;
30
+ addColumn(column: ViewAxisSelection): void;
31
+ addRow(row: ViewAxisSelection): void;
32
+ removeTitle(dimensionName: string): boolean;
33
+ removeColumn(dimensionName: string): boolean;
34
+ removeRow(dimensionName: string): boolean;
35
+ static fromJSON(viewAsJson: string, cubeName: string): NativeView;
36
+ static fromDict(viewAsDict: any, cubeName: string): NativeView;
37
+ private constructBody;
38
+ }
39
+ //# sourceMappingURL=NativeView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeView.d.ts","sourceRoot":"","sources":["../../src/objects/NativeView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAI/D,qBAAa,UAAW,SAAQ,IAAI;IAChC;;;;OAIG;IAEH,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,KAAK,CAAsB;gBAG/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,oBAAoB,GAAE,OAAe,EACrC,iBAAiB,GAAE,OAAe,EAClC,YAAY,GAAE,MAAsB,EACpC,MAAM,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACrC,OAAO,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACrC,IAAI,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC;IAWtC,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,IAAI,IAAI,iBAAiB,EAAE,CAErC;IAED,IAAW,OAAO,IAAI,iBAAiB,EAAE,CAExC;IAED,IAAW,MAAM,IAAI,kBAAkB,EAAE,CAExC;IAED,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED,IAAW,KAAK,IAAI,MAAM,CA6EzB;IAED,IAAW,oBAAoB,IAAI,OAAO,CAEzC;IAED,IAAW,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAE7C;IAED,IAAW,iBAAiB,IAAI,OAAO,CAEtC;IAED,IAAW,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAE1C;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,YAAY,CAAC,KAAK,EAAE,MAAM,EAEpC;IAEM,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAIzC,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAI1C,MAAM,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;IAIpC,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAU3C,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAU5C,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;WAUlC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU;WAK1D,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU;IAoCrE,OAAO,CAAC,aAAa;CAmBxB"}