accessibility-checker 4.0.1 → 4.0.3

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 +449 -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 +389 -404
  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 +391 -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,409 @@ 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
+ const promises_1 = require("fs/promises");
52
+ // The following two lines will be modified by sed for cjs vs mjs environments. Look at package.json before modifying
53
+ // import { createRequire } from "module";
54
+ // const require = createRequire(import.meta.url);
55
+ let ace;
56
+ let checker;
57
+ class ACEngineManager {
58
+ static loadEngine(content) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ let config = yield ACConfigManager_js_1.ACConfigManager.getConfigUnsupported();
61
+ let ENGINE_LOAD_MODE = config.engineMode;
62
+ if (ENGINE_LOAD_MODE === "DEFAULT") {
63
+ // ENGINE_LOAD_MODE = "REMOTE";
64
+ ENGINE_LOAD_MODE = "INJECT";
65
+ }
66
+ if (ENGINE_LOAD_MODE === "INJECT" && !_a.engineContent) {
67
+ _a.engineContent = yield (0, Fetch_js_1.fetch_get_text)(`${config.rulePack}/ace.js`);
68
+ }
69
+ if (_a.isPuppeteer(content) || _a.isPlaywright(content)) {
70
+ config.DEBUG && console.log("[INFO] aChecker.loadEngine detected Puppeteer/Playwright");
71
+ let page = content;
72
+ if (ENGINE_LOAD_MODE === "REMOTE") {
73
+ config.DEBUG && console.log("[INFO] engineMode REMOTE");
74
+ yield page.evaluate((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;
123
81
  }
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;
82
+ if ('undefined' === typeof (ace) || ace === null) {
83
+ return new Promise((resolve, reject) => {
84
+ let 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 ${document.location.href}. This can happen if the page server sets a Content-Security-Policy that prevents ${scriptUrl} from loading.`));
97
+ });
98
+ let heads = document.getElementsByTagName('head');
99
+ if (heads.length > 0) {
100
+ heads[0].appendChild(script);
137
101
  }
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
- });
102
+ else if (document.body) {
103
+ document.body.appendChild(script);
104
+ }
105
+ else {
106
+ Promise.reject("Invalid document");
147
107
  }
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 ");
174
- }
175
- manage = browser.manage();
176
- if (manage.timeouts) {
177
- manage.timeouts().setScriptTimeout(60000);
178
- }
179
- else if (manage.setTimeouts) {
180
- manage.setTimeouts({
181
- "script": 60000
182
108
  });
183
109
  }
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
110
  }
190
111
  catch (e) {
191
- console.log(e);
112
+ return Promise.reject(e);
192
113
  }
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;
206
- }
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);
234
- }
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;
252
- }
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);
114
+ }, `${config.rulePack}/ace.js`);
115
+ }
116
+ else if (ENGINE_LOAD_MODE === "INJECT") {
117
+ config.DEBUG && console.log("[INFO] engineMode INJECT");
118
+ let aceAlreadyExists = yield page.evaluate(() => { try {
119
+ return 'undefined' !== typeof (ace);
120
+ }
121
+ catch (e) {
122
+ return false;
123
+ } });
124
+ yield page.evaluate(({ engineContent, aceAlreadyExists }) => {
125
+ try {
126
+ var ace_backup_in_ibma;
127
+ if (aceAlreadyExists) {
128
+ if (!ace || !ace.Checker)
129
+ ace_backup_in_ibma = ace;
130
+ ace = null;
131
+ }
132
+ if (!aceAlreadyExists || ace === null) {
133
+ return new Promise((resolve, reject) => {
134
+ eval(engineContent);
135
+ globalThis.ace_ibma = ace;
136
+ if (aceAlreadyExists) {
137
+ ace = ace_backup_in_ibma;
262
138
  }
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()];
139
+ resolve();
140
+ });
141
+ }
276
142
  }
277
- else {
278
- return [2 /*return*/, _a.loadEngineLocal()];
143
+ catch (e) {
144
+ return Promise.reject(e);
279
145
  }
280
- _c.label = 16;
281
- case 16: return [2 /*return*/];
146
+ }, {
147
+ engineContent: _a.engineContent, aceAlreadyExists
148
+ });
282
149
  }
150
+ return _a.loadEngineLocal();
151
+ }
152
+ else if (_a.isSelenium(content)) {
153
+ config.DEBUG && console.log("[INFO] aChecker.loadEngine detected Selenium");
154
+ try {
155
+ let browser = content;
156
+ let scriptStr;
157
+ if (ENGINE_LOAD_MODE === "REMOTE") {
158
+ scriptStr =
159
+ `let cb = arguments[arguments.length - 1];
160
+ try {
161
+ var ace_backup_in_ibma;
162
+ if ('undefined' !== typeof(ace)) {
163
+ if (!ace || !ace.Checker)
164
+ ace_backup_in_ibma = ace;
165
+ ace = null;
166
+ }
167
+ if ('undefined' === typeof (ace) || ace === null) {
168
+ let script = document.createElement('script');
169
+ script.setAttribute('type', 'text/javascript');
170
+ script.setAttribute('aChecker', 'ACE');
171
+ script.setAttribute('src', '${config.rulePack}/ace.js');
172
+ script.addEventListener('load', function() {
173
+ globalThis.ace_ibma = ace;
174
+ if ('undefined' !== typeof(ace)) {
175
+ ace = ace_backup_in_ibma;
176
+ }
177
+ cb();
283
178
  });
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) {
290
- if (globalThis.ace_ibma) {
291
- return [2 /*return*/, Promise.resolve()];
179
+ let heads = document.getElementsByTagName('head');
180
+ if (heads.length > 0) { heads[0].appendChild(script); }
181
+ else { document.body.appendChild(script); }
182
+ } else {
183
+ cb();
184
+ }
185
+ } catch (e) {
186
+ cb(e);
187
+ }
188
+ `;
189
+ }
190
+ else if (ENGINE_LOAD_MODE === "INJECT") {
191
+ // Selenium
192
+ scriptStr =
193
+ `let cb = arguments[arguments.length - 1];
194
+ try {
195
+ var ace_backup_in_ibma;
196
+ if ('undefined' !== typeof(ace)) {
197
+ if (!ace || !ace.Checker)
198
+ ace_backup_in_ibma = ace;
199
+ ace = null;
200
+ }
201
+ if ('undefined' === typeof (ace) || ace === null) {
202
+ eval(${JSON.stringify(_a.engineContent)})
203
+ globalThis.ace_ibma = ace;
204
+ if ('undefined' !== typeof ace) {
205
+ ace = ace_backup_in_ibma;
206
+ }
207
+ cb();
208
+
209
+ } else {
210
+ cb();
211
+ }
212
+ } catch (e) {
213
+ cb(e);
214
+ }
215
+ `;
216
+ }
217
+ let manage = browser.manage();
218
+ if (manage.timeouts) {
219
+ manage.timeouts().setScriptTimeout(60000);
220
+ }
221
+ else if (manage.setTimeouts) {
222
+ manage.setTimeouts({
223
+ "script": 60000
224
+ });
225
+ }
226
+ return browser.executeAsyncScript(scriptStr).then(function (return_success) {
227
+ return _a.loadEngineLocal();
228
+ }).catch(function (err) {
229
+ console.log(err);
230
+ return Promise.reject(err);
231
+ });
232
+ }
233
+ catch (e) {
234
+ console.log(e);
235
+ return Promise.reject(e);
292
236
  }
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 });
237
+ }
238
+ else if (_a.isWebDriverIO(content)) {
239
+ config.DEBUG && console.log("[INFO] aChecker.loadEngine detected WebDriverIO");
240
+ let page = content;
241
+ // ENGINE_LOAD_MODE = "REMOTE";
242
+ if (ENGINE_LOAD_MODE === "REMOTE") {
243
+ yield page.executeAsync((scriptUrl, done) => {
244
+ try {
245
+ var ace_backup_in_ibma;
246
+ if ('undefined' !== typeof (ace)) {
247
+ if (!ace || !ace.Checker)
248
+ ace_backup_in_ibma = ace;
249
+ ace = null;
250
+ }
251
+ if ('undefined' === typeof (ace) || ace === null) {
252
+ new Promise((resolve, reject) => {
253
+ let script = document.createElement('script');
254
+ script.setAttribute('type', 'text/javascript');
255
+ script.setAttribute('aChecker', 'ACE');
256
+ script.setAttribute('src', scriptUrl);
257
+ script.addEventListener('load', function () {
258
+ globalThis.ace_ibma = ace;
259
+ if ('undefined' !== typeof (ace)) {
260
+ ace = ace_backup_in_ibma;
261
+ }
262
+ resolve();
263
+ });
264
+ script.addEventListener('error', function (evt) {
265
+ 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.`));
266
+ });
267
+ let heads = document.getElementsByTagName('head');
268
+ if (heads.length > 0) {
269
+ heads[0].appendChild(script);
307
270
  }
308
- fileSuffix = "";
309
- if (!config.toolVersion) {
310
- fileSuffix = config.ruleArchiveVersion;
271
+ else if (document.body) {
272
+ document.body.appendChild(script);
311
273
  }
312
274
  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);
319
- checker = new ace_ibma.Checker();
320
- return [2 /*return*/, resolve()];
275
+ Promise.reject("Invalid document");
321
276
  }
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
- });
277
+ }).then(done);
278
+ }
279
+ }
280
+ catch (e) {
281
+ return Promise.reject(e);
282
+ }
283
+ }, `${config.rulePack}/ace.js`);
284
+ }
285
+ else if (ENGINE_LOAD_MODE === "INJECT") {
286
+ yield page.executeAsync((engineContent, done) => {
287
+ try {
288
+ var ace_backup_in_ibma;
289
+ if ('undefined' !== typeof (ace)) {
290
+ if (!ace || !ace.Checker)
291
+ ace_backup_in_ibma = ace;
292
+ ace = null;
293
+ }
294
+ if ('undefined' === typeof (ace) || ace === null) {
295
+ return new Promise((resolve, reject) => {
296
+ eval(engineContent);
297
+ globalThis.ace_ibma = ace;
298
+ if ('undefined' !== typeof (ace)) {
299
+ ace = ace_backup_in_ibma;
340
300
  }
341
- return [2 /*return*/];
301
+ resolve();
302
+ }).then(done);
342
303
  }
343
- });
344
- }); });
304
+ }
305
+ catch (e) {
306
+ return Promise.reject(e);
307
+ }
308
+ }, _a.engineContent);
345
309
  }
