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.
- package/.env.example +16 -0
- package/.eslintrc.js +28 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- package/.github/ISSUE_TEMPLATE/question.md +24 -0
- package/.github/workflows/publish-npm.yml +53 -0
- package/.github/workflows/test-on-tag.yml +172 -0
- package/DEVELOPMENT_GUIDE.md +587 -0
- package/LICENSE +21 -0
- package/README.md +580 -0
- package/jest.ci.config.js +83 -0
- package/jest.config.js +68 -0
- package/lib/exceptions/TM1Exception.d.ts +17 -0
- package/lib/exceptions/TM1Exception.d.ts.map +1 -0
- package/lib/exceptions/TM1Exception.js +36 -0
- package/lib/exceptions/TM1RestException.d.ts +10 -0
- package/lib/exceptions/TM1RestException.d.ts.map +1 -0
- package/lib/exceptions/TM1RestException.js +17 -0
- package/lib/exceptions/TM1TimeoutException.d.ts +9 -0
- package/lib/exceptions/TM1TimeoutException.d.ts.map +1 -0
- package/lib/exceptions/TM1TimeoutException.js +16 -0
- package/lib/index.d.ts +41 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +132 -0
- package/lib/objects/Annotation.d.ts +36 -0
- package/lib/objects/Annotation.d.ts.map +1 -0
- package/lib/objects/Annotation.js +134 -0
- package/lib/objects/Application.d.ts +67 -0
- package/lib/objects/Application.d.ts.map +1 -0
- package/lib/objects/Application.js +125 -0
- package/lib/objects/Axis.d.ts +36 -0
- package/lib/objects/Axis.d.ts.map +1 -0
- package/lib/objects/Axis.js +103 -0
- package/lib/objects/Chore.d.ts +43 -0
- package/lib/objects/Chore.d.ts.map +1 -0
- package/lib/objects/Chore.js +129 -0
- package/lib/objects/ChoreFrequency.d.ts +23 -0
- package/lib/objects/ChoreFrequency.d.ts.map +1 -0
- package/lib/objects/ChoreFrequency.js +61 -0
- package/lib/objects/ChoreStartTime.d.ts +15 -0
- package/lib/objects/ChoreStartTime.d.ts.map +1 -0
- package/lib/objects/ChoreStartTime.js +85 -0
- package/lib/objects/ChoreTask.d.ts +28 -0
- package/lib/objects/ChoreTask.d.ts.map +1 -0
- package/lib/objects/ChoreTask.js +66 -0
- package/lib/objects/Cube.d.ts +26 -0
- package/lib/objects/Cube.d.ts.map +1 -0
- package/lib/objects/Cube.js +109 -0
- package/lib/objects/Dimension.d.ts +26 -0
- package/lib/objects/Dimension.d.ts.map +1 -0
- package/lib/objects/Dimension.js +86 -0
- package/lib/objects/Element.d.ts +35 -0
- package/lib/objects/Element.d.ts.map +1 -0
- package/lib/objects/Element.js +115 -0
- package/lib/objects/ElementAttribute.d.ts +28 -0
- package/lib/objects/ElementAttribute.d.ts.map +1 -0
- package/lib/objects/ElementAttribute.js +97 -0
- package/lib/objects/Git.d.ts +21 -0
- package/lib/objects/Git.d.ts.map +1 -0
- package/lib/objects/Git.js +49 -0
- package/lib/objects/GitCommit.d.ts +12 -0
- package/lib/objects/GitCommit.d.ts.map +1 -0
- package/lib/objects/GitCommit.js +26 -0
- package/lib/objects/GitPlan.d.ts +35 -0
- package/lib/objects/GitPlan.d.ts.map +1 -0
- package/lib/objects/GitPlan.js +78 -0
- package/lib/objects/GitRemote.d.ts +12 -0
- package/lib/objects/GitRemote.d.ts.map +1 -0
- package/lib/objects/GitRemote.js +26 -0
- package/lib/objects/Hierarchy.d.ts +47 -0
- package/lib/objects/Hierarchy.d.ts.map +1 -0
- package/lib/objects/Hierarchy.js +165 -0
- package/lib/objects/MDXView.d.ts +19 -0
- package/lib/objects/MDXView.d.ts.map +1 -0
- package/lib/objects/MDXView.js +67 -0
- package/lib/objects/NativeView.d.ts +39 -0
- package/lib/objects/NativeView.d.ts.map +1 -0
- package/lib/objects/NativeView.js +209 -0
- package/lib/objects/Process.d.ts +70 -0
- package/lib/objects/Process.d.ts.map +1 -0
- package/lib/objects/Process.js +210 -0
- package/lib/objects/ProcessDebugBreakpoint.d.ts +60 -0
- package/lib/objects/ProcessDebugBreakpoint.d.ts.map +1 -0
- package/lib/objects/ProcessDebugBreakpoint.js +168 -0
- package/lib/objects/ProcessParameter.d.ts +23 -0
- package/lib/objects/ProcessParameter.d.ts.map +1 -0
- package/lib/objects/ProcessParameter.js +55 -0
- package/lib/objects/ProcessVariable.d.ts +26 -0
- package/lib/objects/ProcessVariable.d.ts.map +1 -0
- package/lib/objects/ProcessVariable.js +63 -0
- package/lib/objects/Rules.d.ts +30 -0
- package/lib/objects/Rules.d.ts.map +1 -0
- package/lib/objects/Rules.js +103 -0
- package/lib/objects/Sandbox.d.ts +21 -0
- package/lib/objects/Sandbox.d.ts.map +1 -0
- package/lib/objects/Sandbox.js +64 -0
- package/lib/objects/Server.d.ts +27 -0
- package/lib/objects/Server.d.ts.map +1 -0
- package/lib/objects/Server.js +26 -0
- package/lib/objects/Subset.d.ts +44 -0
- package/lib/objects/Subset.d.ts.map +1 -0
- package/lib/objects/Subset.js +222 -0
- package/lib/objects/TM1Object.d.ts +8 -0
- package/lib/objects/TM1Object.d.ts.map +1 -0
- package/lib/objects/TM1Object.js +17 -0
- package/lib/objects/TM1Project.d.ts +74 -0
- package/lib/objects/TM1Project.d.ts.map +1 -0
- package/lib/objects/TM1Project.js +409 -0
- package/lib/objects/User.d.ts +42 -0
- package/lib/objects/User.d.ts.map +1 -0
- package/lib/objects/User.js +157 -0
- package/lib/objects/View.d.ts +19 -0
- package/lib/objects/View.d.ts.map +1 -0
- package/lib/objects/View.js +33 -0
- package/lib/objects/index.d.ts +30 -0
- package/lib/objects/index.d.ts.map +1 -0
- package/lib/objects/index.js +68 -0
- package/lib/services/AnnotationService.d.ts +17 -0
- package/lib/services/AnnotationService.d.ts.map +1 -0
- package/lib/services/AnnotationService.js +91 -0
- package/lib/services/ApplicationService.d.ts +21 -0
- package/lib/services/ApplicationService.d.ts.map +1 -0
- package/lib/services/ApplicationService.js +227 -0
- package/lib/services/AuditLogService.d.ts +15 -0
- package/lib/services/AuditLogService.d.ts.map +1 -0
- package/lib/services/AuditLogService.js +153 -0
- package/lib/services/CellService.d.ts +191 -0
- package/lib/services/CellService.d.ts.map +1 -0
- package/lib/services/CellService.js +597 -0
- package/lib/services/ChoreService.d.ts +24 -0
- package/lib/services/ChoreService.d.ts.map +1 -0
- package/lib/services/ChoreService.js +219 -0
- package/lib/services/ConfigurationService.d.ts +18 -0
- package/lib/services/ConfigurationService.d.ts.map +1 -0
- package/lib/services/ConfigurationService.js +60 -0
- package/lib/services/CubeService.d.ts +43 -0
- package/lib/services/CubeService.d.ts.map +1 -0
- package/lib/services/CubeService.js +296 -0
- package/lib/services/DimensionService.d.ts +21 -0
- package/lib/services/DimensionService.d.ts.map +1 -0
- package/lib/services/DimensionService.js +146 -0
- package/lib/services/ElementService.d.ts +132 -0
- package/lib/services/ElementService.d.ts.map +1 -0
- package/lib/services/ElementService.js +579 -0
- package/lib/services/FileService.d.ts +14 -0
- package/lib/services/FileService.d.ts.map +1 -0
- package/lib/services/FileService.js +65 -0
- package/lib/services/GitService.d.ts +23 -0
- package/lib/services/GitService.d.ts.map +1 -0
- package/lib/services/GitService.js +225 -0
- package/lib/services/HierarchyService.d.ts +32 -0
- package/lib/services/HierarchyService.d.ts.map +1 -0
- package/lib/services/HierarchyService.js +235 -0
- package/lib/services/JobService.d.ts +13 -0
- package/lib/services/JobService.d.ts.map +1 -0
- package/lib/services/JobService.js +83 -0
- package/lib/services/LoggerService.d.ts +16 -0
- package/lib/services/LoggerService.d.ts.map +1 -0
- package/lib/services/LoggerService.js +101 -0
- package/lib/services/ManageService.d.ts +47 -0
- package/lib/services/ManageService.d.ts.map +1 -0
- package/lib/services/ManageService.js +221 -0
- package/lib/services/MessageLogService.d.ts +13 -0
- package/lib/services/MessageLogService.d.ts.map +1 -0
- package/lib/services/MessageLogService.js +175 -0
- package/lib/services/MonitoringService.d.ts +29 -0
- package/lib/services/MonitoringService.d.ts.map +1 -0
- package/lib/services/MonitoringService.js +86 -0
- package/lib/services/ObjectService.d.ts +8 -0
- package/lib/services/ObjectService.d.ts.map +1 -0
- package/lib/services/ObjectService.js +20 -0
- package/lib/services/PowerBiService.d.ts +13 -0
- package/lib/services/PowerBiService.d.ts.map +1 -0
- package/lib/services/PowerBiService.js +52 -0
- package/lib/services/ProcessService.d.ts +57 -0
- package/lib/services/ProcessService.d.ts.map +1 -0
- package/lib/services/ProcessService.js +499 -0
- package/lib/services/RestService.d.ts +68 -0
- package/lib/services/RestService.d.ts.map +1 -0
- package/lib/services/RestService.js +166 -0
- package/lib/services/SandboxService.d.ts +28 -0
- package/lib/services/SandboxService.d.ts.map +1 -0
- package/lib/services/SandboxService.js +197 -0
- package/lib/services/SecurityService.d.ts +33 -0
- package/lib/services/SecurityService.d.ts.map +1 -0
- package/lib/services/SecurityService.js +249 -0
- package/lib/services/ServerService.d.ts +55 -0
- package/lib/services/ServerService.d.ts.map +1 -0
- package/lib/services/ServerService.js +247 -0
- package/lib/services/SessionService.d.ts +15 -0
- package/lib/services/SessionService.d.ts.map +1 -0
- package/lib/services/SessionService.js +68 -0
- package/lib/services/SubsetService.d.ts +13 -0
- package/lib/services/SubsetService.d.ts.map +1 -0
- package/lib/services/SubsetService.js +46 -0
- package/lib/services/TM1Service.d.ts +39 -0
- package/lib/services/TM1Service.d.ts.map +1 -0
- package/lib/services/TM1Service.js +94 -0
- package/lib/services/ThreadService.d.ts +15 -0
- package/lib/services/ThreadService.d.ts.map +1 -0
- package/lib/services/ThreadService.js +104 -0
- package/lib/services/TransactionLogService.d.ts +11 -0
- package/lib/services/TransactionLogService.d.ts.map +1 -0
- package/lib/services/TransactionLogService.js +124 -0
- package/lib/services/UserService.d.ts +14 -0
- package/lib/services/UserService.d.ts.map +1 -0
- package/lib/services/UserService.js +103 -0
- package/lib/services/ViewService.d.ts +30 -0
- package/lib/services/ViewService.d.ts.map +1 -0
- package/lib/services/ViewService.js +331 -0
- package/lib/services/index.d.ts +26 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/index.js +56 -0
- package/lib/tests/100PercentParityCheck.test.d.ts +6 -0
- package/lib/tests/100PercentParityCheck.test.d.ts.map +1 -0
- package/lib/tests/100PercentParityCheck.test.js +143 -0
- package/lib/tests/basic.test.d.ts +6 -0
- package/lib/tests/basic.test.d.ts.map +1 -0
- package/lib/tests/basic.test.js +52 -0
- package/lib/tests/cellService.test.d.ts +6 -0
- package/lib/tests/cellService.test.d.ts.map +1 -0
- package/lib/tests/cellService.test.js +311 -0
- package/lib/tests/ciSetup.d.ts +6 -0
- package/lib/tests/ciSetup.d.ts.map +1 -0
- package/lib/tests/ciSetup.js +23 -0
- package/lib/tests/comprehensive.service.test.d.ts +6 -0
- package/lib/tests/comprehensive.service.test.d.ts.map +1 -0
- package/lib/tests/comprehensive.service.test.js +507 -0
- package/lib/tests/connection.test.d.ts +6 -0
- package/lib/tests/connection.test.d.ts.map +1 -0
- package/lib/tests/connection.test.js +89 -0
- package/lib/tests/cubeService.test.d.ts +6 -0
- package/lib/tests/cubeService.test.d.ts.map +1 -0
- package/lib/tests/cubeService.test.js +368 -0
- package/lib/tests/dimensionService.comprehensive.test.d.ts +7 -0
- package/lib/tests/dimensionService.comprehensive.test.d.ts.map +1 -0
- package/lib/tests/dimensionService.comprehensive.test.js +614 -0
- package/lib/tests/dimensionService.test.d.ts +6 -0
- package/lib/tests/dimensionService.test.d.ts.map +1 -0
- package/lib/tests/dimensionService.test.js +293 -0
- package/lib/tests/edgeCases.test.d.ts +6 -0
- package/lib/tests/edgeCases.test.d.ts.map +1 -0
- package/lib/tests/edgeCases.test.js +301 -0
- package/lib/tests/elementService.comprehensive.test.d.ts +7 -0
- package/lib/tests/elementService.comprehensive.test.d.ts.map +1 -0
- package/lib/tests/elementService.comprehensive.test.js +846 -0
- package/lib/tests/elementService.test.d.ts +6 -0
- package/lib/tests/elementService.test.d.ts.map +1 -0
- package/lib/tests/elementService.test.js +350 -0
- package/lib/tests/enhancedCellService.test.d.ts +2 -0
- package/lib/tests/enhancedCellService.test.d.ts.map +1 -0
- package/lib/tests/enhancedCellService.test.js +152 -0
- package/lib/tests/enhancedCubeService.test.d.ts +2 -0
- package/lib/tests/enhancedCubeService.test.d.ts.map +1 -0
- package/lib/tests/enhancedCubeService.test.js +246 -0
- package/lib/tests/enhancedElementService.test.d.ts +2 -0
- package/lib/tests/enhancedElementService.test.d.ts.map +1 -0
- package/lib/tests/enhancedElementService.test.js +199 -0
- package/lib/tests/enhancedViewService.test.d.ts +2 -0
- package/lib/tests/enhancedViewService.test.d.ts.map +1 -0
- package/lib/tests/enhancedViewService.test.js +260 -0
- package/lib/tests/errorHandling.test.d.ts +6 -0
- package/lib/tests/errorHandling.test.d.ts.map +1 -0
- package/lib/tests/errorHandling.test.js +227 -0
- package/lib/tests/exceptions.test.d.ts +7 -0
- package/lib/tests/exceptions.test.d.ts.map +1 -0
- package/lib/tests/exceptions.test.js +257 -0
- package/lib/tests/hierarchyService.test.d.ts +6 -0
- package/lib/tests/hierarchyService.test.d.ts.map +1 -0
- package/lib/tests/hierarchyService.test.js +294 -0
- package/lib/tests/index.test.d.ts +6 -0
- package/lib/tests/index.test.d.ts.map +1 -0
- package/lib/tests/index.test.js +346 -0
- package/lib/tests/integration.test.d.ts +6 -0
- package/lib/tests/integration.test.d.ts.map +1 -0
- package/lib/tests/integration.test.js +302 -0
- package/lib/tests/integrationTests.test.d.ts +2 -0
- package/lib/tests/integrationTests.test.d.ts.map +1 -0
- package/lib/tests/integrationTests.test.js +252 -0
- package/lib/tests/mdx.advanced.test.d.ts +6 -0
- package/lib/tests/mdx.advanced.test.d.ts.map +1 -0
- package/lib/tests/mdx.advanced.test.js +437 -0
- package/lib/tests/objects.improved.test.d.ts +7 -0
- package/lib/tests/objects.improved.test.d.ts.map +1 -0
- package/lib/tests/objects.improved.test.js +302 -0
- package/lib/tests/performance.test.d.ts +6 -0
- package/lib/tests/performance.test.d.ts.map +1 -0
- package/lib/tests/performance.test.js +264 -0
- package/lib/tests/processService.comprehensive.test.d.ts +7 -0
- package/lib/tests/processService.comprehensive.test.d.ts.map +1 -0
- package/lib/tests/processService.comprehensive.test.js +656 -0
- package/lib/tests/processService.test.d.ts +6 -0
- package/lib/tests/processService.test.d.ts.map +1 -0
- package/lib/tests/processService.test.js +322 -0
- package/lib/tests/restService.test.d.ts +6 -0
- package/lib/tests/restService.test.d.ts.map +1 -0
- package/lib/tests/restService.test.js +177 -0
- package/lib/tests/security.advanced.test.d.ts +6 -0
- package/lib/tests/security.advanced.test.d.ts.map +1 -0
- package/lib/tests/security.advanced.test.js +407 -0
- package/lib/tests/security.test.d.ts +6 -0
- package/lib/tests/security.test.d.ts.map +1 -0
- package/lib/tests/security.test.js +204 -0
- package/lib/tests/securityService.comprehensive.test.d.ts +7 -0
- package/lib/tests/securityService.comprehensive.test.d.ts.map +1 -0
- package/lib/tests/securityService.comprehensive.test.js +457 -0
- package/lib/tests/setup.d.ts +4 -0
- package/lib/tests/setup.d.ts.map +1 -0
- package/lib/tests/setup.js +40 -0
- package/lib/tests/simpleCoverage.test.d.ts +6 -0
- package/lib/tests/simpleCoverage.test.d.ts.map +1 -0
- package/lib/tests/simpleCoverage.test.js +236 -0
- package/lib/tests/stress.performance.test.d.ts +6 -0
- package/lib/tests/stress.performance.test.d.ts.map +1 -0
- package/lib/tests/stress.performance.test.js +423 -0
- package/lib/tests/subsetService.test.d.ts +6 -0
- package/lib/tests/subsetService.test.d.ts.map +1 -0
- package/lib/tests/subsetService.test.js +271 -0
- package/lib/tests/testConfig.d.ts +18 -0
- package/lib/tests/testConfig.d.ts.map +1 -0
- package/lib/tests/testConfig.js +38 -0
- package/lib/tests/testUtils.d.ts +9 -0
- package/lib/tests/testUtils.d.ts.map +1 -0
- package/lib/tests/testUtils.js +100 -0
- package/lib/tests/tm1Service.test.d.ts +7 -0
- package/lib/tests/tm1Service.test.d.ts.map +1 -0
- package/lib/tests/tm1Service.test.js +290 -0
- package/lib/tests/viewService.test.d.ts +6 -0
- package/lib/tests/viewService.test.d.ts.map +1 -0
- package/lib/tests/viewService.test.js +240 -0
- package/lib/utils/Utils.d.ts +90 -0
- package/lib/utils/Utils.d.ts.map +1 -0
- package/lib/utils/Utils.js +379 -0
- package/package.json +81 -0
- package/run-all-tests.js +296 -0
- package/src/exceptions/TM1Exception.ts +38 -0
- package/src/exceptions/TM1RestException.ts +17 -0
- package/src/exceptions/TM1TimeoutException.ts +15 -0
- package/src/index.ts +94 -0
- package/src/objects/Annotation.ts +194 -0
- package/src/objects/Application.ts +146 -0
- package/src/objects/Axis.ts +149 -0
- package/src/objects/Chore.ts +174 -0
- package/src/objects/ChoreFrequency.ts +83 -0
- package/src/objects/ChoreStartTime.ts +111 -0
- package/src/objects/ChoreTask.ts +92 -0
- package/src/objects/Cube.ts +125 -0
- package/src/objects/Dimension.ts +107 -0
- package/src/objects/Element.ts +153 -0
- package/src/objects/ElementAttribute.ts +115 -0
- package/src/objects/Git.ts +86 -0
- package/src/objects/GitCommit.ts +31 -0
- package/src/objects/GitPlan.ts +121 -0
- package/src/objects/GitRemote.ts +31 -0
- package/src/objects/Hierarchy.ts +229 -0
- package/src/objects/MDXView.ts +91 -0
- package/src/objects/NativeView.ts +268 -0
- package/src/objects/Process.ts +320 -0
- package/src/objects/ProcessDebugBreakpoint.ts +239 -0
- package/src/objects/ProcessParameter.ts +76 -0
- package/src/objects/ProcessVariable.ts +89 -0
- package/src/objects/Rules.ts +117 -0
- package/src/objects/Sandbox.ts +90 -0
- package/src/objects/Server.ts +45 -0
- package/src/objects/Subset.ts +323 -0
- package/src/objects/TM1Object.ts +17 -0
- package/src/objects/TM1Project.ts +587 -0
- package/src/objects/User.ts +198 -0
- package/src/objects/View.ts +43 -0
- package/src/objects/index.ts +36 -0
- package/src/services/AnnotationService.ts +107 -0
- package/src/services/ApplicationService.ts +279 -0
- package/src/services/AuditLogService.ts +172 -0
- package/src/services/CellService.ts +814 -0
- package/src/services/ChoreService.ts +219 -0
- package/src/services/ConfigurationService.ts +69 -0
- package/src/services/CubeService.ts +338 -0
- package/src/services/DimensionService.ts +168 -0
- package/src/services/ElementService.ts +966 -0
- package/src/services/FileService.ts +67 -0
- package/src/services/GitService.ts +324 -0
- package/src/services/HierarchyService.ts +284 -0
- package/src/services/JobService.ts +59 -0
- package/src/services/LoggerService.ts +118 -0
- package/src/services/ManageService.ts +322 -0
- package/src/services/MessageLogService.ts +211 -0
- package/src/services/MonitoringService.ts +105 -0
- package/src/services/ObjectService.ts +21 -0
- package/src/services/PowerBiService.ts +85 -0
- package/src/services/ProcessService.ts +589 -0
- package/src/services/RestService.ts +224 -0
- package/src/services/SandboxService.ts +217 -0
- package/src/services/SecurityService.ts +284 -0
- package/src/services/ServerService.ts +313 -0
- package/src/services/SessionService.ts +81 -0
- package/src/services/SubsetService.ts +52 -0
- package/src/services/TM1Service.ts +133 -0
- package/src/services/ThreadService.ts +83 -0
- package/src/services/TransactionLogService.ts +148 -0
- package/src/services/UserService.ts +77 -0
- package/src/services/ViewService.ts +398 -0
- package/src/services/index.ts +28 -0
- package/src/tests/100PercentParityCheck.test.ts +166 -0
- package/src/tests/basic.test.ts +59 -0
- package/src/tests/cellService.test.ts +405 -0
- package/src/tests/ciSetup.ts +26 -0
- package/src/tests/comprehensive.service.test.ts +653 -0
- package/src/tests/config.ini.template +23 -0
- package/src/tests/connection.test.ts +90 -0
- package/src/tests/cubeService.test.ts +458 -0
- package/src/tests/dimensionService.comprehensive.test.ts +786 -0
- package/src/tests/dimensionService.test.ts +373 -0
- package/src/tests/edgeCases.test.ts +358 -0
- package/src/tests/elementService.comprehensive.test.ts +1190 -0
- package/src/tests/elementService.test.ts +472 -0
- package/src/tests/enhancedCellService.test.ts +237 -0
- package/src/tests/enhancedCubeService.test.ts +384 -0
- package/src/tests/enhancedElementService.test.ts +301 -0
- package/src/tests/enhancedViewService.test.ts +373 -0
- package/src/tests/errorHandling.test.ts +264 -0
- package/src/tests/exceptions.test.ts +313 -0
- package/src/tests/hierarchyService.test.ts +386 -0
- package/src/tests/index.test.ts +376 -0
- package/src/tests/integration.test.ts +333 -0
- package/src/tests/integrationTests.test.ts +302 -0
- package/src/tests/mdx.advanced.test.ts +513 -0
- package/src/tests/objects.improved.test.ts +385 -0
- package/src/tests/performance.test.ts +314 -0
- package/src/tests/processService.comprehensive.test.ts +933 -0
- package/src/tests/processService.test.ts +409 -0
- package/src/tests/restService.test.ts +218 -0
- package/src/tests/security.advanced.test.ts +464 -0
- package/src/tests/security.test.ts +233 -0
- package/src/tests/securityService.comprehensive.test.ts +582 -0
- package/src/tests/setup.ts +42 -0
- package/src/tests/simpleCoverage.test.ts +287 -0
- package/src/tests/stress.performance.test.ts +531 -0
- package/src/tests/subsetService.test.ts +350 -0
- package/src/tests/testConfig.ts +53 -0
- package/src/tests/testUtils.ts +94 -0
- package/src/tests/tm1Service.test.ts +361 -0
- package/src/tests/viewService.test.ts +324 -0
- package/src/utils/Utils.ts +395 -0
- package/tests/README.md +57 -0
- package/tests/connection/test-connection.ts +86 -0
- package/tests/edge-cases/edge-cases-test.ts +244 -0
- package/tests/integration/working-test.ts +193 -0
- package/tests/performance/performance-test.ts +133 -0
- package/tests/run-all-tests.sh +106 -0
- package/tests/security/security-test.ts +103 -0
- package/tsconfig.json +20 -0
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { TM1Object } from './TM1Object';
|
|
2
|
+
|
|
3
|
+
export enum HitMode {
|
|
4
|
+
BREAK_ALWAYS = 'BreakAlways',
|
|
5
|
+
BREAK_EQUAL = 'BreakEqual',
|
|
6
|
+
BREAK_GREATER_OR_EQUAL = 'BreakGreaterOrEqual'
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export enum BreakPointType {
|
|
10
|
+
// A breakpoint that pauses execution when the named variable is written to
|
|
11
|
+
PROCESS_DEBUG_CONTEXT_DATA_BREAK_POINT = "ProcessDebugContextDataBreakpoint",
|
|
12
|
+
// A breakpoint that pauses execution at a specific script line
|
|
13
|
+
PROCESS_DEBUG_CONTEXT_LINE_BREAK_POINT = "ProcessDebugContextLineBreakpoint",
|
|
14
|
+
// A breakpoint that pauses execution when an object lock is acquired.
|
|
15
|
+
PROCESS_DEBUG_CONTEXT_LOCK_BREAK_POINT = "ProcessDebugContextLockBreakpoint"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export class ProcessDebugBreakpoint extends TM1Object {
|
|
19
|
+
/** Abstraction of a TM1 Process Debug Breakpoint.
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
private _type: BreakPointType;
|
|
24
|
+
private _id: number;
|
|
25
|
+
private _enabled: boolean;
|
|
26
|
+
private _hitMode: HitMode;
|
|
27
|
+
private _hitCount: number;
|
|
28
|
+
private _expression: string;
|
|
29
|
+
private _variableName: string;
|
|
30
|
+
private _processName: string;
|
|
31
|
+
private _procedure: string;
|
|
32
|
+
private _lineNumber: number;
|
|
33
|
+
private _objectName: string;
|
|
34
|
+
private _objectType: string;
|
|
35
|
+
private _lockMode: string;
|
|
36
|
+
|
|
37
|
+
constructor(
|
|
38
|
+
breakpointId: number,
|
|
39
|
+
breakpointType: BreakPointType | string = BreakPointType.PROCESS_DEBUG_CONTEXT_LINE_BREAK_POINT,
|
|
40
|
+
enabled: boolean = true,
|
|
41
|
+
hitMode: HitMode | string = HitMode.BREAK_ALWAYS,
|
|
42
|
+
hitCount: number = 0,
|
|
43
|
+
expression: string = '',
|
|
44
|
+
variableName: string = '',
|
|
45
|
+
processName: string = '',
|
|
46
|
+
procedure: string = '',
|
|
47
|
+
lineNumber: number = 0,
|
|
48
|
+
objectName: string = '',
|
|
49
|
+
objectType: string = '',
|
|
50
|
+
lockMode: string = ''
|
|
51
|
+
) {
|
|
52
|
+
super();
|
|
53
|
+
this._type = this.parseBreakPointType(breakpointType);
|
|
54
|
+
this._id = breakpointId;
|
|
55
|
+
this._enabled = enabled;
|
|
56
|
+
this._hitMode = this.parseHitMode(hitMode);
|
|
57
|
+
this._hitCount = hitCount;
|
|
58
|
+
this._expression = expression;
|
|
59
|
+
this._variableName = variableName;
|
|
60
|
+
this._processName = processName;
|
|
61
|
+
this._procedure = procedure;
|
|
62
|
+
this._lineNumber = lineNumber;
|
|
63
|
+
this._objectName = objectName;
|
|
64
|
+
this._objectType = objectType;
|
|
65
|
+
this._lockMode = lockMode;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
private parseBreakPointType(breakpointType: BreakPointType | string): BreakPointType {
|
|
69
|
+
if (typeof breakpointType === 'string') {
|
|
70
|
+
for (const member of Object.values(BreakPointType)) {
|
|
71
|
+
if (member.toLowerCase() === breakpointType.replace(/\s+/g, '').toLowerCase()) {
|
|
72
|
+
return member;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
throw new Error(`Invalid BreakPointType: '${breakpointType}'`);
|
|
76
|
+
}
|
|
77
|
+
return breakpointType;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
private parseHitMode(hitMode: HitMode | string): HitMode {
|
|
81
|
+
if (typeof hitMode === 'string') {
|
|
82
|
+
for (const member of Object.values(HitMode)) {
|
|
83
|
+
if (member.toLowerCase() === hitMode.replace(/\s+/g, '').toLowerCase()) {
|
|
84
|
+
return member;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
throw new Error(`Invalid HitMode: '${hitMode}'`);
|
|
88
|
+
}
|
|
89
|
+
return hitMode;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
public static fromDict(breakpointAsDict: any): ProcessDebugBreakpoint {
|
|
93
|
+
/**
|
|
94
|
+
*
|
|
95
|
+
* :param breakpoint_as_dict
|
|
96
|
+
* :return: an instance of this class
|
|
97
|
+
*/
|
|
98
|
+
const breakpointType = breakpointAsDict['@odata.type'].substring(16);
|
|
99
|
+
return new ProcessDebugBreakpoint(
|
|
100
|
+
breakpointAsDict['ID'],
|
|
101
|
+
breakpointType,
|
|
102
|
+
breakpointAsDict['Enabled'],
|
|
103
|
+
breakpointAsDict['HitMode'],
|
|
104
|
+
breakpointAsDict['HitCount'],
|
|
105
|
+
breakpointAsDict['Expression'],
|
|
106
|
+
breakpointType === "ProcessDebugContextDataBreakpoint" ? breakpointAsDict['VariableName'] : "",
|
|
107
|
+
breakpointType === "ProcessDebugContextLineBreakpoint" ? breakpointAsDict['ProcessName'] : "",
|
|
108
|
+
breakpointType === "ProcessDebugContextLineBreakpoint" ? breakpointAsDict['Procedure'] : "",
|
|
109
|
+
breakpointType === "ProcessDebugContextLineBreakpoint" ? breakpointAsDict['LineNumber'] : 0,
|
|
110
|
+
breakpointType === "ProcessDebugContextLockBreakpoint" ? breakpointAsDict['ObjectName'] : "",
|
|
111
|
+
breakpointType === "ProcessDebugContextLockBreakpoint" ? breakpointAsDict['ObjectType'] : "",
|
|
112
|
+
breakpointType === "ProcessDebugContextLockBreakpoint" ? breakpointAsDict['LockMode'] : ""
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
public get breakpointType(): string {
|
|
117
|
+
return this._type.toString();
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
public get breakpointId(): number {
|
|
121
|
+
return this._id;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
public get enabled(): boolean {
|
|
125
|
+
return this._enabled;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
public set enabled(value: boolean) {
|
|
129
|
+
this._enabled = value;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
public get hitMode(): string {
|
|
133
|
+
return this._hitMode.toString();
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
public set hitMode(value: HitMode | string) {
|
|
137
|
+
this._hitMode = this.parseHitMode(value);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
public get hitCount(): number {
|
|
141
|
+
return this._hitCount;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
public get expression(): string {
|
|
145
|
+
return this._expression;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
public set expression(value: string) {
|
|
149
|
+
this._expression = value;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
public get variableName(): string {
|
|
153
|
+
return this._variableName;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
public set variableName(value: string) {
|
|
157
|
+
this._variableName = value;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
public get processName(): string {
|
|
161
|
+
return this._processName;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
public set processName(value: string) {
|
|
165
|
+
this._processName = value;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
public get procedure(): string {
|
|
169
|
+
return this._procedure;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
public set procedure(value: string) {
|
|
173
|
+
this._procedure = value;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
public get lineNumber(): number {
|
|
177
|
+
return this._lineNumber;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
public set lineNumber(value: number) {
|
|
181
|
+
this._lineNumber = value;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
public get objectName(): string {
|
|
185
|
+
return this._objectName;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
public set objectName(value: string) {
|
|
189
|
+
this._objectName = value;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
public get objectType(): string {
|
|
193
|
+
return this._objectType;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
public set objectType(value: string) {
|
|
197
|
+
this._objectType = value;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
public get lockMode(): string {
|
|
201
|
+
return this._lockMode;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
public set lockMode(value: string) {
|
|
205
|
+
this._lockMode = value;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
public get body(): string {
|
|
209
|
+
return JSON.stringify(this.constructBody());
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
public get bodyAsDict(): any {
|
|
213
|
+
return this.constructBody();
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
private constructBody(): any {
|
|
217
|
+
const bodyAsDict: any = {
|
|
218
|
+
'@odata.type': "#ibm.tm1.api.v1." + this._type,
|
|
219
|
+
'ID': this._id,
|
|
220
|
+
'Enabled': this._enabled,
|
|
221
|
+
'HitMode': this._hitMode.toString(),
|
|
222
|
+
'Expression': this._expression
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
if (this._type === BreakPointType.PROCESS_DEBUG_CONTEXT_DATA_BREAK_POINT) {
|
|
226
|
+
bodyAsDict['VariableName'] = this._variableName;
|
|
227
|
+
} else if (this._type === BreakPointType.PROCESS_DEBUG_CONTEXT_LINE_BREAK_POINT) {
|
|
228
|
+
bodyAsDict['ProcessName'] = this._processName;
|
|
229
|
+
bodyAsDict['Procedure'] = this._procedure;
|
|
230
|
+
bodyAsDict['LineNumber'] = this._lineNumber;
|
|
231
|
+
} else if (this._type === BreakPointType.PROCESS_DEBUG_CONTEXT_LOCK_BREAK_POINT) {
|
|
232
|
+
bodyAsDict['ObjectName'] = this._objectName;
|
|
233
|
+
bodyAsDict['ObjectType'] = this._objectType;
|
|
234
|
+
bodyAsDict['LockMode'] = this._lockMode;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
return bodyAsDict;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { TM1Object } from './TM1Object';
|
|
2
|
+
|
|
3
|
+
export enum ProcessParameterType {
|
|
4
|
+
String = 'String',
|
|
5
|
+
Numeric = 'Numeric'
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export class ProcessParameter extends TM1Object {
|
|
9
|
+
private _name: string;
|
|
10
|
+
private _prompt: string;
|
|
11
|
+
private _value: string | number;
|
|
12
|
+
private _type: ProcessParameterType;
|
|
13
|
+
|
|
14
|
+
constructor(
|
|
15
|
+
name: string,
|
|
16
|
+
prompt: string = '',
|
|
17
|
+
value: string | number = '',
|
|
18
|
+
type: ProcessParameterType = ProcessParameterType.String
|
|
19
|
+
) {
|
|
20
|
+
super();
|
|
21
|
+
this._name = name;
|
|
22
|
+
this._prompt = prompt;
|
|
23
|
+
this._value = value;
|
|
24
|
+
this._type = type;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public get name(): string {
|
|
28
|
+
return this._name;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public set name(name: string) {
|
|
32
|
+
this._name = name;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public get prompt(): string {
|
|
36
|
+
return this._prompt;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
public set prompt(prompt: string) {
|
|
40
|
+
this._prompt = prompt;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
public get value(): string | number {
|
|
44
|
+
return this._value;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public set value(value: string | number) {
|
|
48
|
+
this._value = value;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public get type(): ProcessParameterType {
|
|
52
|
+
return this._type;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
public set type(type: ProcessParameterType) {
|
|
56
|
+
this._type = type;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
public get body(): string {
|
|
60
|
+
return JSON.stringify({
|
|
61
|
+
Name: this._name,
|
|
62
|
+
Prompt: this._prompt,
|
|
63
|
+
Value: this._value,
|
|
64
|
+
Type: this._type
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
public static fromDict(parameterAsDict: any): ProcessParameter {
|
|
69
|
+
return new ProcessParameter(
|
|
70
|
+
parameterAsDict.Name,
|
|
71
|
+
parameterAsDict.Prompt || '',
|
|
72
|
+
parameterAsDict.Value || '',
|
|
73
|
+
parameterAsDict.Type || ProcessParameterType.String
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { TM1Object } from './TM1Object';
|
|
2
|
+
|
|
3
|
+
export enum ProcessVariableType {
|
|
4
|
+
String = 'String',
|
|
5
|
+
Numeric = 'Numeric'
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export class ProcessVariable extends TM1Object {
|
|
9
|
+
private _name: string;
|
|
10
|
+
private _type: ProcessVariableType;
|
|
11
|
+
private _position: number;
|
|
12
|
+
private _startByte: number;
|
|
13
|
+
private _endByte: number;
|
|
14
|
+
|
|
15
|
+
constructor(
|
|
16
|
+
name: string,
|
|
17
|
+
type: ProcessVariableType = ProcessVariableType.String,
|
|
18
|
+
position: number = 1,
|
|
19
|
+
startByte: number = 1,
|
|
20
|
+
endByte: number = 8
|
|
21
|
+
) {
|
|
22
|
+
super();
|
|
23
|
+
this._name = name;
|
|
24
|
+
this._type = type;
|
|
25
|
+
this._position = position;
|
|
26
|
+
this._startByte = startByte;
|
|
27
|
+
this._endByte = endByte;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public get name(): string {
|
|
31
|
+
return this._name;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
public set name(name: string) {
|
|
35
|
+
this._name = name;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
public get type(): ProcessVariableType {
|
|
39
|
+
return this._type;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public set type(type: ProcessVariableType) {
|
|
43
|
+
this._type = type;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public get position(): number {
|
|
47
|
+
return this._position;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
public set position(position: number) {
|
|
51
|
+
this._position = position;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public get startByte(): number {
|
|
55
|
+
return this._startByte;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
public set startByte(startByte: number) {
|
|
59
|
+
this._startByte = startByte;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
public get endByte(): number {
|
|
63
|
+
return this._endByte;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
public set endByte(endByte: number) {
|
|
67
|
+
this._endByte = endByte;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
public get body(): string {
|
|
71
|
+
return JSON.stringify({
|
|
72
|
+
Name: this._name,
|
|
73
|
+
Type: this._type,
|
|
74
|
+
Position: this._position,
|
|
75
|
+
StartByte: this._startByte,
|
|
76
|
+
EndByte: this._endByte
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
public static fromDict(variableAsDict: any): ProcessVariable {
|
|
81
|
+
return new ProcessVariable(
|
|
82
|
+
variableAsDict.Name,
|
|
83
|
+
variableAsDict.Type || ProcessVariableType.String,
|
|
84
|
+
variableAsDict.Position || 1,
|
|
85
|
+
variableAsDict.StartByte || 1,
|
|
86
|
+
variableAsDict.EndByte || 8
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { TM1Object } from './TM1Object';
|
|
2
|
+
|
|
3
|
+
export class Rules extends TM1Object {
|
|
4
|
+
/**
|
|
5
|
+
* Abstraction of Rules on a cube.
|
|
6
|
+
*
|
|
7
|
+
* rules_analytics
|
|
8
|
+
* A collection of rulestatements, where each statement is stored in uppercase without linebreaks.
|
|
9
|
+
* comments are not included.
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
public static readonly KEYWORDS = ['SKIPCHECK', 'FEEDSTRINGS', 'UNDEFVALS', 'FEEDERS'];
|
|
13
|
+
|
|
14
|
+
private _text: string;
|
|
15
|
+
private _rulesAnalytics: string[] = [];
|
|
16
|
+
|
|
17
|
+
constructor(rules: string) {
|
|
18
|
+
super();
|
|
19
|
+
this._text = rules;
|
|
20
|
+
this._rulesAnalytics = [];
|
|
21
|
+
this.initAnalytics();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// this._rulesAnalytics serves for analysis on cube rules
|
|
25
|
+
private initAnalytics(): void {
|
|
26
|
+
const textWithoutComments = this._text
|
|
27
|
+
.split('\n')
|
|
28
|
+
.filter(rule => rule.trim().length > 0 && rule.trim()[0] !== '#')
|
|
29
|
+
.join('\n');
|
|
30
|
+
|
|
31
|
+
for (const statement of textWithoutComments.split(';')) {
|
|
32
|
+
if (statement.trim().length > 0) {
|
|
33
|
+
this._rulesAnalytics.push(statement.replace(/\n/g, '').toUpperCase());
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
public get text(): string {
|
|
39
|
+
return this._text;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public get rulesAnalytics(): string[] {
|
|
43
|
+
return this._rulesAnalytics;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public get ruleStatements(): string[] {
|
|
47
|
+
if (this.hasFeeders) {
|
|
48
|
+
return this.rulesAnalytics.slice(0, this._rulesAnalytics.indexOf('FEEDERS'));
|
|
49
|
+
}
|
|
50
|
+
return this.rulesAnalytics;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
public get feederStatements(): string[] {
|
|
54
|
+
if (this.hasFeeders) {
|
|
55
|
+
return this.rulesAnalytics.slice(this._rulesAnalytics.indexOf('FEEDERS') + 1);
|
|
56
|
+
}
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
public get skipcheck(): boolean {
|
|
61
|
+
for (const rule of this._rulesAnalytics.slice(0, 5)) {
|
|
62
|
+
if (rule === 'SKIPCHECK') {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public get undefvals(): boolean {
|
|
70
|
+
for (const rule of this._rulesAnalytics.slice(0, 5)) {
|
|
71
|
+
if (rule === 'UNDEFVALS') {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
public get feedstrings(): boolean {
|
|
79
|
+
for (const rule of this._rulesAnalytics.slice(0, 5)) {
|
|
80
|
+
if (rule === 'FEEDSTRINGS') {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
public get hasFeeders(): boolean {
|
|
88
|
+
if (this._rulesAnalytics.includes('FEEDERS')) {
|
|
89
|
+
// has feeders declaration
|
|
90
|
+
const feeders = this.rulesAnalytics.slice(this._rulesAnalytics.indexOf('FEEDERS'));
|
|
91
|
+
// has at least one actual feeder statement
|
|
92
|
+
return feeders.length > 1;
|
|
93
|
+
}
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
public get body(): string {
|
|
98
|
+
return JSON.stringify(this.bodyAsDict);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
public get bodyAsDict(): any {
|
|
102
|
+
return { Rules: this.text };
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
public get length(): number {
|
|
106
|
+
return this.rulesAnalytics.length;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// iterate through actual rule statements without linebreaks. Ignore comments.
|
|
110
|
+
public *[Symbol.iterator](): Iterator<string> {
|
|
111
|
+
yield* this.rulesAnalytics;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
public toString(): string {
|
|
115
|
+
return this.text;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { TM1Object } from './TM1Object';
|
|
2
|
+
|
|
3
|
+
export class Sandbox extends TM1Object {
|
|
4
|
+
/** Abstraction of a TM1 Sandbox
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
private _name!: string;
|
|
9
|
+
private _includeInSandboxDimension!: boolean;
|
|
10
|
+
public loaded: boolean;
|
|
11
|
+
public active: boolean;
|
|
12
|
+
public queued: boolean;
|
|
13
|
+
|
|
14
|
+
constructor(
|
|
15
|
+
name: string,
|
|
16
|
+
includeInSandboxDimension: boolean = true,
|
|
17
|
+
loaded: boolean = false,
|
|
18
|
+
active: boolean = false,
|
|
19
|
+
queued: boolean = false
|
|
20
|
+
) {
|
|
21
|
+
/**
|
|
22
|
+
*
|
|
23
|
+
* :param name: name of the Sandbox
|
|
24
|
+
* :param include_in_sandbox_dimension:
|
|
25
|
+
* :params loaded, active, queued: leave default as false when creating sandbox
|
|
26
|
+
*/
|
|
27
|
+
super();
|
|
28
|
+
this.name = name;
|
|
29
|
+
this.includeInSandboxDimension = includeInSandboxDimension;
|
|
30
|
+
this.loaded = loaded;
|
|
31
|
+
this.active = active;
|
|
32
|
+
this.queued = queued;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public get name(): string {
|
|
36
|
+
return this._name;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
public set name(value: string) {
|
|
40
|
+
this._name = value;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
public get includeInSandboxDimension(): boolean {
|
|
44
|
+
return this._includeInSandboxDimension;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public set includeInSandboxDimension(value: boolean) {
|
|
48
|
+
this._includeInSandboxDimension = value;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public static fromJSON(sandboxAsJson: string): Sandbox {
|
|
52
|
+
/** Alternative constructor
|
|
53
|
+
*
|
|
54
|
+
* :param sandbox_as_json: user as JSON string
|
|
55
|
+
* :return: sandbox, an instance of this class
|
|
56
|
+
*/
|
|
57
|
+
const sandboxAsDict = JSON.parse(sandboxAsJson);
|
|
58
|
+
return Sandbox.fromDict(sandboxAsDict);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
public static fromDict(sandboxAsDict: any): Sandbox {
|
|
62
|
+
/** Alternative constructor
|
|
63
|
+
*
|
|
64
|
+
* :param sandbox_as_dict: user as dict
|
|
65
|
+
* :return: an instance of this class
|
|
66
|
+
*/
|
|
67
|
+
return new Sandbox(
|
|
68
|
+
sandboxAsDict.Name,
|
|
69
|
+
sandboxAsDict.IncludeInSandboxDimension,
|
|
70
|
+
sandboxAsDict.IsLoaded,
|
|
71
|
+
sandboxAsDict.IsActive,
|
|
72
|
+
sandboxAsDict.IsQueued
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
public get body(): string {
|
|
77
|
+
return this.constructBody();
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
private constructBody(): string {
|
|
81
|
+
/**
|
|
82
|
+
* construct body (json) from the class attributes
|
|
83
|
+
* :return: String, TM1 JSON representation of a sandbox
|
|
84
|
+
*/
|
|
85
|
+
const bodyAsDict: any = {};
|
|
86
|
+
bodyAsDict.Name = this.name;
|
|
87
|
+
bodyAsDict.IncludeInSandboxDimension = this._includeInSandboxDimension;
|
|
88
|
+
return JSON.stringify(bodyAsDict);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export class Server {
|
|
2
|
+
/** Abstraction of the TM1 Server
|
|
3
|
+
*
|
|
4
|
+
* :Notes:
|
|
5
|
+
* contains the information you get from http://localhost:5895/Servers
|
|
6
|
+
* no methods so far
|
|
7
|
+
*/
|
|
8
|
+
public name: string;
|
|
9
|
+
public ipAddress: string;
|
|
10
|
+
public ipV6Address: string;
|
|
11
|
+
public portNumber: number;
|
|
12
|
+
public clientMessagePortNumber: number;
|
|
13
|
+
public httpPortNumber: number;
|
|
14
|
+
public usingSSL: boolean;
|
|
15
|
+
public acceptingClients: boolean;
|
|
16
|
+
public selfRegistered: boolean;
|
|
17
|
+
public host: string;
|
|
18
|
+
public isLocal: boolean;
|
|
19
|
+
public sslCertificateId: string;
|
|
20
|
+
public sslCertificateAuthority: string;
|
|
21
|
+
public sslCertificateRevocationList: string;
|
|
22
|
+
public clientExportSslServerKeyId: string;
|
|
23
|
+
public clientExportSslServerCert: string;
|
|
24
|
+
public lastUpdated: string;
|
|
25
|
+
|
|
26
|
+
constructor(serverAsDict: Record<string, any>) {
|
|
27
|
+
this.name = serverAsDict['Name'];
|
|
28
|
+
this.ipAddress = serverAsDict['IPAddress'];
|
|
29
|
+
this.ipV6Address = serverAsDict['IPv6Address'];
|
|
30
|
+
this.portNumber = serverAsDict['PortNumber'];
|
|
31
|
+
this.clientMessagePortNumber = serverAsDict['ClientMessagePortNumber'];
|
|
32
|
+
this.httpPortNumber = serverAsDict['HTTPPortNumber'];
|
|
33
|
+
this.usingSSL = serverAsDict['UsingSSL'];
|
|
34
|
+
this.acceptingClients = serverAsDict['AcceptingClients'];
|
|
35
|
+
this.selfRegistered = serverAsDict['SelfRegistered'];
|
|
36
|
+
this.host = serverAsDict['Host'];
|
|
37
|
+
this.isLocal = serverAsDict['IsLocal'];
|
|
38
|
+
this.sslCertificateId = serverAsDict['SSLCertificateID'];
|
|
39
|
+
this.sslCertificateAuthority = serverAsDict['SSLCertificateAuthority'];
|
|
40
|
+
this.sslCertificateRevocationList = serverAsDict['SSLCertificateRevocationList'];
|
|
41
|
+
this.clientExportSslServerKeyId = serverAsDict['ClientExportSSLSvrKeyID'];
|
|
42
|
+
this.clientExportSslServerCert = serverAsDict['ClientExportSSLSvrCert'];
|
|
43
|
+
this.lastUpdated = serverAsDict['LastUpdated'];
|
|
44
|
+
}
|
|
45
|
+
}
|