accessibility-checker 4.0.1 → 4.0.2

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 (209) hide show
  1. package/bin/achecker.js +213 -262
  2. package/bin/achecker.js.map +1 -1
  3. package/cjs/bin/achecker.d.ts +2 -0
  4. package/cjs/bin/achecker.js +306 -0
  5. package/cjs/bin/achecker.js.map +1 -0
  6. package/cjs/index.d.ts +319 -0
  7. package/cjs/index.js +402 -0
  8. package/cjs/index.js.map +1 -0
  9. package/cjs/lib/ACBrowserManager.d.ts +22 -0
  10. package/cjs/lib/ACBrowserManager.js +172 -0
  11. package/cjs/lib/ACBrowserManager.js.map +1 -0
  12. package/cjs/lib/ACEngineManager.d.ts +19 -0
  13. package/cjs/lib/ACEngineManager.js +457 -0
  14. package/cjs/lib/ACEngineManager.js.map +1 -0
  15. package/cjs/lib/ACHelper.d.ts +2 -0
  16. package/cjs/lib/ACHelper.js +678 -0
  17. package/cjs/lib/ACHelper.js.map +1 -0
  18. package/cjs/lib/api/IChecker.d.ts +28 -0
  19. package/cjs/lib/api/IChecker.js +11 -0
  20. package/cjs/lib/api/IChecker.js.map +1 -0
  21. package/cjs/lib/api/IMapper.d.ts +37 -0
  22. package/cjs/lib/api/IMapper.js +18 -0
  23. package/cjs/lib/api/IMapper.js.map +1 -0
  24. package/cjs/lib/common/api-ext/Fetch.d.ts +17 -0
  25. package/cjs/lib/common/api-ext/Fetch.js +95 -0
  26. package/cjs/lib/common/api-ext/Fetch.js.map +1 -0
  27. package/cjs/lib/common/api-ext/IAbstractAPI.d.ts +33 -0
  28. package/cjs/lib/common/api-ext/IAbstractAPI.js +18 -0
  29. package/cjs/lib/common/api-ext/IAbstractAPI.js.map +1 -0
  30. package/cjs/lib/common/config/ACConfigManager.d.ts +13 -0
  31. package/cjs/lib/common/config/ACConfigManager.js +483 -0
  32. package/cjs/lib/common/config/ACConfigManager.js.map +1 -0
  33. package/cjs/lib/common/config/ACConstants.d.ts +17 -0
  34. package/cjs/lib/common/config/ACConstants.js +111 -0
  35. package/cjs/lib/common/config/ACConstants.js.map +1 -0
  36. package/cjs/lib/common/config/IArchive.d.ts +37 -0
  37. package/cjs/lib/common/config/IArchive.js +18 -0
  38. package/cjs/lib/common/config/IArchive.js.map +1 -0
  39. package/cjs/lib/common/config/IConfig.d.ts +152 -0
  40. package/cjs/lib/common/config/IConfig.js +36 -0
  41. package/cjs/lib/common/config/IConfig.js.map +1 -0
  42. package/cjs/lib/common/engine/IBounds.d.ts +21 -0
  43. package/cjs/lib/common/engine/IBounds.js +18 -0
  44. package/cjs/lib/common/engine/IBounds.js.map +1 -0
  45. package/cjs/lib/common/engine/IChecker.d.ts +23 -0
  46. package/cjs/lib/common/engine/IChecker.js +18 -0
  47. package/cjs/lib/common/engine/IChecker.js.map +1 -0
  48. package/cjs/lib/common/engine/IEngine.d.ts +39 -0
  49. package/cjs/lib/common/engine/IEngine.js +18 -0
  50. package/cjs/lib/common/engine/IEngine.js.map +1 -0
  51. package/cjs/lib/common/engine/IGuideline.d.ts +53 -0
  52. package/cjs/lib/common/engine/IGuideline.js +37 -0
  53. package/cjs/lib/common/engine/IGuideline.js.map +1 -0
  54. package/cjs/lib/common/engine/IMapper.d.ts +32 -0
  55. package/cjs/lib/common/engine/IMapper.js +18 -0
  56. package/cjs/lib/common/engine/IMapper.js.map +1 -0
  57. package/cjs/lib/common/engine/IReport.d.ts +143 -0
  58. package/cjs/lib/common/engine/IReport.js +44 -0
  59. package/cjs/lib/common/engine/IReport.js.map +1 -0
  60. package/cjs/lib/common/engine/IRule.d.ts +100 -0
  61. package/cjs/lib/common/engine/IRule.js +87 -0
  62. package/cjs/lib/common/engine/IRule.js.map +1 -0
  63. package/cjs/lib/common/engine/IRuleset.d.ts +20 -0
  64. package/cjs/lib/common/engine/IRuleset.js +18 -0
  65. package/cjs/lib/common/engine/IRuleset.js.map +1 -0
  66. package/cjs/lib/common/report/ACReporterCSV.d.ts +28 -0
  67. package/cjs/lib/common/report/ACReporterCSV.js +75 -0
  68. package/cjs/lib/common/report/ACReporterCSV.js.map +1 -0
  69. package/cjs/lib/common/report/ACReporterHTML.d.ts +27 -0
  70. package/cjs/lib/common/report/ACReporterHTML.js +61 -0
  71. package/cjs/lib/common/report/ACReporterHTML.js.map +1 -0
  72. package/cjs/lib/common/report/ACReporterJSON.d.ts +36 -0
  73. package/cjs/lib/common/report/ACReporterJSON.js +109 -0
  74. package/cjs/lib/common/report/ACReporterJSON.js.map +1 -0
  75. package/cjs/lib/common/report/ACReporterMetrics.d.ts +78 -0
  76. package/cjs/lib/common/report/ACReporterMetrics.js +135 -0
  77. package/cjs/lib/common/report/ACReporterMetrics.js.map +1 -0
  78. package/cjs/lib/common/report/ACReporterXLSX.d.ts +38 -0
  79. package/cjs/lib/common/report/ACReporterXLSX.js +996 -0
  80. package/cjs/lib/common/report/ACReporterXLSX.js.map +1 -0
  81. package/cjs/lib/common/report/BaselineManager.d.ts +169 -0
  82. package/cjs/lib/common/report/BaselineManager.js +382 -0
  83. package/cjs/lib/common/report/BaselineManager.js.map +1 -0
  84. package/cjs/lib/common/report/ReporterManager.d.ts +79 -0
  85. package/cjs/lib/common/report/ReporterManager.js +469 -0
  86. package/cjs/lib/common/report/ReporterManager.js.map +1 -0
  87. package/cjs/lib/common/report/genReport.d.ts +1 -0
  88. package/cjs/lib/common/report/genReport.js +12 -0
  89. package/cjs/lib/common/report/genReport.js.map +1 -0
  90. package/cjs/package.json +3 -0
  91. package/index.js +21 -63
  92. package/index.js.map +1 -1
  93. package/lib/ACBrowserManager.js +138 -203
  94. package/lib/ACBrowserManager.js.map +1 -1
  95. package/lib/ACEngineManager.js +395 -402
  96. package/lib/ACEngineManager.js.map +1 -1
  97. package/lib/ACHelper.js +581 -642
  98. package/lib/ACHelper.js.map +1 -1
  99. package/lib/common/api-ext/Fetch.js +58 -78
  100. package/lib/common/api-ext/Fetch.js.map +1 -1
  101. package/lib/common/config/ACConfigManager.js +271 -281
  102. package/lib/common/config/ACConfigManager.js.map +1 -1
  103. package/lib/common/config/ACConstants.js +38 -4
  104. package/lib/common/config/ACConstants.js.map +1 -1
  105. package/lib/common/config/IConfig.d.ts +1 -1
  106. package/lib/common/report/ACReporterCSV.js +42 -77
  107. package/lib/common/report/ACReporterCSV.js.map +1 -1
  108. package/lib/common/report/ACReporterHTML.js +15 -48
  109. package/lib/common/report/ACReporterHTML.js.map +1 -1
  110. package/lib/common/report/ACReporterJSON.js +59 -94
  111. package/lib/common/report/ACReporterJSON.js.map +1 -1
  112. package/lib/common/report/ACReporterMetrics.js +45 -108
  113. package/lib/common/report/ACReporterMetrics.js.map +1 -1
  114. package/lib/common/report/ACReporterXLSX.js +282 -300
  115. package/lib/common/report/ACReporterXLSX.js.map +1 -1
  116. package/lib/common/report/BaselineManager.js +82 -56
  117. package/lib/common/report/BaselineManager.js.map +1 -1
  118. package/lib/common/report/ReporterManager.js +125 -190
  119. package/lib/common/report/ReporterManager.js.map +1 -1
  120. package/lib/common/report/genReport.js +2 -2
  121. package/mjs/bin/achecker.d.ts +2 -0
  122. package/mjs/bin/achecker.js +236 -0
  123. package/mjs/bin/achecker.js.map +1 -0
  124. package/mjs/index.d.ts +319 -0
  125. package/mjs/index.js +368 -0
  126. package/mjs/index.js.map +1 -0
  127. package/mjs/lib/ACBrowserManager.d.ts +22 -0
  128. package/mjs/lib/ACBrowserManager.js +121 -0
  129. package/mjs/lib/ACBrowserManager.js.map +1 -0
  130. package/mjs/lib/ACEngineManager.d.ts +19 -0
  131. package/mjs/lib/ACEngineManager.js +397 -0
  132. package/mjs/lib/ACEngineManager.js.map +1 -0
  133. package/mjs/lib/ACHelper.d.ts +2 -0
  134. package/mjs/lib/ACHelper.js +614 -0
  135. package/mjs/lib/ACHelper.js.map +1 -0
  136. package/mjs/lib/api/IChecker.d.ts +28 -0
  137. package/mjs/lib/api/IChecker.js +8 -0
  138. package/mjs/lib/api/IChecker.js.map +1 -0
  139. package/mjs/lib/api/IMapper.d.ts +37 -0
  140. package/mjs/lib/api/IMapper.js +17 -0
  141. package/mjs/lib/api/IMapper.js.map +1 -0
  142. package/mjs/lib/common/api-ext/Fetch.d.ts +17 -0
  143. package/mjs/lib/common/api-ext/Fetch.js +45 -0
  144. package/mjs/lib/common/api-ext/Fetch.js.map +1 -0
  145. package/mjs/lib/common/api-ext/IAbstractAPI.d.ts +33 -0
  146. package/mjs/lib/common/api-ext/IAbstractAPI.js +17 -0
  147. package/mjs/lib/common/api-ext/IAbstractAPI.js.map +1 -0
  148. package/mjs/lib/common/config/ACConfigManager.d.ts +13 -0
  149. package/mjs/lib/common/config/ACConfigManager.js +421 -0
  150. package/mjs/lib/common/config/ACConfigManager.js.map +1 -0
  151. package/mjs/lib/common/config/ACConstants.d.ts +17 -0
  152. package/mjs/lib/common/config/ACConstants.js +75 -0
  153. package/mjs/lib/common/config/ACConstants.js.map +1 -0
  154. package/mjs/lib/common/config/IArchive.d.ts +37 -0
  155. package/mjs/lib/common/config/IArchive.js +17 -0
  156. package/mjs/lib/common/config/IArchive.js.map +1 -0
  157. package/mjs/lib/common/config/IConfig.d.ts +152 -0
  158. package/mjs/lib/common/config/IConfig.js +33 -0
  159. package/mjs/lib/common/config/IConfig.js.map +1 -0
  160. package/mjs/lib/common/engine/IBounds.d.ts +21 -0
  161. package/mjs/lib/common/engine/IBounds.js +17 -0
  162. package/mjs/lib/common/engine/IBounds.js.map +1 -0
  163. package/mjs/lib/common/engine/IChecker.d.ts +23 -0
  164. package/mjs/lib/common/engine/IChecker.js +17 -0
  165. package/mjs/lib/common/engine/IChecker.js.map +1 -0
  166. package/mjs/lib/common/engine/IEngine.d.ts +39 -0
  167. package/mjs/lib/common/engine/IEngine.js +17 -0
  168. package/mjs/lib/common/engine/IEngine.js.map +1 -0
  169. package/mjs/lib/common/engine/IGuideline.d.ts +53 -0
  170. package/mjs/lib/common/engine/IGuideline.js +34 -0
  171. package/mjs/lib/common/engine/IGuideline.js.map +1 -0
  172. package/mjs/lib/common/engine/IMapper.d.ts +32 -0
  173. package/mjs/lib/common/engine/IMapper.js +17 -0
  174. package/mjs/lib/common/engine/IMapper.js.map +1 -0
  175. package/mjs/lib/common/engine/IReport.d.ts +143 -0
  176. package/mjs/lib/common/engine/IReport.js +36 -0
  177. package/mjs/lib/common/engine/IReport.js.map +1 -0
  178. package/mjs/lib/common/engine/IRule.d.ts +100 -0
  179. package/mjs/lib/common/engine/IRule.js +79 -0
  180. package/mjs/lib/common/engine/IRule.js.map +1 -0
  181. package/mjs/lib/common/engine/IRuleset.d.ts +20 -0
  182. package/mjs/lib/common/engine/IRuleset.js +17 -0
  183. package/mjs/lib/common/engine/IRuleset.js.map +1 -0
  184. package/mjs/lib/common/report/ACReporterCSV.d.ts +28 -0
  185. package/mjs/lib/common/report/ACReporterCSV.js +60 -0
  186. package/mjs/lib/common/report/ACReporterCSV.js.map +1 -0
  187. package/mjs/lib/common/report/ACReporterHTML.d.ts +27 -0
  188. package/mjs/lib/common/report/ACReporterHTML.js +46 -0
  189. package/mjs/lib/common/report/ACReporterHTML.js.map +1 -0
  190. package/mjs/lib/common/report/ACReporterJSON.d.ts +36 -0
  191. package/mjs/lib/common/report/ACReporterJSON.js +94 -0
  192. package/mjs/lib/common/report/ACReporterJSON.js.map +1 -0
  193. package/mjs/lib/common/report/ACReporterMetrics.d.ts +78 -0
  194. package/mjs/lib/common/report/ACReporterMetrics.js +122 -0
  195. package/mjs/lib/common/report/ACReporterMetrics.js.map +1 -0
  196. package/mjs/lib/common/report/ACReporterXLSX.d.ts +38 -0
  197. package/mjs/lib/common/report/ACReporterXLSX.js +948 -0
  198. package/mjs/lib/common/report/ACReporterXLSX.js.map +1 -0
  199. package/mjs/lib/common/report/BaselineManager.d.ts +169 -0
  200. package/mjs/lib/common/report/BaselineManager.js +348 -0
  201. package/mjs/lib/common/report/BaselineManager.js.map +1 -0
  202. package/mjs/lib/common/report/ReporterManager.d.ts +79 -0
  203. package/mjs/lib/common/report/ReporterManager.js +469 -0
  204. package/mjs/lib/common/report/ReporterManager.js.map +1 -0
  205. package/mjs/lib/common/report/genReport.d.ts +1 -0
  206. package/mjs/lib/common/report/genReport.js +9 -0
  207. package/mjs/lib/common/report/genReport.js.map +1 -0
  208. package/mjs/package.json +3 -0
  209. package/package.json +10 -4
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,457 +41,417 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
41
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
42
  });
