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,331 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViewService = void 0;
4
+ const ObjectService_1 = require("./ObjectService");
5
+ const MDXView_1 = require("../objects/MDXView");
6
+ const NativeView_1 = require("../objects/NativeView");
7
+ const TM1Exception_1 = require("../exceptions/TM1Exception");
8
+ const Utils_1 = require("../utils/Utils");
9
+ class ViewService extends ObjectService_1.ObjectService {
10
+ /** Service to handle Object Updates for cube views (NativeViews and MDXViews)
11
+ *
12
+ */
13
+ constructor(rest) {
14
+ super(rest);
15
+ }
16
+ async create(view, isPrivate = false) {
17
+ /** create a new view on TM1 Server
18
+ *
19
+ * :param view: instance of subclass of .View (.NativeView or .MDXView)
20
+ * :param private: boolean
21
+ *
22
+ * :return: Response
23
+ */
24
+ const viewType = isPrivate ? "PrivateViews" : "Views";
25
+ const url = (0, Utils_1.formatUrl)("/Cubes('{}')/{}", view.cube, viewType);
26
+ return await this.rest.post(url, view.body);
27
+ }
28
+ async exists(cubeName, viewName, isPrivate) {
29
+ /** Checks if view exists as private, public or both
30
+ *
31
+ * :param cube_name: string, name of the cube
32
+ * :param view_name: string, name of the view
33
+ * :param private: boolean, if None: check for private and public
34
+ *
35
+ * :return boolean tuple
36
+ */
37
+ const urlTemplate = "/Cubes('{}')/{}('{}')";
38
+ if (isPrivate !== undefined) {
39
+ const url = (0, Utils_1.formatUrl)(urlTemplate, cubeName, isPrivate ? "PrivateViews" : "Views", viewName);
40
+ return await this._exists(url);
41
+ }
42
+ const viewTypes = new Map();
43
+ viewTypes.set('PrivateViews', false);
44
+ viewTypes.set('Views', false);
45
+ for (const [viewType] of viewTypes) {
46
+ try {
47
+ const url = (0, Utils_1.formatUrl)(urlTemplate, cubeName, viewType, viewName);
48
+ await this.rest.get(url);
49
+ viewTypes.set(viewType, true);
50
+ }
51
+ catch (e) {
52
+ if (!(e instanceof TM1Exception_1.TM1RestException && e.statusCode === 404)) {
53
+ throw e;
54
+ }
55
+ }
56
+ }
57
+ return [viewTypes.get('PrivateViews'), viewTypes.get('Views')];
58
+ }
59
+ async get(cubeName, viewName, isPrivate = false) {
60
+ const viewType = isPrivate ? "PrivateViews" : "Views";
61
+ const url = (0, Utils_1.formatUrl)("/Cubes('{}')/{}('{}')?$expand=*", cubeName, viewType, viewName);
62
+ const response = await this.rest.get(url);
63
+ const viewAsDict = response.data;
64
+ if ("MDX" in viewAsDict) {
65
+ return new MDXView_1.MDXView(cubeName, viewName, viewAsDict.MDX);
66
+ }
67
+ else {
68
+ return await this.getNativeView(cubeName, viewName, isPrivate);
69
+ }
70
+ }
71
+ async getNativeView(cubeName, viewName, isPrivate = false) {
72
+ /** Get a NativeView from TM1 Server
73
+ *
74
+ * :param cube_name: string, name of the cube
75
+ * :param view_name: string, name of the native view
76
+ * :param private: boolean
77
+ *
78
+ * :return: instance of .NativeView
79
+ */
80
+ const viewType = isPrivate ? "PrivateViews" : "Views";
81
+ const url = (0, Utils_1.formatUrl)("/Cubes('{}')/{}('{}')?$expand=" +
82
+ "tm1.NativeView/Rows/Subset($expand=Hierarchy($select=Name;" +
83
+ "$expand=Dimension($select=Name)),Elements($select=Name);" +
84
+ "$select=Expression,UniqueName,Name, Alias), " +
85
+ "tm1.NativeView/Columns/Subset($expand=Hierarchy($select=Name;" +
86
+ "$expand=Dimension($select=Name)),Elements($select=Name);" +
87
+ "$select=Expression,UniqueName,Name,Alias), " +
88
+ "tm1.NativeView/Titles/Subset($expand=Hierarchy($select=Name;" +
89
+ "$expand=Dimension($select=Name)),Elements($select=Name);" +
90
+ "$select=Expression,UniqueName,Name,Alias), " +
91
+ "tm1.NativeView/Titles/Selected($select=Name)", cubeName, viewType, viewName);
92
+ const response = await this.rest.get(url);
93
+ const nativeView = NativeView_1.NativeView.fromJSON(JSON.stringify(response.data), cubeName);
94
+ return nativeView;
95
+ }
96
+ async update(view, isPrivate = false) {
97
+ /** Update an existing view on TM1 Server
98
+ *
99
+ * :param view: instance of subclass of .View (.NativeView or .MDXView)
100
+ * :param private: boolean
101
+ *
102
+ * :return: Response
103
+ */
104
+ const viewType = isPrivate ? "PrivateViews" : "Views";
105
+ const url = (0, Utils_1.formatUrl)("/Cubes('{}')/{}/('{}')}", view.cube, viewType, view.name);
106
+ return await this.rest.patch(url, view.body);
107
+ }
108
+ async delete(cubeName, viewName, isPrivate = false) {
109
+ /** Delete an existing view on TM1 Server
110
+ *
111
+ * :param cube_name: string, name of the cube
112
+ * :param view_name: string, name of the view
113
+ * :param private: boolean
114
+ *
115
+ * :return: Response
116
+ */
117
+ const viewType = isPrivate ? "PrivateViews" : "Views";
118
+ const url = (0, Utils_1.formatUrl)("/Cubes('{}')/{}('{}')", cubeName, viewType, viewName);
119
+ return await this.rest.delete(url);
120
+ }
121
+ async getAll(cubeName) {
122
+ /** Get all views from a cube
123
+ *
124
+ * :param cube_name: String, name of the cube
125
+ * :return: Tuple of List of instances of .NativeView and .MDXView
126
+ */
127
+ const url = (0, Utils_1.formatUrl)("/Cubes('{}')/Views?$expand=*", cubeName);
128
+ const response = await this.rest.get(url);
129
+ const nativeViews = [];
130
+ const mdxViews = [];
131
+ for (const viewDict of response.data.value) {
132
+ if ("MDX" in viewDict) {
133
+ mdxViews.push(new MDXView_1.MDXView(cubeName, viewDict.Name, viewDict.MDX));
134
+ }
135
+ else {
136
+ const nativeView = await this.getNativeView(cubeName, viewDict.Name, false);
137
+ nativeViews.push(nativeView);
138
+ }
139
+ }
140
+ return [nativeViews, mdxViews];
141
+ }
142
+ async getAllNames(cubeName, isPrivate) {
143
+ /** Get all view names from a cube
144
+ *
145
+ * :param cube_name: String, name of the cube
146
+ * :param private: Boolean, private views only
147
+ * :return: List of view names
148
+ */
149
+ let viewType = "Views";
150
+ if (isPrivate === true) {
151
+ viewType = "PrivateViews";
152
+ }
153
+ else if (isPrivate === false) {
154
+ viewType = "Views";
155
+ }
156
+ if (isPrivate === undefined) {
157
+ // Get both private and public view names
158
+ const privateUrl = (0, Utils_1.formatUrl)("/Cubes('{}')/PrivateViews?$select=Name", cubeName);
159
+ const publicUrl = (0, Utils_1.formatUrl)("/Cubes('{}')/Views?$select=Name", cubeName);
160
+ const [privateResponse, publicResponse] = await Promise.all([
161
+ this.rest.get(privateUrl),
162
+ this.rest.get(publicUrl)
163
+ ]);
164
+ const privateNames = privateResponse.data.value.map((v) => v.Name);
165
+ const publicNames = publicResponse.data.value.map((v) => v.Name);
166
+ return [...privateNames, ...publicNames];
167
+ }
168
+ const url = (0, Utils_1.formatUrl)("/Cubes('{}')/{}?$select=Name", cubeName, viewType);
169
+ const response = await this.rest.get(url);
170
+ return response.data.value.map((view) => view.Name);
171
+ }
172
+ async _exists(url) {
173
+ try {
174
+ await this.rest.get(url);
175
+ return true;
176
+ }
177
+ catch (error) {
178
+ if (error instanceof TM1Exception_1.TM1RestException && error.statusCode === 404) {
179
+ return false;
180
+ }
181
+ throw error;
182
+ }
183
+ }
184
+ async searchStringInName(cubeName, searchString, isPrivate = false) {
185
+ /** Search for views by name containing specific string
186
+ *
187
+ * :param cube_name: name of the cube
188
+ * :param search_string: string to search for in view names
189
+ * :param is_private: search in private views
190
+ * :return: list of view names containing the search string
191
+ */
192
+ const viewType = isPrivate ? "PrivateViews" : "Views";
193
+ let url = (0, Utils_1.formatUrl)("/Cubes('{}')/{}?$select=Name", cubeName, viewType);
194
+ const filters = [`indexof(tolower(Name), '${searchString.toLowerCase()}') ge 0`];
195
+ url += "&$filter=" + filters.join(' and ');
196
+ const response = await this.rest.get(url);
197
+ return response.data.value.map((view) => view.Name);
198
+ }
199
+ async searchStringInMdx(cubeName, searchString, isPrivate = false, caseInsensitive = true) {
200
+ /** Search for MDX views containing specific string in MDX
201
+ *
202
+ * :param cube_name: name of the cube
203
+ * :param search_string: string to search for in MDX
204
+ * :param is_private: search in private views
205
+ * :param case_insensitive: ignore case when searching
206
+ * :return: list of view names containing the search string in MDX
207
+ */
208
+ const viewType = isPrivate ? "PrivateViews" : "Views";
209
+ const url = (0, Utils_1.formatUrl)("/Cubes('{}')/{}?$select=Name,MDX", cubeName, viewType);
210
+ const response = await this.rest.get(url);
211
+ const views = response.data.value;
212
+ const matchingViews = [];
213
+ let searchTerm = searchString;
214
+ if (caseInsensitive) {
215
+ searchTerm = searchTerm.toLowerCase();
216
+ }
217
+ for (const view of views) {
218
+ if (view.MDX) {
219
+ let mdxText = view.MDX;
220
+ if (caseInsensitive) {
221
+ mdxText = mdxText.toLowerCase();
222
+ }
223
+ if (mdxText.includes(searchTerm)) {
224
+ matchingViews.push(view.Name);
225
+ }
226
+ }
227
+ }
228
+ return matchingViews;
229
+ }
230
+ async isMdxView(cubeName, viewName, isPrivate = false) {
231
+ /** Check if view is an MDX view
232
+ *
233
+ * :param cube_name: name of the cube
234
+ * :param view_name: name of the view
235
+ * :param is_private: check private view
236
+ * :return: true if view is MDX view, false if native view
237
+ */
238
+ const viewType = isPrivate ? "PrivateViews" : "Views";
239
+ const url = (0, Utils_1.formatUrl)("/Cubes('{}')/{}('{}')/?$select=MDX", cubeName, viewType, viewName);
240
+ const response = await this.rest.get(url);
241
+ return response.data.MDX !== undefined && response.data.MDX !== null;
242
+ }
243
+ async isNativeView(cubeName, viewName, isPrivate = false) {
244
+ /** Check if view is a native view
245
+ *
246
+ * :param cube_name: name of the cube
247
+ * :param view_name: name of the view
248
+ * :param is_private: check private view
249
+ * :return: true if view is native view, false if MDX view
250
+ */
251
+ return !(await this.isMdxView(cubeName, viewName, isPrivate));
252
+ }
253
+ async updateOrCreate(view, isPrivate = false) {
254
+ /** Update view if exists, create if it doesn't
255
+ *
256
+ * :param view: NativeView or MDXView instance
257
+ * :param is_private: private view flag
258
+ * :return: response
259
+ */
260
+ const existsResult = await this.exists(view.cube, view.name, isPrivate);
261
+ const viewExists = Array.isArray(existsResult) ?
262
+ (isPrivate ? existsResult[0] : existsResult[1]) :
263
+ existsResult;
264
+ if (viewExists) {
265
+ return await this.update(view, isPrivate);
266
+ }
267
+ return await this.create(view, isPrivate);
268
+ }
269
+ async getViewCount(cubeName, isPrivate) {
270
+ /** Get count of views in cube
271
+ *
272
+ * :param cube_name: name of the cube
273
+ * :param is_private: count private views, undefined for both
274
+ * :return: number of views
275
+ */
276
+ if (isPrivate === undefined) {
277
+ // Count both private and public views
278
+ const privateUrl = (0, Utils_1.formatUrl)("/Cubes('{}')/PrivateViews/$count", cubeName);
279
+ const publicUrl = (0, Utils_1.formatUrl)("/Cubes('{}')/Views/$count", cubeName);
280
+ const [privateResponse, publicResponse] = await Promise.all([
281
+ this.rest.get(privateUrl),
282
+ this.rest.get(publicUrl)
283
+ ]);
284
+ const privateCount = parseInt(privateResponse.data) || 0;
285
+ const publicCount = parseInt(publicResponse.data) || 0;
286
+ return privateCount + publicCount;
287
+ }
288
+ const viewType = isPrivate ? "PrivateViews" : "Views";
289
+ const url = (0, Utils_1.formatUrl)("/Cubes('{}')/{}/$count", cubeName, viewType);
290
+ const response = await this.rest.get(url);
291
+ return parseInt(response.data) || 0;
292
+ }
293
+ async getMdxViewNames(cubeName, isPrivate = false) {
294
+ /** Get names of all MDX views from cube
295
+ *
296
+ * :param cube_name: name of the cube
297
+ * :param is_private: get private views
298
+ * :return: list of MDX view names
299
+ */
300
+ const viewType = isPrivate ? "PrivateViews" : "Views";
301
+ const url = (0, Utils_1.formatUrl)("/Cubes('{}')/{}?$select=Name,MDX", cubeName, viewType);
302
+ const response = await this.rest.get(url);
303
+ const mdxViewNames = [];
304
+ for (const view of response.data.value) {
305
+ if (view.MDX) {
306
+ mdxViewNames.push(view.Name);
307
+ }
308
+ }
309
+ return mdxViewNames;
310
+ }
311
+ async getNativeViewNames(cubeName, isPrivate = false) {
312
+ /** Get names of all native views from cube
313
+ *
314
+ * :param cube_name: name of the cube
315
+ * :param is_private: get private views
316
+ * :return: list of native view names
317
+ */
318
+ const viewType = isPrivate ? "PrivateViews" : "Views";
319
+ const url = (0, Utils_1.formatUrl)("/Cubes('{}')/{}?$select=Name,MDX", cubeName, viewType);
320
+ const response = await this.rest.get(url);
321
+ const nativeViewNames = [];
322
+ for (const view of response.data.value) {
323
+ if (!view.MDX) {
324
+ nativeViewNames.push(view.Name);
325
+ }
326
+ }
327
+ return nativeViewNames;
328
+ }
329
+ }
330
+ exports.ViewService = ViewService;
331
+ //# sourceMappingURL=ViewService.js.map
@@ -0,0 +1,26 @@
1
+ export { CubeService } from './CubeService';
2
+ export { ElementService } from './ElementService';
3
+ export { CellService } from './CellService';
4
+ export { ProcessService } from './ProcessService';
5
+ export { ViewService } from './ViewService';
6
+ export { SecurityService } from './SecurityService';
7
+ export { FileService } from './FileService';
8
+ export { SessionService } from './SessionService';
9
+ export { ConfigurationService } from './ConfigurationService';
10
+ export { ServerService } from './ServerService';
11
+ export { MonitoringService } from './MonitoringService';
12
+ export { AnnotationService } from './AnnotationService';
13
+ export { ApplicationService } from './ApplicationService';
14
+ export { AuditLogService } from './AuditLogService';
15
+ export { ChoreService } from './ChoreService';
16
+ export { GitService } from './GitService';
17
+ export { JobService } from './JobService';
18
+ export { LoggerService } from './LoggerService';
19
+ export { ManageService } from './ManageService';
20
+ export { MessageLogService } from './MessageLogService';
21
+ export { PowerBiService } from './PowerBiService';
22
+ export { SandboxService } from './SandboxService';
23
+ export { ThreadService } from './ThreadService';
24
+ export { TransactionLogService } from './TransactionLogService';
25
+ export { UserService } from './UserService';
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserService = exports.TransactionLogService = exports.ThreadService = exports.SandboxService = exports.PowerBiService = exports.MessageLogService = exports.ManageService = exports.LoggerService = exports.JobService = exports.GitService = exports.ChoreService = exports.AuditLogService = exports.ApplicationService = exports.AnnotationService = exports.MonitoringService = exports.ServerService = exports.ConfigurationService = exports.SessionService = exports.FileService = exports.SecurityService = exports.ViewService = exports.ProcessService = exports.CellService = exports.ElementService = exports.CubeService = void 0;
4
+ // Export all service implementations
5
+ var CubeService_1 = require("./CubeService");
6
+ Object.defineProperty(exports, "CubeService", { enumerable: true, get: function () { return CubeService_1.CubeService; } });
7
+ var ElementService_1 = require("./ElementService");
8
+ Object.defineProperty(exports, "ElementService", { enumerable: true, get: function () { return ElementService_1.ElementService; } });
9
+ var CellService_1 = require("./CellService");
10
+ Object.defineProperty(exports, "CellService", { enumerable: true, get: function () { return CellService_1.CellService; } });
11
+ var ProcessService_1 = require("./ProcessService");
12
+ Object.defineProperty(exports, "ProcessService", { enumerable: true, get: function () { return ProcessService_1.ProcessService; } });
13
+ var ViewService_1 = require("./ViewService");
14
+ Object.defineProperty(exports, "ViewService", { enumerable: true, get: function () { return ViewService_1.ViewService; } });
15
+ var SecurityService_1 = require("./SecurityService");
16
+ Object.defineProperty(exports, "SecurityService", { enumerable: true, get: function () { return SecurityService_1.SecurityService; } });
17
+ var FileService_1 = require("./FileService");
18
+ Object.defineProperty(exports, "FileService", { enumerable: true, get: function () { return FileService_1.FileService; } });
19
+ var SessionService_1 = require("./SessionService");
20
+ Object.defineProperty(exports, "SessionService", { enumerable: true, get: function () { return SessionService_1.SessionService; } });
21
+ var ConfigurationService_1 = require("./ConfigurationService");
22
+ Object.defineProperty(exports, "ConfigurationService", { enumerable: true, get: function () { return ConfigurationService_1.ConfigurationService; } });
23
+ var ServerService_1 = require("./ServerService");
24
+ Object.defineProperty(exports, "ServerService", { enumerable: true, get: function () { return ServerService_1.ServerService; } });
25
+ var MonitoringService_1 = require("./MonitoringService");
26
+ Object.defineProperty(exports, "MonitoringService", { enumerable: true, get: function () { return MonitoringService_1.MonitoringService; } });
27
+ // Additional services
28
+ var AnnotationService_1 = require("./AnnotationService");
29
+ Object.defineProperty(exports, "AnnotationService", { enumerable: true, get: function () { return AnnotationService_1.AnnotationService; } });
30
+ var ApplicationService_1 = require("./ApplicationService");
31
+ Object.defineProperty(exports, "ApplicationService", { enumerable: true, get: function () { return ApplicationService_1.ApplicationService; } });
32
+ var AuditLogService_1 = require("./AuditLogService");
33
+ Object.defineProperty(exports, "AuditLogService", { enumerable: true, get: function () { return AuditLogService_1.AuditLogService; } });
34
+ var ChoreService_1 = require("./ChoreService");
35
+ Object.defineProperty(exports, "ChoreService", { enumerable: true, get: function () { return ChoreService_1.ChoreService; } });
36
+ var GitService_1 = require("./GitService");
37
+ Object.defineProperty(exports, "GitService", { enumerable: true, get: function () { return GitService_1.GitService; } });
38
+ var JobService_1 = require("./JobService");
39
+ Object.defineProperty(exports, "JobService", { enumerable: true, get: function () { return JobService_1.JobService; } });
40
+ var LoggerService_1 = require("./LoggerService");
41
+ Object.defineProperty(exports, "LoggerService", { enumerable: true, get: function () { return LoggerService_1.LoggerService; } });
42
+ var ManageService_1 = require("./ManageService");
43
+ Object.defineProperty(exports, "ManageService", { enumerable: true, get: function () { return ManageService_1.ManageService; } });
44
+ var MessageLogService_1 = require("./MessageLogService");
45
+ Object.defineProperty(exports, "MessageLogService", { enumerable: true, get: function () { return MessageLogService_1.MessageLogService; } });
46
+ var PowerBiService_1 = require("./PowerBiService");
47
+ Object.defineProperty(exports, "PowerBiService", { enumerable: true, get: function () { return PowerBiService_1.PowerBiService; } });
48
+ var SandboxService_1 = require("./SandboxService");
49
+ Object.defineProperty(exports, "SandboxService", { enumerable: true, get: function () { return SandboxService_1.SandboxService; } });
50
+ var ThreadService_1 = require("./ThreadService");
51
+ Object.defineProperty(exports, "ThreadService", { enumerable: true, get: function () { return ThreadService_1.ThreadService; } });
52
+ var TransactionLogService_1 = require("./TransactionLogService");
53
+ Object.defineProperty(exports, "TransactionLogService", { enumerable: true, get: function () { return TransactionLogService_1.TransactionLogService; } });
54
+ var UserService_1 = require("./UserService");
55
+ Object.defineProperty(exports, "UserService", { enumerable: true, get: function () { return UserService_1.UserService; } });
56
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Simple tests to verify 100% TM1py parity functions exist
3
+ * Checks all 22 newly implemented functions for complete coverage
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=100PercentParityCheck.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"100PercentParityCheck.test.d.ts","sourceRoot":"","sources":["../../src/tests/100PercentParityCheck.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ /**
3
+ * Simple tests to verify 100% TM1py parity functions exist
4
+ * Checks all 22 newly implemented functions for complete coverage
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const ElementService_1 = require("../services/ElementService");
8
+ const ProcessService_1 = require("../services/ProcessService");
9
+ const CellService_1 = require("../services/CellService");
10
+ const HierarchyService_1 = require("../services/HierarchyService");
11
+ describe('100% TM1py Parity Function Existence', () => {
12
+ let mockRestService;
13
+ let elementService;
14
+ let processService;
15
+ let cellService;
16
+ let hierarchyService;
17
+ beforeEach(() => {
18
+ mockRestService = {
19
+ get: jest.fn(),
20
+ post: jest.fn(),
21
+ patch: jest.fn(),
22
+ put: jest.fn(),
23
+ delete: jest.fn()
24
+ };
25
+ elementService = new ElementService_1.ElementService(mockRestService);
26
+ processService = new ProcessService_1.ProcessService(mockRestService);
27
+ cellService = new CellService_1.CellService(mockRestService);
28
+ hierarchyService = new HierarchyService_1.HierarchyService(mockRestService);
29
+ });
30
+ describe('ElementService - New Functions (13 functions)', () => {
31
+ test('All new ElementService functions should exist', () => {
32
+ // Bulk Operations & Performance
33
+ expect(typeof elementService.deleteElementsUseTi).toBe('function');
34
+ expect(typeof elementService.deleteEdgesUseBlob).toBe('function');
35
+ // Advanced Element Retrieval
36
+ expect(typeof elementService.getElementsByLevel).toBe('function');
37
+ expect(typeof elementService.getElementsFilteredByWildcard).toBe('function');
38
+ expect(typeof elementService.getAttributeOfElements).toBe('function');
39
+ // Element Locking & Control
40
+ expect(typeof elementService.elementLock).toBe('function');
41
+ expect(typeof elementService.elementUnlock).toBe('function');
42
+ // Hierarchy Analysis
43
+ expect(typeof elementService.getLevelsCount).toBe('function');
44
+ expect(typeof elementService.getLevelNames).toBe('function');
45
+ expect(typeof elementService.getAliasElementAttributes).toBe('function');
46
+ // Advanced Edge Operations
47
+ expect(typeof elementService.getLeavesUnderConsolidation).toBe('function');
48
+ expect(typeof elementService.getEdgesUnderConsolidation).toBe('function');
49
+ expect(typeof elementService.getMembersUnderConsolidation).toBe('function');
50
+ // Advanced Filtering
51
+ expect(typeof elementService.getElementsFilteredByAttribute).toBe('function');
52
+ expect(typeof elementService.getAllElementIdentifiers).toBe('function');
53
+ expect(typeof elementService.getElementIdentifiers).toBe('function');
54
+ console.log('✅ All 16 ElementService functions exist');
55
+ });
56
+ });
57
+ describe('ProcessService - Debug Operations (5 functions)', () => {
58
+ test('All new ProcessService functions should exist', () => {
59
+ expect(typeof processService.debugStepOver).toBe('function');
60
+ expect(typeof processService.debugStepIn).toBe('function');
61
+ expect(typeof processService.debugStepOut).toBe('function');
62
+ expect(typeof processService.debugContinue).toBe('function');
63
+ expect(typeof processService.evaluateBooleanTiExpression).toBe('function');
64
+ console.log('✅ All 5 ProcessService functions exist');
65
+ });
66
+ });
67
+ describe('CellService - Async Operations (3 functions)', () => {
68
+ test('All new CellService functions should exist', () => {
69
+ expect(typeof cellService.writeDataframeAsync).toBe('function');
70
+ expect(typeof cellService.executeMdxAsync).toBe('function');
71
+ expect(typeof cellService.pollExecuteWithReturn).toBe('function');
72
+ console.log('✅ All 3 CellService functions exist');
73
+ });
74
+ });
75
+ describe('HierarchyService - Balance Check (1 function)', () => {
76
+ test('New HierarchyService function should exist', () => {
77
+ expect(typeof hierarchyService.isBalanced).toBe('function');
78
+ console.log('✅ HierarchyService isBalanced function exists');
79
+ });
80
+ });
81
+ describe('100% Parity Achievement Summary', () => {
82
+ test('should confirm all 22 functions are implemented', () => {
83
+ const implementedFunctions = {
84
+ ElementService: [
85
+ 'deleteElementsUseTi',
86
+ 'deleteEdgesUseBlob',
87
+ 'getElementsByLevel',
88
+ 'getElementsFilteredByWildcard',
89
+ 'getAttributeOfElements',
90
+ 'elementLock',
91
+ 'elementUnlock',
92
+ 'getLevelsCount',
93
+ 'getLevelNames',
94
+ 'getAliasElementAttributes',
95
+ 'getLeavesUnderConsolidation',
96
+ 'getEdgesUnderConsolidation',
97
+ 'getMembersUnderConsolidation',
98
+ 'getElementsFilteredByAttribute',
99
+ 'getAllElementIdentifiers',
100
+ 'getElementIdentifiers'
101
+ ],
102
+ ProcessService: [
103
+ 'debugStepOver',
104
+ 'debugStepIn',
105
+ 'debugStepOut',
106
+ 'debugContinue',
107
+ 'evaluateBooleanTiExpression'
108
+ ],
109
+ CellService: [
110
+ 'writeDataframeAsync',
111
+ 'executeMdxAsync',
112
+ 'pollExecuteWithReturn'
113
+ ],
114
+ HierarchyService: [
115
+ 'isBalanced'
116
+ ]
117
+ };
118
+ // Verify all functions exist on their respective services
119
+ implementedFunctions.ElementService.forEach(funcName => {
120
+ expect(typeof elementService[funcName]).toBe('function');
121
+ });
122
+ implementedFunctions.ProcessService.forEach(funcName => {
123
+ expect(typeof processService[funcName]).toBe('function');
124
+ });
125
+ implementedFunctions.CellService.forEach(funcName => {
126
+ expect(typeof cellService[funcName]).toBe('function');
127
+ });
128
+ implementedFunctions.HierarchyService.forEach(funcName => {
129
+ expect(typeof hierarchyService[funcName]).toBe('function');
130
+ });
131
+ const totalFunctions = Object.values(implementedFunctions)
132
+ .reduce((total, funcs) => total + funcs.length, 0);
133
+ expect(totalFunctions).toBe(25); // 16 + 5 + 3 + 1
134
+ console.log('🎉 100% TM1py Parity Achieved!');
135
+ console.log(`✅ ${implementedFunctions.ElementService.length} ElementService functions`);
136
+ console.log(`✅ ${implementedFunctions.ProcessService.length} ProcessService functions`);
137
+ console.log(`✅ ${implementedFunctions.CellService.length} CellService functions`);
138
+ console.log(`✅ ${implementedFunctions.HierarchyService.length} HierarchyService function`);
139
+ console.log(`🏆 Total: ${totalFunctions} new functions for 100% coverage!`);
140
+ });
141
+ });
142
+ });
143
+ //# sourceMappingURL=100PercentParityCheck.test.js.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Basic working tests for tm1npm
3
+ * These tests verify core functionality without complex service dependencies
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=basic.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.test.d.ts","sourceRoot":"","sources":["../../src/tests/basic.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /**
3
+ * Basic working tests for tm1npm
4
+ * These tests verify core functionality without complex service dependencies
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const TM1Exception_1 = require("../exceptions/TM1Exception");
8
+ const Utils_1 = require("../utils/Utils");
9
+ describe('Core Functionality Tests', () => {
10
+ describe('Exception Classes', () => {
11
+ test('TM1Exception should be creatable', () => {
12
+ const exception = new TM1Exception_1.TM1Exception('Test error');
13
+ expect(exception.message).toBe('Test error');
14
+ expect(exception).toBeInstanceOf(TM1Exception_1.TM1Exception);
15
+ expect(exception).toBeInstanceOf(Error);
16
+ });
17
+ });
18
+ describe('Utility Functions', () => {
19
+ test('formatUrl should work correctly', () => {
20
+ const url1 = (0, Utils_1.formatUrl)("/Cubes('{}')", 'Sales');
21
+ expect(url1).toBe("/Cubes('Sales')");
22
+ const url2 = (0, Utils_1.formatUrl)("/Dimensions('{}')/Hierarchies('{}')", 'Product', 'Product');
23
+ expect(url2).toBe("/Dimensions('Product')/Hierarchies('Product')");
24
+ const url3 = (0, Utils_1.formatUrl)("/Cubes('{}')/Views('{}')", 'Sales', 'Default');
25
+ expect(url3).toBe("/Cubes('Sales')/Views('Default')");
26
+ });
27
+ test('verifyVersion should work correctly', () => {
28
+ // verifyVersion(actualVersion, requiredVersion)
29
+ expect((0, Utils_1.verifyVersion)('11.8.0', '11.0')).toBe(true); // 11.8.0 >= 11.0
30
+ expect((0, Utils_1.verifyVersion)('11.8.0', '12.0')).toBe(false); // 11.8.0 < 12.0
31
+ expect((0, Utils_1.verifyVersion)('11.8.0', '11.8')).toBe(true); // 11.8.0 >= 11.8
32
+ expect((0, Utils_1.verifyVersion)('11.8.0', '11.9')).toBe(false); // 11.8.0 < 11.9
33
+ });
34
+ });
35
+ describe('Environment Tests', () => {
36
+ test('Node.js environment should be available', () => {
37
+ expect(process.env).toBeDefined();
38
+ expect(process.version).toBeDefined();
39
+ });
40
+ test('TypeScript compilation should work', () => {
41
+ const testValue = 'TypeScript works';
42
+ expect(testValue).toBe('TypeScript works');
43
+ });
44
+ });
45
+ });
46
+ describe('Integration Tests', () => {
47
+ test('tm1npm package structure should be valid', () => {
48
+ // Basic smoke test to ensure the package can be imported
49
+ expect(true).toBe(true); // Placeholder test
50
+ });
51
+ });
52
+ //# sourceMappingURL=basic.test.js.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * CellService Tests for tm1npm
3
+ * Comprehensive tests for TM1 Cell operations with proper mocking
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=cellService.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cellService.test.d.ts","sourceRoot":"","sources":["../../src/tests/cellService.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}