complexqa_frontend_core 1.31.4 → 1.31.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "complexqa_frontend_core",
3
- "version": "1.31.4",
3
+ "version": "1.31.5",
4
4
  "description": "core of web ",
5
5
  "type": "module",
6
6
  "exports": {
@@ -1,88 +1,108 @@
1
- import { ApiAbstractElementClass } from "./api_abstract_element_class";
2
- import { typeAutotestStep } from "../types/family_elements/typeAutotestStep";
3
-
4
-
5
- /**
6
- * @version v.1.0 (04/09/2026)
7
- */
8
- export class AutotestStepApi extends ApiAbstractElementClass
9
- {
10
- module_prefix = 'autotest_step';
11
-
12
- constructor(options)
13
- {
14
- super(options);
15
- this.set_element_class_instance(typeAutotestStep);
16
- }
17
-
18
-
19
- /**
20
- * @version v.1.0 (05/09/2026)
21
- */
22
- async increase_sort_order(payload)
23
- {
24
- let url = `/${ this.api_prefix }/${ this.module_prefix }/increase_sort_order`;
25
-
26
- payload = this.handle_request_payload(payload);
27
- let response = this.api_request(url, payload);
28
- response = this.handle_response(response);
29
-
30
- return {
31
- response: response,
32
- payload : payload
33
- };
34
- }
35
-
36
- /**
37
- * @version v.1.0 (05/09/2026)
38
- */
39
- async decrease_sort_order(payload)
40
- {
41
- let url = `/${ this.api_prefix }/${ this.module_prefix }/decrease_sort_order`;
42
-
43
- payload = this.handle_request_payload(payload);
44
- let response = this.api_request(url, payload);
45
- response = this.handle_response(response);
46
-
47
- return {
48
- response: response,
49
- payload : payload
50
- };
51
- }
52
-
53
-
54
- /**
55
- * @version v.1.0 (05/09/2026)
56
- */
57
- async save(payload)
58
- {
59
- let url = `/${ this.api_prefix }/${ this.module_prefix }/save`;
60
-
61
- payload = this.handle_request_payload(payload);
62
- let response = this.api_request(url, payload);
63
- response = this.handle_response(response);
64
-
65
- return {
66
- response: response,
67
- payload : payload
68
- };
69
- }
70
-
71
-
72
- /**
73
- * @version v.1.0 (05/09/2026)
74
- */
75
- async save_json(payload)
76
- {
77
- let url = `/${ this.api_prefix }/${ this.module_prefix }/save_json`;
78
-
79
- payload = this.handle_request_payload(payload);
80
- let response = this.api_request(url, payload);
81
- response = this.handle_response(response);
82
-
83
- return {
84
- response: response,
85
- payload : payload
86
- };
87
- }
88
- }
1
+ import { ApiAbstractElementClass } from "./api_abstract_element_class";
2
+ import { typeAutotestStep } from "../types/family_elements/typeAutotestStep";
3
+
4
+
5
+ /**
6
+ * @version v.1.0 (04/09/2026)
7
+ */
8
+ export class AutotestStepApi extends ApiAbstractElementClass
9
+ {
10
+ module_prefix = 'autotest_step';
11
+
12
+ constructor(options)
13
+ {
14
+ super(options);
15
+ this.set_element_class_instance(typeAutotestStep);
16
+ }
17
+
18
+
19
+ /**
20
+ * @version v.1.0 (05/09/2026)
21
+ */
22
+ async increase_sort_order(payload)
23
+ {
24
+ let url = `/${ this.api_prefix }/${ this.module_prefix }/increase_sort_order`;
25
+
26
+ payload = this.handle_request_payload(payload);
27
+ let response = this.api_request(url, payload);
28
+ response = this.handle_response(response);
29
+
30
+ return {
31
+ response: response,
32
+ payload : payload
33
+ };
34
+ }
35
+
36
+ /**
37
+ * @version v.1.0 (05/09/2026)
38
+ */
39
+ async decrease_sort_order(payload)
40
+ {
41
+ let url = `/${ this.api_prefix }/${ this.module_prefix }/decrease_sort_order`;
42
+
43
+ payload = this.handle_request_payload(payload);
44
+ let response = this.api_request(url, payload);
45
+ response = this.handle_response(response);
46
+
47
+ return {
48
+ response: response,
49
+ payload : payload
50
+ };
51
+ }
52
+
53
+
54
+ /**
55
+ * Save the whole order of steps of one autotest case in a single call.
56
+ *
57
+ * @version v.1.0 (14/09/2026)
58
+ */
59
+ async reorder(payload)
60
+ {
61
+ let url = `/${ this.api_prefix }/${ this.module_prefix }/reorder`;
62
+
63
+ payload = this.handle_request_payload(payload);
64
+ let response = this.api_request(url, payload);
65
+ response = this.handle_response(response);
66
+
67
+ return {
68
+ response: response,
69
+ payload : payload
70
+ };
71
+ }
72
+
73
+
74
+ /**
75
+ * @version v.1.0 (05/09/2026)
76
+ */
77
+ async save(payload)
78
+ {
79
+ let url = `/${ this.api_prefix }/${ this.module_prefix }/save`;
80
+
81
+ payload = this.handle_request_payload(payload);
82
+ let response = this.api_request(url, payload);
83
+ response = this.handle_response(response);
84
+
85
+ return {
86
+ response: response,
87
+ payload : payload
88
+ };
89
+ }
90
+
91
+
92
+ /**
93
+ * @version v.1.0 (05/09/2026)
94
+ */
95
+ async save_json(payload)
96
+ {
97
+ let url = `/${ this.api_prefix }/${ this.module_prefix }/save_json`;
98
+
99
+ payload = this.handle_request_payload(payload);
100
+ let response = this.api_request(url, payload);
101
+ response = this.handle_response(response);
102
+
103
+ return {
104
+ response: response,
105
+ payload : payload
106
+ };
107
+ }
108
+ }
package/publish/index.js CHANGED
@@ -1,151 +1,156 @@
1
- export { Api } from "./api/index.js";
2
- export { UserService } from './services/UserService.js';
3
- export { TeamService } from './services/TeamService.js';
4
- export { FileAppService } from './services/FileAppService.js';
5
-
6
- export { typeFOR } from './types/family_service/typeFOR.js';
7
- export { typeFilter } from './types/family_service/typeFilter.js';
8
- export { TableBaseConfig } from './app_configuration/table/table_base_config.js';
9
- export { TableConfiguration } from './app_configuration/table/table_configuration.js';
10
-
11
- export { typeProject } from './types/family_elements/typeProject.js';
12
- export { typeTestSuite } from './types/family_elements/typeTestSuite.js'
13
- export { typeTestCase } from './types/family_elements/typeTestCase.js';
14
- export { typeTestCaseStep } from './types/family_elements/typeTestCaseStep.js';
15
- export { typeTestRun } from './types/family_elements/typeTestRun.js'
16
- export { typeTestRunResult } from './types/family_elements/typeTestRunResult.js'
17
- export { typeAutotestCase } from './types/family_elements/typeAutotestCase.js';
18
- export { typeAutotestSuite } from './types/family_elements/typeAutotestSuite.js';
19
- export { typeAutotestStep } from './types/family_elements/typeAutotestStep.js';
20
- export { typeAutotestStepTarget } from './types/family_elements/typeAutotestStepTarget.js';
21
- export { typeAutotestStepAction } from './types/family_elements/autotest_step_actions/typeAutotestStepAction.js';
22
- export { typeAutotestStepLocatorAction } from './types/family_elements/autotest_step_actions/typeAutotestStepLocatorAction.js';
23
- export { typeAutotestStepLocatorValueAction } from './types/family_elements/autotest_step_actions/typeAutotestStepLocatorValueAction.js';
24
- export {
25
- list_autotest_step_actions,
26
- get_autotest_step_action_entry,
27
- get_autotest_step_action_class,
28
- is_autotest_step_action_known,
29
- } from './types/family_elements/autotest_step_actions/autotestStepActionCatalog.js';
30
- export {
31
- AUTOTEST_STEP_LOCATOR_KINDS,
32
- AUTOTEST_STEP_PLAYWRIGHT_ROLES,
33
- is_autotest_step_locator_kind,
34
- } from './types/family_elements/autotest_step_actions/autotestStepLocatorKind.js';
35
- export {
36
- hydrate_autotest_step_target,
37
- build_autotest_step_target_storage,
38
- } from './types/family_elements/autotest_step_actions/autotestStepTargetNormalizer.js';
39
- export { typeAutotestRun } from './types/family_elements/typeAutotestRun.js';
40
- export { typeAutotestResult } from './types/family_elements/typeAutotestResult.js';
41
- export { typeObjectRepositoryFolder } from './types/family_elements/typeObjectRepositoryFolder.js';
42
- export { typeObjectRepositoryPage } from './types/family_elements/typeObjectRepositoryPage.js';
43
- export { typeObjectRepositoryElement } from './types/family_elements/typeObjectRepositoryElement.js';
44
- export { typeTestAccount } from './types/family_elements/typeTestAccount.js'
45
- export {typeBug} from './types/family_elements/typeBug.js';
46
- export { typeTag } from './types/family_elements/typeTag.js';
47
- export { typeCustomProperty } from './types/family_elements/typeCustomProperty.js';
48
- export { typeAttachment } from './types/family_elements/typeAttachment.js';
49
-
50
- export { familyRelation } from './types/core/1_familyRelation.js';
51
- export { typeBugRelation } from './types/family_relation/typeBugRelation.js';
52
- export { typeTagRelation } from './types/family_relation/typeTagRelation.js';
53
- export { typeCustomPropertyValue } from './types/family_relation/typeCustomPropertyValue.js';
54
-
55
- export { familyContext } from './types/core/1_familyContext.js';
56
- export { typeBrowserContext } from './types/family_context/typeBrowserContext.js';
57
- export { typeOsContext } from './types/family_context/typeOsContext.js';
58
- export { typeScreenResolutionContext } from './types/family_context/typeScreenResolutionContext.js';
59
- export { typeDeviceContext } from './types/family_context/typeDeviceContext.js';
60
- export { typeLocaleContext } from './types/family_context/typeLocaleContext.js';
61
- export { typeDeploymentTargetContext } from './types/family_context/typeDeploymentTargetContext.js';
62
- export { typeUserAgentContext } from './types/family_context/typeUserAgentContext.js';
63
- export { typeExecutionContext } from './types/family_context/typeExecutionContext.js';
64
-
65
- export { familyUtil } from './types/family_utils/familyUtil.js';
66
- export { typeUtilExecution } from './types/family_utils/typeUtilExecution.js';
67
- export { typeUtilExecutionScreenshotMulti } from './types/family_utils/typeUtilExecutionScreenshotMulti.js';
68
- export { typeUtilExecutionScreenshotMultiCapture } from './types/family_utils/typeUtilExecutionScreenshotMultiCapture.js';
69
- export { typeUtilExecutionScreenshotMultiScreenshot } from './types/family_utils/typeUtilExecutionScreenshotMultiScreenshot.js';
70
- export { typeUtilExecutionScreenshotMultiCaptureError } from './types/family_utils/typeUtilExecutionScreenshotMultiCaptureError.js';
71
- export { typeUtilExecutionUrlInspect } from './types/family_utils/typeUtilExecutionUrlInspect.js';
72
- export { typeUtilExecutionUrlInspectCheck } from './types/family_utils/typeUtilExecutionUrlInspectCheck.js';
73
- export { typeUtilExecutionEvent } from './types/family_utils/typeUtilExecutionEvent.js';
74
-
75
- export { familyEvent } from './types/family_events/familyEvent.js';
76
- export { typeEvent } from './types/family_events/typeEvent.js';
77
-
78
- export { familyFile } from './types/family_files/familyFile.js';
79
- export { typeFile } from './types/family_files/typeFile.js';
80
- export { typeFileScreenshot } from './types/family_files/typeFileScreenshot.js';
81
- export { typeFileAutotestScreenshot } from './types/family_files/typeFileAutotestScreenshot.js';
82
- export { typeFileHtml } from './types/family_files/typeFileHtml.js';
83
- export { typeFilePostman } from './types/family_files/typeFilePostman.js';
84
- export { typeFileVideo } from './types/family_files/typeFileVideo.js';
85
- export { typeFileJson } from './types/family_files/typeFileJson.js';
86
- export { create_type_file_from_wire } from './types/family_files/typeFileFactory.js';
87
- export { typeTextDocument } from './types/family_files/typeTextDocument.js';
88
- export { typeTextDocumentFolder } from './types/family_files/typeTextDocumentFolder.js';
89
-
90
- export { TEXT_DOCUMENT_MAX_IMAGES, TEXT_DOCUMENT_MAX_BODY_BYTES, TEXT_DOCUMENT_MAX_VERSIONS, TEXT_DOCUMENT_AUTOSAVE_STORAGE_PREFIX, TEXT_DOCUMENT_IMAGE_STORAGE_PLACEHOLDER_SRC } from './constants/text_document_limits.js';
91
- export {
92
- count_text_document_images,
93
- collect_text_document_image_uuids,
94
- build_text_document_image_html,
95
- can_add_text_document_image,
96
- } from './utils/text_document_image.js';
97
- export { text_document_editor_config, get_text_document_editor_config } from './app_configuration/text_document_editor_config.js';
98
-
99
- export { typeUser } from './types/family_elements/typeUser.js';
100
- export { typeTeam } from './types/family_elements/typeTeam.js';
101
- export { typeTeamMember } from './types/family_elements/typeTeamMember.js';
102
- export { typeTeamDomain } from './types/family_elements/typeTeamDomain.js';
103
- export { typeTeamTotalStatistic } from './types/family_contracts/typeTeamTotalStatistic.js';
104
-
105
- export { typeTask } from './types/family_elements/typeTask.js';
106
-
107
- export { DeveloperService } from './services/DeveloperService.js';
108
-
109
- export { GeneralException } from './exceptions/GeneralException.js';
110
-
111
- export { is_array, is_number, is_object, is_string, echo, echo_table, count, cls, clone_object } from './utils/utils.js'
112
-
113
- /**
114
- *
115
- * @version v.0.1 (21/06/2025)
116
- */
117
- export class App
118
- {
119
-
120
- init_options = false;
121
-
122
- /**
123
- *
124
- * @version v.0.1 (25/06/2024)
125
- */
126
- constructor(init_options)
127
- {
128
-
129
- if (this.constructor._instance)
130
- {
131
- return this.constructor._instance;
132
- }
133
-
134
- this.init_options = init_options;
135
- this.constructor._instance = this;
136
-
137
- this.#bootstrap();
138
-
139
- return this.constructor._instance;
140
- }
141
-
142
- /**
143
- *
144
- * @version v.0.1 (25/06/2024)
145
- */
146
- #bootstrap()
147
- {
148
- this.service = {};
149
- this.service.translate = new serviceTranslate();
150
- }
151
- }
1
+ export { Api } from "./api/index.js";
2
+ export { UserService } from './services/UserService.js';
3
+ export { TeamService } from './services/TeamService.js';
4
+ export { FileAppService } from './services/FileAppService.js';
5
+
6
+ export { typeFOR } from './types/family_service/typeFOR.js';
7
+ export { typeFilter } from './types/family_service/typeFilter.js';
8
+ export { TableBaseConfig } from './app_configuration/table/table_base_config.js';
9
+ export { TableConfiguration } from './app_configuration/table/table_configuration.js';
10
+
11
+ export { typeProject } from './types/family_elements/typeProject.js';
12
+ export { typeTestSuite } from './types/family_elements/typeTestSuite.js'
13
+ export { typeTestCase } from './types/family_elements/typeTestCase.js';
14
+ export { typeTestCaseStep } from './types/family_elements/typeTestCaseStep.js';
15
+ export { typeTestRun } from './types/family_elements/typeTestRun.js'
16
+ export { typeTestRunResult } from './types/family_elements/typeTestRunResult.js'
17
+ export { typeAutotestCase } from './types/family_elements/typeAutotestCase.js';
18
+ export { typeAutotestSuite } from './types/family_elements/typeAutotestSuite.js';
19
+ export { typeAutotestStep } from './types/family_elements/typeAutotestStep.js';
20
+ export { typeAutotestStepTarget } from './types/family_elements/typeAutotestStepTarget.js';
21
+ export { typeAutotestStepAction } from './types/family_elements/autotest_step_actions/typeAutotestStepAction.js';
22
+ export { typeAutotestStepLocatorAction } from './types/family_elements/autotest_step_actions/typeAutotestStepLocatorAction.js';
23
+ export { typeAutotestStepLocatorValueAction } from './types/family_elements/autotest_step_actions/typeAutotestStepLocatorValueAction.js';
24
+ export {
25
+ list_autotest_step_actions,
26
+ list_autotest_step_actions_by_category,
27
+ get_autotest_step_action_entry,
28
+ get_autotest_step_action_class,
29
+ is_autotest_step_action_known,
30
+ } from './types/family_elements/autotest_step_actions/autotestStepActionCatalog.js';
31
+ export {
32
+ AUTOTEST_STEP_ACTION_CATEGORIES,
33
+ is_autotest_step_action_category,
34
+ } from './types/family_elements/autotest_step_actions/autotestStepActionCategory.js';
35
+ export {
36
+ AUTOTEST_STEP_LOCATOR_KINDS,
37
+ AUTOTEST_STEP_PLAYWRIGHT_ROLES,
38
+ is_autotest_step_locator_kind,
39
+ } from './types/family_elements/autotest_step_actions/autotestStepLocatorKind.js';
40
+ export {
41
+ hydrate_autotest_step_target,
42
+ build_autotest_step_target_storage,
43
+ } from './types/family_elements/autotest_step_actions/autotestStepTargetNormalizer.js';
44
+ export { typeAutotestRun } from './types/family_elements/typeAutotestRun.js';
45
+ export { typeAutotestResult } from './types/family_elements/typeAutotestResult.js';
46
+ export { typeObjectRepositoryFolder } from './types/family_elements/typeObjectRepositoryFolder.js';
47
+ export { typeObjectRepositoryPage } from './types/family_elements/typeObjectRepositoryPage.js';
48
+ export { typeObjectRepositoryElement } from './types/family_elements/typeObjectRepositoryElement.js';
49
+ export { typeTestAccount } from './types/family_elements/typeTestAccount.js'
50
+ export {typeBug} from './types/family_elements/typeBug.js';
51
+ export { typeTag } from './types/family_elements/typeTag.js';
52
+ export { typeCustomProperty } from './types/family_elements/typeCustomProperty.js';
53
+ export { typeAttachment } from './types/family_elements/typeAttachment.js';
54
+
55
+ export { familyRelation } from './types/core/1_familyRelation.js';
56
+ export { typeBugRelation } from './types/family_relation/typeBugRelation.js';
57
+ export { typeTagRelation } from './types/family_relation/typeTagRelation.js';
58
+ export { typeCustomPropertyValue } from './types/family_relation/typeCustomPropertyValue.js';
59
+
60
+ export { familyContext } from './types/core/1_familyContext.js';
61
+ export { typeBrowserContext } from './types/family_context/typeBrowserContext.js';
62
+ export { typeOsContext } from './types/family_context/typeOsContext.js';
63
+ export { typeScreenResolutionContext } from './types/family_context/typeScreenResolutionContext.js';
64
+ export { typeDeviceContext } from './types/family_context/typeDeviceContext.js';
65
+ export { typeLocaleContext } from './types/family_context/typeLocaleContext.js';
66
+ export { typeDeploymentTargetContext } from './types/family_context/typeDeploymentTargetContext.js';
67
+ export { typeUserAgentContext } from './types/family_context/typeUserAgentContext.js';
68
+ export { typeExecutionContext } from './types/family_context/typeExecutionContext.js';
69
+
70
+ export { familyUtil } from './types/family_utils/familyUtil.js';
71
+ export { typeUtilExecution } from './types/family_utils/typeUtilExecution.js';
72
+ export { typeUtilExecutionScreenshotMulti } from './types/family_utils/typeUtilExecutionScreenshotMulti.js';
73
+ export { typeUtilExecutionScreenshotMultiCapture } from './types/family_utils/typeUtilExecutionScreenshotMultiCapture.js';
74
+ export { typeUtilExecutionScreenshotMultiScreenshot } from './types/family_utils/typeUtilExecutionScreenshotMultiScreenshot.js';
75
+ export { typeUtilExecutionScreenshotMultiCaptureError } from './types/family_utils/typeUtilExecutionScreenshotMultiCaptureError.js';
76
+ export { typeUtilExecutionUrlInspect } from './types/family_utils/typeUtilExecutionUrlInspect.js';
77
+ export { typeUtilExecutionUrlInspectCheck } from './types/family_utils/typeUtilExecutionUrlInspectCheck.js';
78
+ export { typeUtilExecutionEvent } from './types/family_utils/typeUtilExecutionEvent.js';
79
+
80
+ export { familyEvent } from './types/family_events/familyEvent.js';
81
+ export { typeEvent } from './types/family_events/typeEvent.js';
82
+
83
+ export { familyFile } from './types/family_files/familyFile.js';
84
+ export { typeFile } from './types/family_files/typeFile.js';
85
+ export { typeFileScreenshot } from './types/family_files/typeFileScreenshot.js';
86
+ export { typeFileAutotestScreenshot } from './types/family_files/typeFileAutotestScreenshot.js';
87
+ export { typeFileHtml } from './types/family_files/typeFileHtml.js';
88
+ export { typeFilePostman } from './types/family_files/typeFilePostman.js';
89
+ export { typeFileVideo } from './types/family_files/typeFileVideo.js';
90
+ export { typeFileJson } from './types/family_files/typeFileJson.js';
91
+ export { create_type_file_from_wire } from './types/family_files/typeFileFactory.js';
92
+ export { typeTextDocument } from './types/family_files/typeTextDocument.js';
93
+ export { typeTextDocumentFolder } from './types/family_files/typeTextDocumentFolder.js';
94
+
95
+ export { TEXT_DOCUMENT_MAX_IMAGES, TEXT_DOCUMENT_MAX_BODY_BYTES, TEXT_DOCUMENT_MAX_VERSIONS, TEXT_DOCUMENT_AUTOSAVE_STORAGE_PREFIX, TEXT_DOCUMENT_IMAGE_STORAGE_PLACEHOLDER_SRC } from './constants/text_document_limits.js';
96
+ export {
97
+ count_text_document_images,
98
+ collect_text_document_image_uuids,
99
+ build_text_document_image_html,
100
+ can_add_text_document_image,
101
+ } from './utils/text_document_image.js';
102
+ export { text_document_editor_config, get_text_document_editor_config } from './app_configuration/text_document_editor_config.js';
103
+
104
+ export { typeUser } from './types/family_elements/typeUser.js';
105
+ export { typeTeam } from './types/family_elements/typeTeam.js';
106
+ export { typeTeamMember } from './types/family_elements/typeTeamMember.js';
107
+ export { typeTeamDomain } from './types/family_elements/typeTeamDomain.js';
108
+ export { typeTeamTotalStatistic } from './types/family_contracts/typeTeamTotalStatistic.js';
109
+
110
+ export { typeTask } from './types/family_elements/typeTask.js';
111
+
112
+ export { DeveloperService } from './services/DeveloperService.js';
113
+
114
+ export { GeneralException } from './exceptions/GeneralException.js';
115
+
116
+ export { is_array, is_number, is_object, is_string, echo, echo_table, count, cls, clone_object } from './utils/utils.js'
117
+
118
+ /**
119
+ *
120
+ * @version v.0.1 (21/06/2025)
121
+ */
122
+ export class App
123
+ {
124
+
125
+ init_options = false;
126
+
127
+ /**
128
+ *
129
+ * @version v.0.1 (25/06/2024)
130
+ */
131
+ constructor(init_options)
132
+ {
133
+
134
+ if (this.constructor._instance)
135
+ {
136
+ return this.constructor._instance;
137
+ }
138
+
139
+ this.init_options = init_options;
140
+ this.constructor._instance = this;
141
+
142
+ this.#bootstrap();
143
+
144
+ return this.constructor._instance;
145
+ }
146
+
147
+ /**
148
+ *
149
+ * @version v.0.1 (25/06/2024)
150
+ */
151
+ #bootstrap()
152
+ {
153
+ this.service = {};
154
+ this.service.translate = new serviceTranslate();
155
+ }
156
+ }
@@ -1,54 +1,75 @@
1
- import { AUTOTEST_STEP_ACTION_CLASSES } from './typeAutotestStepActionVariants.js';
2
-
3
-
4
- const CLASS_BY_NAME = {};
5
- AUTOTEST_STEP_ACTION_CLASSES.forEach((ActionClass) =>
6
- {
7
- CLASS_BY_NAME[ ActionClass.action_name ] = ActionClass;
8
- });
9
-
10
-
11
- /**
12
- * Explicit ACTION catalog. New action = new class + this map + form + runner branch.
13
- *
14
- * @version v.1.0 (05/09/2026)
15
- */
16
- export function get_autotest_step_action_class(action_name)
17
- {
18
- return CLASS_BY_NAME[ action_name ] || null;
19
- }
20
-
21
-
22
- /**
23
- * @param {string} action_name
24
- * @returns {object|null}
25
- */
26
- export function get_autotest_step_action_entry(action_name)
27
- {
28
- const ActionClass = get_autotest_step_action_class(action_name);
29
- if (!ActionClass)
30
- {
31
- return null;
32
- }
33
-
34
- return new ActionClass().catalog_entry();
35
- }
36
-
37
-
38
- /**
39
- * @returns {object[]}
40
- */
41
- export function list_autotest_step_actions()
42
- {
43
- return AUTOTEST_STEP_ACTION_CLASSES.map((ActionClass) => new ActionClass().catalog_entry());
44
- }
45
-
46
-
47
- /**
48
- * @param {string} action_name
49
- * @returns {boolean}
50
- */
51
- export function is_autotest_step_action_known(action_name)
52
- {
53
- return !!CLASS_BY_NAME[ action_name ];
54
- }
1
+ import { AUTOTEST_STEP_ACTION_CLASSES } from './typeAutotestStepActionVariants.js';
2
+ import { AUTOTEST_STEP_ACTION_CATEGORIES } from './autotestStepActionCategory.js';
3
+
4
+
5
+ const CLASS_BY_NAME = {};
6
+ AUTOTEST_STEP_ACTION_CLASSES.forEach((ActionClass) =>
7
+ {
8
+ CLASS_BY_NAME[ ActionClass.action_name ] = ActionClass;
9
+ });
10
+
11
+
12
+ /**
13
+ * Explicit ACTION catalog. New action = new class + this map + form + runner branch.
14
+ *
15
+ * @version v.1.0 (05/09/2026)
16
+ */
17
+ export function get_autotest_step_action_class(action_name)
18
+ {
19
+ return CLASS_BY_NAME[ action_name ] || null;
20
+ }
21
+
22
+
23
+ /**
24
+ * @param {string} action_name
25
+ * @returns {object|null}
26
+ */
27
+ export function get_autotest_step_action_entry(action_name)
28
+ {
29
+ const ActionClass = get_autotest_step_action_class(action_name);
30
+ if (!ActionClass)
31
+ {
32
+ return null;
33
+ }
34
+
35
+ return new ActionClass().catalog_entry();
36
+ }
37
+
38
+
39
+ /**
40
+ * @returns {object[]}
41
+ */
42
+ export function list_autotest_step_actions()
43
+ {
44
+ return AUTOTEST_STEP_ACTION_CLASSES.map((ActionClass) => new ActionClass().catalog_entry());
45
+ }
46
+
47
+
48
+ /**
49
+ * Catalog split by category, in the order of AUTOTEST_STEP_ACTION_CATEGORIES.
50
+ * Empty categories are not returned.
51
+ *
52
+ * @version v.1.0 (14/09/2026)
53
+ * @returns {Array<{category: string, actions: object[]}>}
54
+ */
55
+ export function list_autotest_step_actions_by_category()
56
+ {
57
+ const entries = list_autotest_step_actions();
58
+
59
+ return AUTOTEST_STEP_ACTION_CATEGORIES
60
+ .map((category) => ({
61
+ category: category,
62
+ actions : entries.filter((entry) => entry.category === category),
63
+ }))
64
+ .filter((group) => group.actions.length > 0);
65
+ }
66
+
67
+
68
+ /**
69
+ * @param {string} action_name
70
+ * @returns {boolean}
71
+ */
72
+ export function is_autotest_step_action_known(action_name)
73
+ {
74
+ return !!CLASS_BY_NAME[ action_name ];
75
+ }