346
- return [2 /*return*/, _a.localLoadPromise];
347
- });
310
+ return _a.loadEngineLocal();
311
+ }
312
+ else {
313
+ config.DEBUG && console.log("[INFO] aChecker.loadEngine detected local");
314
+ if (globalThis.ace_ibma) {
315
+ return Promise.resolve();
316
+ }
317
+ else {
318
+ return _a.loadEngineLocal();
319
+ }
320
+ }
348
321
  });
349
- };
350
- ACEngineManager.isPuppeteer = function (content) {
322
+ }
323
+ static loadEngineLocal() {
324
+ return __awaiter(this, void 0, void 0, function* () {
325
+ if (globalThis.ace_ibma) {
326
+ return Promise.resolve();
327
+ }
328
+ if (!_a.localLoadPromise) {
329
+ _a.localLoadPromise = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
330
+ let config = yield ACConfigManager_js_1.ACConfigManager.getConfigUnsupported();
331
+ const data = yield (0, Fetch_js_1.fetch_get_text)(`${config.rulePack}/ace-node.js`);
332
+ let engineDir = path.join(path.resolve(config.cacheFolder), "engine");
333
+ if (!fs.existsSync(engineDir)) {
334
+ fs.mkdirSync(engineDir, { recursive: true });
335
+ }
336
+ let fileSuffix = "";
337
+ if (!config.toolVersion) {
338
+ fileSuffix = config.ruleArchiveVersion;
339
+ }
340
+ else {
341
+ fileSuffix = `${config.toolVersion}-${config.ruleArchiveVersion}`;
342
+ }
343
+ fileSuffix = fileSuffix.replace(/\./g, "_");
344
+ const nodePath = path.join(engineDir, `ace-node-${fileSuffix}`);
345
+ if (fs.existsSync(`${nodePath}.js`)) {
346
+ const ace_ibma = require(nodePath);
347
+ checker = new ace_ibma.Checker();
348
+ return resolve();
349
+ }
350
+ else {
351
+ try {
352
+ yield (0, promises_1.writeFile)(nodePath + ".js", data, { flush: true });
353
+ const ace_ibma = require(nodePath);
354
+ checker = new ace_ibma.Checker();
355
+ resolve();
356
+ }
357
+ catch (err) {
358
+ console.log(err);
359
+ reject(err);
360
+ }
361
+ }
362
+ }));
363
+ }
364
+ return _a.localLoadPromise;
365
+ });
366
+ }
367
+ static isPuppeteer(content) {
351
368
  if (content && content.constructor) {
352
369
  return !!content.constructor.toString().match(/Function: Page/)
353
370
  || content.constructor.toString().includes("Puppeteer");
354
371
  }
355
372
  return false;
356
- };
357
- ACEngineManager.isPlaywright = function (content) {
373
+ }
374
+ static isPlaywright(content) {
358
375
  if (content && content.constructor) {
359
376
  return !!content.constructor.toString().match(/class Page /);
360
377
  }
361
378
  return false;
362
- };
363
- ACEngineManager.isSelenium = function (content) {
379
+ }
380
+ static isSelenium(content) {
364
381
  if (content && content.constructor) {
365
382
  return content.constructor.toString().indexOf("Driver") !== -1 ||
366
383
  // check required for selenium >= 3.0.1
367
384
  (content.constructor.name && content.constructor.name.indexOf("Driver") !== -1);
368
385
  }
369
386
  return false;
370
- };
371
- ACEngineManager.isWebDriverIO = function (content) {
387
+ }
388
+ static isWebDriverIO(content) {
372
389
  if (content && content.constructor) {
373
390
  return content.constructor.toString().indexOf("Browser") !== -1;
374
391
  }
375
392
  return false;
376
- };
377
- ACEngineManager.getChecker = function () {
393
+ }
394
+ static getChecker() {
378
395
  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]];
