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,376 @@
1
+ /**
2
+ * Main Index Export Tests
3
+ * Comprehensive test suite for main module exports
4
+ * Target: Improve coverage from 0% to 50%+ for src/index.ts
5
+ */
6
+
7
+ describe('Main Module Exports', () => {
8
+ let tm1npm: any;
9
+
10
+ beforeAll(async () => {
11
+ // Import the main module
12
+ tm1npm = await import('../index');
13
+ });
14
+
15
+ describe('Core Service Exports', () => {
16
+ test('should export TM1Service', () => {
17
+ expect(tm1npm.TM1Service).toBeDefined();
18
+ expect(typeof tm1npm.TM1Service).toBe('function');
19
+ });
20
+
21
+ test('should export RestService and AuthenticationMode', () => {
22
+ expect(tm1npm.RestService).toBeDefined();
23
+ expect(tm1npm.AuthenticationMode).toBeDefined();
24
+ expect(typeof tm1npm.RestService).toBe('function');
25
+ });
26
+
27
+ test('should export basic service classes', () => {
28
+ const basicServices = [
29
+ 'DimensionService',
30
+ 'HierarchyService',
31
+ 'SubsetService',
32
+ 'ObjectService'
33
+ ];
34
+
35
+ basicServices.forEach(serviceName => {
36
+ expect(tm1npm[serviceName]).toBeDefined();
37
+ expect(typeof tm1npm[serviceName]).toBe('function');
38
+ });
39
+ });
40
+ });
41
+
42
+ describe('Additional Service Exports', () => {
43
+ test('should export all additional services from services index', () => {
44
+ const additionalServices = [
45
+ 'CubeService', 'ElementService', 'CellService', 'ProcessService',
46
+ 'ViewService', 'SecurityService', 'FileService', 'SessionService',
47
+ 'ConfigurationService', 'ServerService', 'MonitoringService',
48
+ 'AnnotationService', 'ApplicationService', 'AuditLogService',
49
+ 'ChoreService', 'GitService', 'JobService', 'LoggerService',
50
+ 'ManageService', 'MessageLogService', 'PowerBiService',
51
+ 'SandboxService', 'ThreadService', 'TransactionLogService',
52
+ 'UserService'
53
+ ];
54
+
55
+ additionalServices.forEach(serviceName => {
56
+ expect(tm1npm[serviceName]).toBeDefined();
57
+ expect(typeof tm1npm[serviceName]).toBe('function');
58
+ });
59
+ });
60
+
61
+ test('should export service classes that can be instantiated', () => {
62
+ // Test a few key services can be instantiated
63
+ const mockRest = {} as any;
64
+
65
+ expect(() => new tm1npm.DimensionService(mockRest)).not.toThrow();
66
+ expect(() => new tm1npm.CubeService(mockRest)).not.toThrow();
67
+ expect(() => new tm1npm.ElementService(mockRest)).not.toThrow();
68
+ });
69
+ });
70
+
71
+ describe('Object Model Exports', () => {
72
+ test('should export core TM1 object classes', () => {
73
+ const coreObjects = [
74
+ 'TM1Object', 'Dimension', 'Hierarchy', 'Element', 'ElementAttribute'
75
+ ];
76
+
77
+ coreObjects.forEach(objectName => {
78
+ expect(tm1npm[objectName]).toBeDefined();
79
+ expect(typeof tm1npm[objectName]).toBe('function');
80
+ });
81
+ });
82
+
83
+ test('should export additional object classes', () => {
84
+ const additionalObjects = [
85
+ 'Annotation', 'Application', 'Chore', 'ChoreFrequency',
86
+ 'ChoreStartTime', 'ChoreTask', 'Cube', 'Git', 'GitCommit',
87
+ 'GitPlan', 'GitPushPlan', 'GitPullPlan', 'GitRemote',
88
+ 'Process', 'ProcessDebugBreakpoint', 'Rules', 'Sandbox',
89
+ 'Server', 'Subset', 'AnonymousSubset', 'TM1Project',
90
+ 'TM1ProjectTask', 'TM1ProjectDeployment', 'User', 'View',
91
+ 'MDXView', 'NativeView', 'ViewAxisSelection', 'ViewTitleSelection'
92
+ ];
93
+
94
+ additionalObjects.forEach(objectName => {
95
+ expect(tm1npm[objectName]).toBeDefined();
96
+ expect(typeof tm1npm[objectName]).toBe('function');
97
+ });
98
+ });
99
+
100
+ test('should export enums and types correctly', () => {
101
+ // Element types
102
+ expect(tm1npm.ElementType).toBeDefined();
103
+ expect(typeof tm1npm.ElementType).toBe('object');
104
+
105
+ // Element attribute types
106
+ expect(tm1npm.ElementAttributeType).toBeDefined();
107
+ expect(typeof tm1npm.ElementAttributeType).toBe('object');
108
+
109
+ // Process debug breakpoint types
110
+ expect(tm1npm.HitMode).toBeDefined();
111
+ expect(tm1npm.BreakPointType).toBeDefined();
112
+
113
+ // Enum exports - Note: ChoreTaskParameter is a TypeScript interface, not runtime object
114
+ // expect(tm1npm.ChoreTaskParameter).toBeDefined(); // This is a TypeScript interface
115
+ });
116
+
117
+ test('should export LogLevel enum', () => {
118
+ expect(tm1npm.LogLevel).toBeDefined();
119
+ expect(typeof tm1npm.LogLevel).toBe('object');
120
+ });
121
+ });
122
+
123
+ describe('Exception Exports', () => {
124
+ test('should export all exception classes', () => {
125
+ const exceptions = [
126
+ 'TM1Exception',
127
+ 'TM1RestException',
128
+ 'TM1TimeoutException',
129
+ 'TM1VersionDeprecationException'
130
+ ];
131
+
132
+ exceptions.forEach(exceptionName => {
133
+ expect(tm1npm[exceptionName]).toBeDefined();
134
+ expect(typeof tm1npm[exceptionName]).toBe('function');
135
+ });
136
+ });
137
+
138
+ test('should export exception classes that can be instantiated', () => {
139
+ expect(() => new tm1npm.TM1Exception('test')).not.toThrow();
140
+ expect(() => new tm1npm.TM1RestException('test', 500)).not.toThrow();
141
+ expect(() => new tm1npm.TM1TimeoutException('test', 1000)).not.toThrow();
142
+ });
143
+
144
+ test('should export exceptions that inherit correctly', () => {
145
+ const restEx = new tm1npm.TM1RestException('test', 500);
146
+ const timeoutEx = new tm1npm.TM1TimeoutException('test', 1000);
147
+
148
+ expect(restEx).toBeInstanceOf(tm1npm.TM1Exception);
149
+ expect(restEx).toBeInstanceOf(Error);
150
+ expect(timeoutEx).toBeInstanceOf(tm1npm.TM1Exception);
151
+ expect(timeoutEx).toBeInstanceOf(Error);
152
+ });
153
+ });
154
+
155
+ describe('Utility Exports', () => {
156
+ test('should export Utils class and utility functions', () => {
157
+ expect(tm1npm.Utils).toBeDefined();
158
+ expect(typeof tm1npm.Utils).toBe('object'); // Utils is exported as object, not class
159
+
160
+ // Utility functions
161
+ expect(tm1npm.CaseAndSpaceInsensitiveMap).toBeDefined();
162
+ expect(tm1npm.CaseAndSpaceInsensitiveSet).toBeDefined();
163
+ expect(tm1npm.caseAndSpaceInsensitiveEquals).toBeDefined();
164
+ expect(tm1npm.lowerAndDropSpaces).toBeDefined();
165
+ expect(tm1npm.formatUrl).toBeDefined();
166
+
167
+ expect(typeof tm1npm.caseAndSpaceInsensitiveEquals).toBe('function');
168
+ expect(typeof tm1npm.lowerAndDropSpaces).toBe('function');
169
+ expect(typeof tm1npm.formatUrl).toBe('function');
170
+ });
171
+
172
+ test('should export utility functions that work correctly', () => {
173
+ // Test case and space insensitive equals
174
+ expect(tm1npm.caseAndSpaceInsensitiveEquals('Hello World', 'hello world')).toBe(true);
175
+ expect(tm1npm.caseAndSpaceInsensitiveEquals('Test', 'Different')).toBe(false);
176
+
177
+ // Test lower and drop spaces
178
+ expect(tm1npm.lowerAndDropSpaces('Hello World')).toBe('helloworld');
179
+ expect(tm1npm.lowerAndDropSpaces('TEST STRING')).toBe('teststring');
180
+
181
+ // Test format URL - it URL-encodes parameters, doesn't add quotes
182
+ expect(tm1npm.formatUrl('test {}' , 'param')).toBe('test param');
183
+ expect(tm1npm.formatUrl('test {} {}', 'param1', 'param2')).toBe('test param1 param2');
184
+ });
185
+
186
+ test('should export utility classes that can be instantiated', () => {
187
+ expect(() => new tm1npm.CaseAndSpaceInsensitiveMap()).not.toThrow();
188
+ expect(() => new tm1npm.CaseAndSpaceInsensitiveSet()).not.toThrow();
189
+
190
+ // Test basic functionality
191
+ const map = new tm1npm.CaseAndSpaceInsensitiveMap();
192
+ map.set('Test Key', 'value');
193
+ expect(map.get('test key')).toBe('value');
194
+ expect(map.get('TESTKEY')).toBe('value');
195
+
196
+ const set = new tm1npm.CaseAndSpaceInsensitiveSet();
197
+ set.add('Test Item');
198
+ expect(set.has('test item')).toBe(true);
199
+ expect(set.has('TESTITEM')).toBe(true);
200
+ });
201
+ });
202
+
203
+ describe('Type Exports', () => {
204
+ test('should export TypeScript type definitions', () => {
205
+ // These are TypeScript types, so we can't directly test them at runtime
206
+ // But we can verify they don't cause import errors and the module loads
207
+ expect(tm1npm).toBeDefined();
208
+ });
209
+ });
210
+
211
+ describe('Version Export', () => {
212
+ test('should export version string', () => {
213
+ expect(tm1npm.version).toBeDefined();
214
+ expect(typeof tm1npm.version).toBe('string');
215
+ expect(tm1npm.version).toMatch(/^\d+\.\d+\.\d+$/); // Semver pattern
216
+ });
217
+
218
+ test('should export current version', () => {
219
+ expect(tm1npm.version).toBe('2.1.0');
220
+ });
221
+ });
222
+
223
+ describe('Module Integration', () => {
224
+ test('should export all expected properties', () => {
225
+ const expectedExports = [
226
+ // Core services
227
+ 'TM1Service', 'RestService', 'AuthenticationMode',
228
+ 'DimensionService', 'HierarchyService', 'SubsetService', 'ObjectService',
229
+
230
+ // Additional services (sample)
231
+ 'CubeService', 'ElementService', 'CellService', 'ProcessService',
232
+ 'ViewService', 'SecurityService', 'ServerService',
233
+
234
+ // Core objects
235
+ 'TM1Object', 'Dimension', 'Hierarchy', 'Element', 'ElementAttribute',
236
+ 'Cube', 'Process', 'User', 'View',
237
+
238
+ // Exceptions
239
+ 'TM1Exception', 'TM1RestException', 'TM1TimeoutException',
240
+
241
+ // Utils
242
+ 'Utils', 'CaseAndSpaceInsensitiveMap', 'formatUrl',
243
+
244
+ // Version
245
+ 'version'
246
+ ];
247
+
248
+ expectedExports.forEach(exportName => {
249
+ expect(tm1npm[exportName]).toBeDefined();
250
+ });
251
+ });
252
+
253
+ test('should not export unexpected properties', () => {
254
+ const unexpectedExports = [
255
+ 'internalFunction', 'privateClass', '__dirname', '__filename'
256
+ ];
257
+
258
+ unexpectedExports.forEach(unexpectedName => {
259
+ expect(tm1npm[unexpectedName]).toBeUndefined();
260
+ });
261
+ });
262
+
263
+ test('should allow creating a TM1Service instance with all services', () => {
264
+ const config = {
265
+ address: 'localhost',
266
+ port: 8879,
267
+ user: 'admin',
268
+ password: 'password',
269
+ ssl: false
270
+ };
271
+
272
+ expect(() => new tm1npm.TM1Service(config)).not.toThrow();
273
+
274
+ const tm1 = new tm1npm.TM1Service(config);
275
+
276
+ // Verify all services are available
277
+ expect(tm1.dimensions).toBeDefined();
278
+ expect(tm1.cubes).toBeDefined();
279
+ expect(tm1.elements).toBeDefined();
280
+ expect(tm1.cells).toBeDefined();
281
+ expect(tm1.processes).toBeDefined();
282
+ expect(tm1.views).toBeDefined();
283
+ expect(tm1.security).toBeDefined();
284
+ });
285
+ });
286
+
287
+ describe('Error Handling and Edge Cases', () => {
288
+ test('should handle invalid configurations gracefully', () => {
289
+ // This tests that the classes can be imported and instantiated
290
+ // Error handling for invalid configs would be in the actual service classes
291
+ expect(() => {
292
+ const invalidConfig = {} as any;
293
+ new tm1npm.TM1Service(invalidConfig);
294
+ }).not.toThrow(); // Constructor should not throw, connection would fail later
295
+ });
296
+
297
+ test('should handle missing dependencies gracefully', () => {
298
+ // Test that services can be created even if some dependencies are missing
299
+ expect(() => new tm1npm.DimensionService(null as any)).not.toThrow();
300
+ expect(() => new tm1npm.CubeService(undefined as any)).not.toThrow();
301
+ });
302
+
303
+ test('should export consistent API surface', () => {
304
+ // Verify that all exported classes follow consistent patterns
305
+ const serviceClasses = [
306
+ 'DimensionService', 'CubeService', 'ElementService',
307
+ 'CellService', 'ProcessService', 'ViewService'
308
+ ];
309
+
310
+ serviceClasses.forEach(serviceName => {
311
+ const ServiceClass = tm1npm[serviceName];
312
+ expect(ServiceClass).toBeDefined();
313
+ expect(typeof ServiceClass).toBe('function');
314
+ expect(ServiceClass.prototype).toBeDefined();
315
+ });
316
+ });
317
+ });
318
+
319
+ describe('Backward Compatibility', () => {
320
+ test('should maintain backward compatible exports', () => {
321
+ // Test that commonly used exports are still available
322
+ const commonExports = [
323
+ 'TM1Service', 'RestService', 'TM1Exception',
324
+ 'Dimension', 'Cube', 'Process', 'Element',
325
+ 'DimensionService', 'CubeService', 'ProcessService'
326
+ ];
327
+
328
+ commonExports.forEach(exportName => {
329
+ expect(tm1npm[exportName]).toBeDefined();
330
+ });
331
+ });
332
+
333
+ test('should export types and enums for TypeScript users', () => {
334
+ // Verify important enums are exported
335
+ expect(tm1npm.ElementType).toBeDefined();
336
+ expect(tm1npm.ElementAttributeType).toBeDefined();
337
+ expect(tm1npm.AuthenticationMode).toBeDefined();
338
+ });
339
+ });
340
+
341
+ describe('Module Loading Performance', () => {
342
+ test('should load module exports efficiently', async () => {
343
+ const startTime = Date.now();
344
+
345
+ // Re-import to test loading performance
346
+ const freshImport = await import('../index');
347
+
348
+ const loadTime = Date.now() - startTime;
349
+
350
+ expect(freshImport).toBeDefined();
351
+ expect(loadTime).toBeLessThan(1000); // Should load in less than 1 second
352
+ });
353
+
354
+ test('should not load all services immediately', () => {
355
+ // This ensures lazy loading is working properly
356
+ // Heavy services should not be instantiated just from importing
357
+ const memoryBefore = process.memoryUsage();
358
+
359
+ const config = {
360
+ address: 'localhost',
361
+ port: 8879,
362
+ user: 'admin',
363
+ password: 'password',
364
+ ssl: false
365
+ };
366
+
367
+ const tm1 = new tm1npm.TM1Service(config);
368
+
369
+ const memoryAfter = process.memoryUsage();
370
+ const memoryIncrease = memoryAfter.heapUsed - memoryBefore.heapUsed;
371
+
372
+ // Memory increase should be reasonable (less than 10MB)
373
+ expect(memoryIncrease).toBeLessThan(10 * 1024 * 1024);
374
+ });
375
+ });
376
+ });