10
43
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
44
+ var _a;
38
45
  Object.defineProperty(exports, "__esModule", { value: true });
39
46
  exports.ACEngineManager = void 0;
40
- var path = require("path");
41
- var fs = require("fs");
42
- var ACConfigManager_js_1 = require("./common/config/ACConfigManager.js");
43
- var Fetch_js_1 = require("./common/api-ext/Fetch.js");
44
- var ace;
45
- var checker;
46
- var ACEngineManager = /** @class */ (function () {
47
- function ACEngineManager() {
48
- }
49
- ACEngineManager.loadEngine = function (content) {
50
- return __awaiter(this, void 0, void 0, function () {
51
- var config, ENGINE_LOAD_MODE, _b, page, aceAlreadyExists, browser, scriptStr, manage, page;
52
- return __generator(this, function (_c) {
53
- switch (_c.label) {
54
- case 0: return [4 /*yield*/, ACConfigManager_js_1.ACConfigManager.getConfigUnsupported()];
55
- case 1:
56
- config = _c.sent();
57
- ENGINE_LOAD_MODE = config.engineMode;
58
- if (ENGINE_LOAD_MODE === "DEFAULT") {
59
- // ENGINE_LOAD_MODE = "REMOTE";
60
- ENGINE_LOAD_MODE = "INJECT";
61
- }
62
- if (!(ENGINE_LOAD_MODE === "INJECT" && !_a.engineContent)) return [3 /*break*/, 3];
63
- _b = _a;
64
- return [4 /*yield*/, (0, Fetch_js_1.fetch_get_text)("".concat(config.rulePack, "/ace.js"))];
65
- case 2:
66
- _b.engineContent = _c.sent();
67
- _c.label = 3;
68
- case 3:
69
- if (!(_a.isPuppeteer(content) || _a.isPlaywright(content))) return [3 /*break*/, 9];
70
- config.DEBUG && console.log("[INFO] aChecker.loadEngine detected Puppeteer/Playwright");
71
- page = content;
72
- if (!(ENGINE_LOAD_MODE === "REMOTE")) return [3 /*break*/, 5];
73
- config.DEBUG && console.log("[INFO] engineMode REMOTE");
74
- return [4 /*yield*/, page.evaluate(function (scriptUrl) {
75
- try {
76
- var ace_backup_in_ibma;
77
- if ('undefined' !== typeof (ace)) {
78
- if (!ace || !ace.Checker)
79
- ace_backup_in_ibma = ace;
80
- ace = null;
81
- }
82
- if ('undefined' === typeof (ace) || ace === null) {
83
- return new Promise(function (resolve, reject) {
84
- var script = document.createElement('script');
85
- script.setAttribute('type', 'text/javascript');
86
- script.setAttribute('aChecker', 'ACE');
87
- script.setAttribute('src', scriptUrl);
88
- script.addEventListener('load', function () {
89
- globalThis.ace_ibma = ace;
90
- if ('undefined' !== typeof (ace)) {
91
- ace = ace_backup_in_ibma;
92
- }
93
- resolve();
94
- });
95
- script.addEventListener('error', function (evt) {
96
- reject(new Error("Unable to load engine into ".concat(document.location.href, ". This can happen if the page server sets a Content-Security-Policy that prevents ").concat(scriptUrl, " from loading.")));
97
- });
98
- var heads = document.getElementsByTagName('head');
99
- if (heads.length > 0) {
100
- heads[0].appendChild(script);
101
- }
102
- else if (document.body) {
103
- document.body.appendChild(script);
104
- }
105
- else {
106
- Promise.reject("Invalid document");
107
- }
108
- });
109
- }
110
- }
111
- catch (e) {
112
- return Promise.reject(e);
113
- }
114
- }, "".concat(config.rulePack, "/ace.js"))];
115
- case 4:
116
- _c.sent();
117
- return [3 /*break*/, 8];
118
- case 5:
119
- if (!(ENGINE_LOAD_MODE === "INJECT")) return [3 /*break*/, 8];
120
- config.DEBUG && console.log("[INFO] engineMode INJECT");
121
- return [4 /*yield*/, page.evaluate(function () { try {
122
- return 'undefined' !== typeof (ace);
47
+ const path = __importStar(require("path"));
48
+ const fs = __importStar(require("fs"));
49
+ const ACConfigManager_js_1 = require("./common/config/ACConfigManager.js");
50
+ const Fetch_js_1 = require("./common/api-ext/Fetch.js");
51
+ // The following two lines will be modified by sed for cjs vs mjs environments. Look at package.json before modifying
52
+ // import { createRequire } from "module";
53
+ // const require = createRequire(import.meta.url);
54
+ let ace;
55
+ let checker;
56
+ class ACEngineManager {
57
+ static loadEngine(content) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ let config = yield ACConfigManager_js_1.ACConfigManager.getConfigUnsupported();
60
+ let ENGINE_LOAD_MODE = config.engineMode;
61
+ if (ENGINE_LOAD_MODE === "DEFAULT") {
62
+ // ENGINE_LOAD_MODE = "REMOTE";
63
+ ENGINE_LOAD_MODE = "INJECT";
64
+ }
65
+ if (ENGINE_LOAD_MODE === "INJECT" && !_a.engineContent) {
66
+ _a.engineContent = yield (0, Fetch_js_1.fetch_get_text)(`${config.rulePack}/ace.js`);
67
+ }
68
+ if (_a.isPuppeteer(content) || _a.isPlaywright(content)) {
69
+ config.DEBUG && console.log("[INFO] aChecker.loadEngine detected Puppeteer/Playwright");
70
+ let page = content;
71
+ if (ENGINE_LOAD_MODE === "REMOTE") {
72
+ config.DEBUG && console.log("[INFO] engineMode REMOTE");
73
+ yield page.evaluate((scriptUrl) => {
74
+ try {
75
+ var ace_backup_in_ibma;
76
+ if ('undefined' !== typeof (ace)) {
77
+ if (!ace || !ace.Checker)
78
+ ace_backup_in_ibma = ace;
79
+ ace = null;
123
80
  }
124
- catch (e) {
125
- return false;
126
- } })];
127
- case 6:
128
- aceAlreadyExists = _c.sent();
129
- return [4 /*yield*/, page.evaluate(function (_b) {
130
- var engineContent = _b.engineContent, aceAlreadyExists = _b.aceAlreadyExists;
131
- try {
132
- var ace_backup_in_ibma;
133
- if (aceAlreadyExists) {
134
- if (!ace || !ace.Checker)
135
- ace_backup_in_ibma = ace;
136
- ace = null;
81
+ if ('undefined' === typeof (ace) || ace === null) {
82
+ return new Promise((resolve, reject) => {
83
+ let script = document.createElement('script');
84
+ script.setAttribute('type', 'text/javascript');
85
+ script.setAttribute('aChecker', 'ACE');
86
+ script.setAttribute('src', scriptUrl);
87
+ script.addEventListener('load', function () {
88
+ globalThis.ace_ibma = ace;
89
+ if ('undefined' !== typeof (ace)) {
90
+ ace = ace_backup_in_ibma;
91
+ }
92
+ resolve();
93
+ });
94
+ script.addEventListener('error', function (evt) {
95
+ reject(new Error(`Unable to load engine into ${document.location.href}. This can happen if the page server sets a Content-Security-Policy that prevents ${scriptUrl} from loading.`));
96
+ });
97
+ let heads = document.getElementsByTagName('head');
98
+ if (heads.length > 0) {
99
+ heads[0].appendChild(script);
137
100
  }
138
- if (!aceAlreadyExists || ace === null) {
139
- return new Promise(function (resolve, reject) {
140
- eval(engineContent);
141
- globalThis.ace_ibma = ace;
142
- if (aceAlreadyExists) {
143
- ace = ace_backup_in_ibma;
144
- }
145
- resolve();
146
- });
101
+ else if (document.body) {
102
+ document.body.appendChild(script);
147
103
  }
148
- }
149
- catch (e) {
150
- return Promise.reject(e);
151
- }
152
- }, {
153
- engineContent: _a.engineContent,
154
- aceAlreadyExists: aceAlreadyExists
155
- })];
156
- case 7:
157
- _c.sent();
158
- _c.label = 8;
159
- case 8: return [2 /*return*/, _a.loadEngineLocal()];
160
- case 9:
161
- if (!_a.isSelenium(content)) return [3 /*break*/, 10];
162
- config.DEBUG && console.log("[INFO] aChecker.loadEngine detected Selenium");
163
- try {
164
- browser = content;
165
- scriptStr = void 0;
166
- if (ENGINE_LOAD_MODE === "REMOTE") {
167
- scriptStr =
168
- "let cb = arguments[arguments.length - 1];\n try {\n var ace_backup_in_ibma;\n if ('undefined' !== typeof(ace)) {\n if (!ace || !ace.Checker) \n ace_backup_in_ibma = ace;\n ace = null; \n } \n if ('undefined' === typeof (ace) || ace === null) {\n let script = document.createElement('script');\n script.setAttribute('type', 'text/javascript');\n script.setAttribute('aChecker', 'ACE');\n script.setAttribute('src', '".concat(config.rulePack, "/ace.js');\n script.addEventListener('load', function() {\n globalThis.ace_ibma = ace;\n if ('undefined' !== typeof(ace)) {\n ace = ace_backup_in_ibma;\n } \n cb();\n });\n let heads = document.getElementsByTagName('head');\n if (heads.length > 0) { heads[0].appendChild(script); }\n else { document.body.appendChild(script); }\n } else {\n cb();\n }\n } catch (e) {\n cb(e);\n }\n ");
169
- }
170
- else if (ENGINE_LOAD_MODE === "INJECT") {
171
- // Selenium
172
- scriptStr =
173
- "let cb = arguments[arguments.length - 1];\n try {\n var ace_backup_in_ibma;\n if ('undefined' !== typeof(ace)) {\n if (!ace || !ace.Checker) \n ace_backup_in_ibma = ace;\n ace = null; \n } \n if ('undefined' === typeof (ace) || ace === null) {\n eval(".concat(JSON.stringify(_a.engineContent), ")\n globalThis.ace_ibma = ace;\n if ('undefined' !== typeof(ace)) {\n ace = ace_backup_in_ibma;\n } \n cb();\n \n } else {\n cb();\n }\n } catch (e) {\n cb(e);\n }\n ");
104
+ else {
105
+ Promise.reject("Invalid document");
106
+ }
107
+ });
174
108
  }
175
- manage = browser.manage();
176
- if (manage.timeouts) {
177
- manage.timeouts().setScriptTimeout(60000);
109
+ }
110
+ catch (e) {
111
+ return Promise.reject(e);
112
+ }
113
+ }, `${config.rulePack}/ace.js`);
114
+ }
115
+ else if (ENGINE_LOAD_MODE === "INJECT") {
116
+ config.DEBUG && console.log("[INFO] engineMode INJECT");
117
+ let aceAlreadyExists = yield page.evaluate(() => { try {
118
+ return 'undefined' !== typeof (ace);
119
+ }
120
+ catch (e) {
121
+ return false;
122
+ } });
123
+ yield page.evaluate(({ engineContent, aceAlreadyExists }) => {
124
+ try {
125
+ var ace_backup_in_ibma;
126
+ if (aceAlreadyExists) {
127
+ if (!ace || !ace.Checker)
128
+ ace_backup_in_ibma = ace;
129
+ ace = null;
178
130
  }
179
- else if (manage.setTimeouts) {
180
- manage.setTimeouts({
181
- "script": 60000
131
+ if (!aceAlreadyExists || ace === null) {
132
+ return new Promise((resolve, reject) => {
133
+ eval(engineContent);
134
+ globalThis.ace_ibma = ace;
135
+ if (aceAlreadyExists) {
136
+ ace = ace_backup_in_ibma;
137
+ }
138
+ resolve();
182
139
  });
183
140
  }
184
- return [2 /*return*/, browser.executeAsyncScript(scriptStr).then(function (return_success) {
185
- return _a.loadEngineLocal();
186
- }).catch(function (err) {
187
- console.log(err);
188
- })];
189
141
  }
190
142
  catch (e) {
191
- console.log(e);
143
+ return Promise.reject(e);
192
144
  }
193
- return [3 /*break*/, 16];
194
- case 10:
195
- if (!_a.isWebDriverIO(content)) return [3 /*break*/, 15];
196
- config.DEBUG && console.log("[INFO] aChecker.loadEngine detected WebDriverIO");
197
- page = content;
198
- if (!(ENGINE_LOAD_MODE === "REMOTE")) return [3 /*break*/, 12];
199
- return [4 /*yield*/, page.executeAsync(function (scriptUrl, done) {
200
- try {
201
- var ace_backup_in_ibma;
202
- if ('undefined' !== typeof (ace)) {
203
- if (!ace || !ace.Checker)
204
- ace_backup_in_ibma = ace;
205
- ace = null;
145
+ }, {
146
+ engineContent: _a.engineContent, aceAlreadyExists
147
+ });
148
+ }
149
+ return _a.loadEngineLocal();
150
+ }
151
+ else if (_a.isSelenium(content)) {
152
+ config.DEBUG && console.log("[INFO] aChecker.loadEngine detected Selenium");
153
+ try {
154
+ let browser = content;
155
+ let scriptStr;
156
+ if (ENGINE_LOAD_MODE === "REMOTE") {
157
+ scriptStr =
158
+ `let cb = arguments[arguments.length - 1];
159
+ try {
160
+ var ace_backup_in_ibma;
161
+ if ('undefined' !== typeof(ace)) {
162
+ if (!ace || !ace.Checker)
163
+ ace_backup_in_ibma = ace;
164
+ ace = null;
165
+ }
166
+ if ('undefined' === typeof (ace) || ace === null) {
167
+ let script = document.createElement('script');
168
+ script.setAttribute('type', 'text/javascript');
169
+ script.setAttribute('aChecker', 'ACE');
170
+ script.setAttribute('src', '${config.rulePack}/ace.js');
171
+ script.addEventListener('load', function() {
172
+ globalThis.ace_ibma = ace;
173
+ if ('undefined' !== typeof(ace)) {
174
+ ace = ace_backup_in_ibma;
175
+ }
176
+ cb();
177
+ });
178
+ let heads = document.getElementsByTagName('head');
179
+ if (heads.length > 0) { heads[0].appendChild(script); }
180
+ else { document.body.appendChild(script); }
181
+ } else {
182
+ cb();
183
+ }
184
+ } catch (e) {
185
+ cb(e);
186
+ }
187
+ `;
188
+ }
189
+ else if (ENGINE_LOAD_MODE === "INJECT") {
190
+ // Selenium
191
+ scriptStr =
192
+ `let cb = arguments[arguments.length - 1];
193
+ try {
194
+ var ace_backup_in_ibma;
195
+ if ('undefined' !== typeof(ace)) {
196
+ if (!ace || !ace.Checker)
197
+ ace_backup_in_ibma = ace;
198
+ ace = null;
199
+ }
200
+ if ('undefined' === typeof (ace) || ace === null) {
201
+ eval(${JSON.stringify(_a.engineContent)})
202
+ globalThis.ace_ibma = ace;
203
+ if ('undefined' !== typeof ace) {
204
+ ace = ace_backup_in_ibma;
205
+ }
206
+ cb();
207
+
208
+ } else {
209
+ cb();
210
+ }
211
+ } catch (e) {
212
+ cb(e);
213
+ }
214
+ `;
215
+ }
216
+ let manage = browser.manage();
217
+ if (manage.timeouts) {
218
+ manage.timeouts().setScriptTimeout(60000);
219
+ }
220
+ else if (manage.setTimeouts) {
221
+ manage.setTimeouts({
222
+ "script": 60000
223
+ });
224
+ }
225
+ return browser.executeAsyncScript(scriptStr).then(function (return_success) {
226
+ return _a.loadEngineLocal();
227
+ }).catch(function (err) {
228
+ console.log(err);
229
+ return Promise.reject(err);
230
+ });
231
+ }
232
+ catch (e) {
233
+ console.log(e);
234
+ return Promise.reject(e);
235
+ }
236
+ }
237
+ else if (_a.isWebDriverIO(content)) {
238
+ config.DEBUG && console.log("[INFO] aChecker.loadEngine detected WebDriverIO");
239
+ let page = content;
240
+ // ENGINE_LOAD_MODE = "REMOTE";
241
+ if (ENGINE_LOAD_MODE === "REMOTE") {
242
+ yield page.executeAsync((scriptUrl, done) => {
243
+ try {
244
+ var ace_backup_in_ibma;
245
+ if ('undefined' !== typeof (ace)) {
246
+ if (!ace || !ace.Checker)
247
+ ace_backup_in_ibma = ace;
248
+ ace = null;
249
+ }
250
+ if ('undefined' === typeof (ace) || ace === null) {
251
+ new Promise((resolve, reject) => {
252
+ let script = document.createElement('script');
253
+ script.setAttribute('type', 'text/javascript');
254
+ script.setAttribute('aChecker', 'ACE');
255
+ script.setAttribute('src', scriptUrl);
256
+ script.addEventListener('load', function () {
257
+ globalThis.ace_ibma = ace;
258
+ if ('undefined' !== typeof (ace)) {
259
+ ace = ace_backup_in_ibma;
260
+ }
261
+ resolve();
262
+ });
263
+ script.addEventListener('error', function (evt) {
264
+ reject(new Error(`Unable to load engine into ${document.location.href}. This can happen if the page server sets a Content-Security-Policy that prevents ${scriptUrl} from loading.`));
265
+ });
266
+ let heads = document.getElementsByTagName('head');
267
+ if (heads.length > 0) {
268
+ heads[0].appendChild(script);
206
269
  }
207
- if ('undefined' === typeof (ace) || ace === null) {
208
- new Promise(function (resolve, reject) {
209
- var script = document.createElement('script');
210
- script.setAttribute('type', 'text/javascript');
211
- script.setAttribute('aChecker', 'ACE');
212
- script.setAttribute('src', scriptUrl);
213
- script.addEventListener('load', function () {
214
- globalThis.ace_ibma = ace;
215
- if ('undefined' !== typeof (ace)) {
216
- ace = ace_backup_in_ibma;
217
- }
218
- resolve();
219
- });
220
- script.addEventListener('error', function (evt) {
221
- reject(new Error("Unable to load engine into ".concat(document.location.href, ". This can happen if the page server sets a Content-Security-Policy that prevents ").concat(scriptUrl, " from loading.")));
222
- });
223
- var heads = document.getElementsByTagName('head');
224
- if (heads.length > 0) {
225
- heads[0].appendChild(script);
226
- }
227
- else if (document.body) {
228
- document.body.appendChild(script);
229
- }
230
- else {
231
- Promise.reject("Invalid document");
232
- }
233
- }).then(done);
270
+ else if (document.body) {
271
+ document.body.appendChild(script);
234
272
  }
235
- }
236
- catch (e) {
237
- return Promise.reject(e);
238
- }
239
- }, "".concat(config.rulePack, "/ace.js"))];
240
- case 11:
241
- _c.sent();
242
- return [3 /*break*/, 14];
243
- case 12:
244
- if (!(ENGINE_LOAD_MODE === "INJECT")) return [3 /*break*/, 14];
245
- return [4 /*yield*/, page.executeAsync(function (engineContent, done) {
246
- try {
247
- var ace_backup_in_ibma;
248
- if ('undefined' !== typeof (ace)) {
249
- if (!ace || !ace.Checker)
250
- ace_backup_in_ibma = ace;
251
- ace = null;
273
+ else {
274
+ Promise.reject("Invalid document");
252
275
  }
253
- if ('undefined' === typeof (ace) || ace === null) {
254
- return new Promise(function (resolve, reject) {
255
- eval(engineContent);
256
- globalThis.ace_ibma = ace;
257
- if ('undefined' !== typeof (ace)) {
258
- ace = ace_backup_in_ibma;
259
- }
260
- resolve();
261
- }).then(done);
276
+ }).then(done);
277
+ }
278
+ }
279
+ catch (e) {
280
+ return Promise.reject(e);
281
+ }
282
+ }, `${config.rulePack}/ace.js`);
283
+ }
284
+ else if (ENGINE_LOAD_MODE === "INJECT") {
285
+ yield page.executeAsync((engineContent, done) => {
286
+ try {
287
+ var ace_backup_in_ibma;
288
+ if ('undefined' !== typeof (ace)) {
289
+ if (!ace || !ace.Checker)
290
+ ace_backup_in_ibma = ace;
291
+ ace = null;
292
+ }
293
+ if ('undefined' === typeof (ace) || ace === null) {
294
+ return new Promise((resolve, reject) => {
295
+ eval(engineContent);
296
+ globalThis.ace_ibma = ace;
297
+ if ('undefined' !== typeof (ace)) {
298
+ ace = ace_backup_in_ibma;
262
299
  }
263
- }
264
- catch (e) {
265
- return Promise.reject(e);
266
- }
267
- }, _a.engineContent)];
268
- case 13:
269
- _c.sent();
270
- _c.label = 14;
271
- case 14: return [2 /*return*/, _a.loadEngineLocal()];
272
- case 15:
273
- config.DEBUG && console.log("[INFO] aChecker.loadEngine detected local");
274
- if (globalThis.ace_ibma) {
275
- return [2 /*return*/, Promise.resolve()];
300
+ resolve();
301
+ }).then(done);
302
+ }
276
303
  }
277
- else {
278
- return [2 /*return*/, _a.loadEngineLocal()];
304
+ catch (e) {
305
+ return Promise.reject(e);
279
306
  }
280
- _c.label = 16;
281
- case 16: return [2 /*return*/];
307
+ }, _a.engineContent);
282
308
  }
283
- });
284
- });
285
- };
286
- ACEngineManager.loadEngineLocal = function () {
287
- return __awaiter(this, void 0, void 0, function () {
288
- var _this = this;
289
- return __generator(this, function (_b) {
309
+ return _a.loadEngineLocal();
310
+ }
311
+ else {
312
+ config.DEBUG && console.log("[INFO] aChecker.loadEngine detected local");
290
313
  if (globalThis.ace_ibma) {
291
- return [2 /*return*/, Promise.resolve()];
314
+ return Promise.resolve();
292
315
  }
293
- if (!_a.localLoadPromise) {
294
- _a.localLoadPromise = new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
295
- var config, data, engineDir, fileSuffix, nodePath, ace_ibma;
296
- return __generator(this, function (_b) {
297
- switch (_b.label) {
298
- case 0: return [4 /*yield*/, ACConfigManager_js_1.ACConfigManager.getConfigUnsupported()];
299
- case 1:
300
- config = _b.sent();
301
- return [4 /*yield*/, (0, Fetch_js_1.fetch_get_text)("".concat(config.rulePack, "/ace-node.js"))];
302
- case 2:
303
- data = _b.sent();
304
- engineDir = path.join(path.resolve(config.cacheFolder), "engine");
305
- if (!fs.existsSync(engineDir)) {
306
- fs.mkdirSync(engineDir, { recursive: true });
307
- }
308
- fileSuffix = "";
309
- if (!config.toolVersion) {
310
- fileSuffix = config.ruleArchiveVersion;
311
- }
312
- else {
313
- fileSuffix = "".concat(config.toolVersion, "-").concat(config.ruleArchiveVersion);
314
- }
315
- fileSuffix = fileSuffix.replace(/\./g, "_");
316
- nodePath = path.join(engineDir, "ace-node-".concat(fileSuffix));
317
- if (fs.existsSync("".concat(nodePath, ".js"))) {
318
- ace_ibma = require(nodePath);
316
+ else {
317
+ return _a.loadEngineLocal();
318
+ }
319
+ }
320
+ });
321
+ }
322
+ static loadEngineLocal() {
323
+ return __awaiter(this, void 0, void 0, function* () {
324
+ if (globalThis.ace_ibma) {
325
+ return Promise.resolve();
326
+ }
327
+ if (!_a.localLoadPromise) {
328
+ _a.localLoadPromise = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
329
+ let config = yield ACConfigManager_js_1.ACConfigManager.getConfigUnsupported();
330
+ const data = yield (0, Fetch_js_1.fetch_get_text)(`${config.rulePack}/ace-node.js`);
331
+ let engineDir = path.join(path.resolve(config.cacheFolder), "engine");
332
+ if (!fs.existsSync(engineDir)) {
333
+ fs.mkdirSync(engineDir, { recursive: true });
334
+ }
335
+ let fileSuffix = "";
336
+ if (!config.toolVersion) {
337
+ fileSuffix = config.ruleArchiveVersion;
338
+ }
339
+ else {
340
+ fileSuffix = `${config.toolVersion}-${config.ruleArchiveVersion}`;
341
+ }
342
+ fileSuffix = fileSuffix.replace(/\./g, "_");
343
+ const nodePath = path.join(engineDir, `ace-node-${fileSuffix}`);
344
+ if (fs.existsSync(`${nodePath}.js`)) {
345
+ const ace_ibma = require(nodePath);
346
+ checker = new ace_ibma.Checker();
347
+ return resolve();
348
+ }
349
+ else {
350
+ fs.writeFile(nodePath + ".js", data, function (err) {
351
+ return __awaiter(this, void 0, void 0, function* () {
352
+ if (err) {
353
+ console.log(err);
354
+ reject(err);
355
+ }
356
+ else {
357
+ try {
358
+ const ace_ibma = require(nodePath);
319
359
  checker = new ace_ibma.Checker();
320
- return [2 /*return*/, resolve()];
360
+ resolve();
321
361
  }
322
- else {
323
- fs.writeFile(nodePath + ".js", data, function (err) {
324
- if (err) {
325
- console.log(err);
326
- reject(err);
327
- }
328
- else {
329
- try {
330
- var ace_ibma = require(nodePath);
331
- checker = new ace_ibma.Checker();
332
- resolve();
333
- }
334
- catch (e) {
335
- console.log(e);
336
- reject(e);
337
- }
338
- }
339
- });
362
+ catch (e) {
363
+ console.log(e);
364
+ reject(e);
340
365
  }
341
- return [2 /*return*/];
342
- }
366
+ }
367
+ });
343
368
  });
344
- }); });
345
- }
346
- return [2 /*return*/, _a.localLoadPromise];
347
- });
369
+ }
370
+ }));
371
+ }
372
+ return _a.localLoadPromise;
348
373
  });
349
- };
350
- ACEngineManager.isPuppeteer = function (content) {
374
+ }
375
+ static isPuppeteer(content) {
351
376
  if (content && content.constructor) {
352
377
  return !!content.constructor.toString().match(/Function: Page/)
353
378
  || content.constructor.toString().includes("Puppeteer");
354
379
  }
355
380
  return false;
356
- };
357
- ACEngineManager.isPlaywright = function (content) {
381
+ }
382
+ static isPlaywright(content) {
358
383
  if (content && content.constructor) {
359
384
  return !!content.constructor.toString().match(/class Page /);
360
385
  }
361
386
  return false;
362
- };
363
- ACEngineManager.isSelenium = function (content) {
387
+ }
388
+ static isSelenium(content) {
364
389
  if (content && content.constructor) {
365
390
  return content.constructor.toString().indexOf("Driver") !== -1 ||
366
391
  // check required for selenium >= 3.0.1
367
392
  (content.constructor.name && content.constructor.name.indexOf("Driver") !== -1);
368
393
  }
369
394
  return false;
370
- };
371
- ACEngineManager.isWebDriverIO = function (content) {
395
+ }
396
+ static isWebDriverIO(content) {
372
397
  if (content && content.constructor) {
373
398
  return content.constructor.toString().indexOf("Browser") !== -1;
374
399
  }
375
400
  return false;
376
- };
377
- ACEngineManager.getChecker = function () {
401
+ }
402
+ static getChecker() {
378
403
  return checker;
379
- };
380
- ACEngineManager.loadChecker = function () {
381
- return __awaiter(this, void 0, void 0, function () {
382
- return __generator(this, function (_b) {
383
- switch (_b.label) {
384
- case 0:
385
- if (!!checker) return [3 /*break*/, 2];
386
- return [4 /*yield*/, _a.loadEngineLocal()];
387
- case 1:
388
- _b.sent();
389
- _b.label = 2;
390
- case 2: return [2 /*return*/, checker];
391
- }
392
- });
393
- });
394
- };
395
- var _a;
396
- _a = ACEngineManager;
397
- ACEngineManager.customRulesets = [];
398
- ACEngineManager.engineContent = null;
399
- ACEngineManager.localLoadPromise = null;
400
- ACEngineManager.addRuleset = function (ruleset) {
401
- _a.customRulesets.push(ruleset);
402
- };
403
- ACEngineManager.getRuleset = function (rsId) { return __awaiter(void 0, void 0, void 0, function () {
404
- return __generator(_a, function (_b) {
405
- switch (_b.label) {
406
- case 0:
407
- if (!!checker) return [3 /*break*/, 2];
408
- return [4 /*yield*/, _a.loadEngineLocal()];
409
- case 1:
410
- _b.sent();
411
- _b.label = 2;
412
- case 2: return [2 /*return*/, _a.customRulesets.concat(checker.getGuidelines()).filter((function (rs) { return rs.id === rsId; }))[0]];
404
+ }
405
+ static loadChecker() {
406
+ return __awaiter(this, void 0, void 0, function* () {
407
+ if (!checker) {
408
+ yield _a.loadEngineLocal();
413
409
  }
410
+ return checker;
414
411
  });
415
- }); };
416
- ACEngineManager.getRulesets = function () {
417
- return __awaiter(this, void 0, void 0, function () {
418
- return __generator(this, function (_b) {
419
- switch (_b.label) {
420
- case 0:
421
- if (!!checker) return [3 /*break*/, 2];
422
- return [4 /*yield*/, _a.loadEngineLocal()];
423
- case 1:
424
- _b.sent();
425
- _b.label = 2;
426
- case 2: return [2 /*return*/, _a.customRulesets.concat(checker.getGuidelines())];
427
- }
428
- });
429
- });
430
- };
431
- ACEngineManager.getRules = function () {
432
- return __awaiter(this, void 0, void 0, function () {
433
- var retVal, ruleId;
434
- return __generator(this, function (_b) {
435
- switch (_b.label) {
436
- case 0:
437
- if (!!checker) return [3 /*break*/, 2];
438
- return [4 /*yield*/, _a.loadEngineLocal()];
439
- case 1:
440
- _b.sent();
441
- _b.label = 2;
442
- case 2:
443
- retVal = [];
444
- for (ruleId in checker.engine.ruleMap) {
445
- retVal.push(checker.engine.ruleMap[ruleId]);
446
- }
447
- return [2 /*return*/, retVal];
448
- }
449
- });
450
- });
451
- };
452
- ACEngineManager.getRulesSync = function () {
453
- if (!checker)
454
- return null;
455
- var retVal = [];
456
- for (var ruleId in checker.engine.ruleMap) {
412
+ }
413
+ }
414
+ exports.ACEngineManager = ACEngineManager;
415
+ _a = ACEngineManager;
416
+ ACEngineManager.customRulesets = [];
417
+ ACEngineManager.engineContent = null;
418
+ ACEngineManager.localLoadPromise = null;
419
+ ACEngineManager.addRuleset = (ruleset) => {
420
+ _a.customRulesets.push(ruleset);
421
+ };
422
+ ACEngineManager.getRuleset = (rsId) => __awaiter(void 0, void 0, void 0, function* () {
423
+ if (!checker) {
424
+ yield _a.loadEngineLocal();
425
+ }
426
+ return _a.customRulesets.concat(checker.getGuidelines()).filter((function (rs) { return rs.id === rsId; }))[0];
427
+ });
428
+ ACEngineManager.getRulesets = function () {
429
+ return __awaiter(this, void 0, void 0, function* () {
430
+ if (!checker) {
431
+ yield _a.loadEngineLocal();
432
+ }
433
+ return _a.customRulesets.concat(checker.getGuidelines());
434
+ });
435
+ };
436
+ ACEngineManager.getRules = function () {
437
+ return __awaiter(this, void 0, void 0, function* () {
438
+ if (!checker) {
439
+ yield _a.loadEngineLocal();
440
+ }
441
+ let retVal = [];
442
+ for (const ruleId in checker.engine.ruleMap) {
457
443
  retVal.push(checker.engine.ruleMap[ruleId]);
458
444
  }
459
445
  return retVal;
460
- };
461
- return ACEngineManager;
462
- }());
463
- exports.ACEngineManager = ACEngineManager;
446
+ });
447
+ };
448
+ ACEngineManager.getRulesSync = function () {
449
+ if (!checker)
450
+ return null;
451
+ let retVal = [];
452
+ for (const ruleId in checker.engine.ruleMap) {
453
+ retVal.push(checker.engine.ruleMap[ruleId]);
454
+ }
455
+ return retVal;
456
+ };
464
457
  //# sourceMappingURL=ACEngineManager.js.map