396
+ }
397
+ static loadChecker() {
398
+ return __awaiter(this, void 0, void 0, function* () {
399
+ if (!checker) {
400
+ yield _a.loadEngineLocal();
413
401
  }
402
+ return checker;
414
403
  });
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) {
404
+ }
405
+ }
406
+ exports.ACEngineManager = ACEngineManager;
407
+ _a = ACEngineManager;
408
+ ACEngineManager.customRulesets = [];
409
+ ACEngineManager.engineContent = null;
410
+ ACEngineManager.localLoadPromise = null;
411
+ ACEngineManager.addRuleset = (ruleset) => {
412
+ _a.customRulesets.push(ruleset);
413
+ };
414
+ ACEngineManager.getRuleset = (rsId) => __awaiter(void 0, void 0, void 0, function* () {
415
+ if (!checker) {
416
+ yield _a.loadEngineLocal();
417
+ }
418
+ return _a.customRulesets.concat(checker.getGuidelines()).filter((function (rs) { return rs.id === rsId; }))[0];
419
+ });
420
+ ACEngineManager.getRulesets = function () {
421
+ return __awaiter(this, void 0, void 0, function* () {
422
+ if (!checker) {
423
+ yield _a.loadEngineLocal();
424
+ }
425
+ return _a.customRulesets.concat(checker.getGuidelines());
426
+ });
427
+ };
428
+ ACEngineManager.getRules = function () {
429
+ return __awaiter(this, void 0, void 0, function* () {
430
+ if (!checker) {
431
+ yield _a.loadEngineLocal();
432
+ }
433
+ let retVal = [];
434
+ for (const ruleId in checker.engine.ruleMap) {
457
435
  retVal.push(checker.engine.ruleMap[ruleId]);
458
436
  }
459
437
  return retVal;
460
- };
461
- return ACEngineManager;
462
- }());
463
- exports.ACEngineManager = ACEngineManager;
438
+ });
439
+ };
440
+ ACEngineManager.getRulesSync = function () {
441
+ if (!checker)
442
+ return null;
443
+ let retVal = [];
444
+ for (const ruleId in checker.engine.ruleMap) {
445
+ retVal.push(checker.engine.ruleMap[ruleId]);
446
+ }
447
+ return retVal;
448
+ };
464
449
  //# sourceMappingURL=ACEngineManager.js.map