@loadmill/executer 0.1.143 → 0.1.145

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 (159) hide show
  1. package/dist/post-script/post-script-executor.js +6 -2
  2. package/dist/post-script/post-script-executor.js.map +1 -1
  3. package/dist/redact-data.js +1 -1
  4. package/dist/redact-data.js.map +1 -1
  5. package/dist/request-stats.d.ts +2 -1
  6. package/dist/request-stats.js +4 -4
  7. package/dist/request-stats.js.map +1 -1
  8. package/dist/sampler.js +2 -1
  9. package/dist/sampler.js.map +1 -1
  10. package/dist/sequence.js +9 -5
  11. package/dist/sequence.js.map +1 -1
  12. package/package.json +3 -3
  13. package/dist/post-script/ast-walker/index.d.ts +0 -18
  14. package/dist/post-script/ast-walker/index.js +0 -215
  15. package/dist/post-script/ast-walker/index.js.map +0 -1
  16. package/dist/post-script/ast-walker/type-guard.d.ts +0 -11
  17. package/dist/post-script/ast-walker/type-guard.js +0 -56
  18. package/dist/post-script/ast-walker/type-guard.js.map +0 -1
  19. package/dist/post-script/ast-walker/types.d.ts +0 -24
  20. package/dist/post-script/ast-walker/types.js +0 -25
  21. package/dist/post-script/ast-walker/types.js.map +0 -1
  22. package/dist/post-script/parser/acorn-js-parser.d.ts +0 -5
  23. package/dist/post-script/parser/acorn-js-parser.js +0 -20
  24. package/dist/post-script/parser/acorn-js-parser.js.map +0 -1
  25. package/dist/post-script/parser/js-parser.d.ts +0 -16
  26. package/dist/post-script/parser/js-parser.js +0 -3
  27. package/dist/post-script/parser/js-parser.js.map +0 -1
  28. package/dist/post-script/parser/parser.d.ts +0 -6
  29. package/dist/post-script/parser/parser.js +0 -3
  30. package/dist/post-script/parser/parser.js.map +0 -1
  31. package/package/dist/asserter.d.ts +0 -9
  32. package/package/dist/asserter.js +0 -158
  33. package/package/dist/asserter.js.map +0 -1
  34. package/package/dist/constants.d.ts +0 -7
  35. package/package/dist/constants.js +0 -13
  36. package/package/dist/constants.js.map +0 -1
  37. package/package/dist/cookies.d.ts +0 -4
  38. package/package/dist/cookies.js +0 -79
  39. package/package/dist/cookies.js.map +0 -1
  40. package/package/dist/errors.d.ts +0 -5
  41. package/package/dist/errors.js +0 -38
  42. package/package/dist/errors.js.map +0 -1
  43. package/package/dist/extraction-combiner.d.ts +0 -17
  44. package/package/dist/extraction-combiner.js +0 -182
  45. package/package/dist/extraction-combiner.js.map +0 -1
  46. package/package/dist/failures.d.ts +0 -24
  47. package/package/dist/failures.js +0 -67
  48. package/package/dist/failures.js.map +0 -1
  49. package/package/dist/grpc.d.ts +0 -34
  50. package/package/dist/grpc.js +0 -269
  51. package/package/dist/grpc.js.map +0 -1
  52. package/package/dist/iteration-stats.d.ts +0 -2
  53. package/package/dist/iteration-stats.js +0 -38
  54. package/package/dist/iteration-stats.js.map +0 -1
  55. package/package/dist/message-creators.d.ts +0 -31
  56. package/package/dist/message-creators.js +0 -90
  57. package/package/dist/message-creators.js.map +0 -1
  58. package/package/dist/mill-info.d.ts +0 -70
  59. package/package/dist/mill-info.js +0 -3
  60. package/package/dist/mill-info.js.map +0 -1
  61. package/package/dist/mill-version.d.ts +0 -6
  62. package/package/dist/mill-version.js +0 -10
  63. package/package/dist/mill-version.js.map +0 -1
  64. package/package/dist/parameter-pools.d.ts +0 -3
  65. package/package/dist/parameter-pools.js +0 -69
  66. package/package/dist/parameter-pools.js.map +0 -1
  67. package/package/dist/performance.d.ts +0 -1
  68. package/package/dist/performance.js +0 -10
  69. package/package/dist/performance.js.map +0 -1
  70. package/package/dist/post-script/ast-walker/index.d.ts +0 -18
  71. package/package/dist/post-script/ast-walker/index.js +0 -215
  72. package/package/dist/post-script/ast-walker/index.js.map +0 -1
  73. package/package/dist/post-script/ast-walker/type-guard.d.ts +0 -11
  74. package/package/dist/post-script/ast-walker/type-guard.js +0 -56
  75. package/package/dist/post-script/ast-walker/type-guard.js.map +0 -1
  76. package/package/dist/post-script/ast-walker/types.d.ts +0 -24
  77. package/package/dist/post-script/ast-walker/types.js +0 -25
  78. package/package/dist/post-script/ast-walker/types.js.map +0 -1
  79. package/package/dist/post-script/console-log.d.ts +0 -7
  80. package/package/dist/post-script/console-log.js +0 -31
  81. package/package/dist/post-script/console-log.js.map +0 -1
  82. package/package/dist/post-script/constants.d.ts +0 -4
  83. package/package/dist/post-script/constants.js +0 -9
  84. package/package/dist/post-script/constants.js.map +0 -1
  85. package/package/dist/post-script/parser/acorn-js-parser.d.ts +0 -5
  86. package/package/dist/post-script/parser/acorn-js-parser.js +0 -20
  87. package/package/dist/post-script/parser/acorn-js-parser.js.map +0 -1
  88. package/package/dist/post-script/parser/js-parser.d.ts +0 -16
  89. package/package/dist/post-script/parser/js-parser.js +0 -3
  90. package/package/dist/post-script/parser/js-parser.js.map +0 -1
  91. package/package/dist/post-script/parser/parser.d.ts +0 -6
  92. package/package/dist/post-script/parser/parser.js +0 -3
  93. package/package/dist/post-script/parser/parser.js.map +0 -1
  94. package/package/dist/post-script/post-script-executor.d.ts +0 -24
  95. package/package/dist/post-script/post-script-executor.js +0 -125
  96. package/package/dist/post-script/post-script-executor.js.map +0 -1
  97. package/package/dist/post-script/virtual-machine/virtual-machine.d.ts +0 -13
  98. package/package/dist/post-script/virtual-machine/virtual-machine.js +0 -3
  99. package/package/dist/post-script/virtual-machine/virtual-machine.js.map +0 -1
  100. package/package/dist/post-script/virtual-machine/vm2-virtual-machine.d.ts +0 -12
  101. package/package/dist/post-script/virtual-machine/vm2-virtual-machine.js +0 -81
  102. package/package/dist/post-script/virtual-machine/vm2-virtual-machine.js.map +0 -1
  103. package/package/dist/post-sequence.d.ts +0 -2
  104. package/package/dist/post-sequence.js +0 -192
  105. package/package/dist/post-sequence.js.map +0 -1
  106. package/package/dist/redact-data.d.ts +0 -2
  107. package/package/dist/redact-data.js +0 -60
  108. package/package/dist/redact-data.js.map +0 -1
  109. package/package/dist/report-types.d.ts +0 -102
  110. package/package/dist/report-types.js +0 -11
  111. package/package/dist/report-types.js.map +0 -1
  112. package/package/dist/request-sequence-result.d.ts +0 -37
  113. package/package/dist/request-sequence-result.js +0 -19
  114. package/package/dist/request-sequence-result.js.map +0 -1
  115. package/package/dist/request-stats.d.ts +0 -13
  116. package/package/dist/request-stats.js +0 -14
  117. package/package/dist/request-stats.js.map +0 -1
  118. package/package/dist/res-keeper.d.ts +0 -16
  119. package/package/dist/res-keeper.js +0 -104
  120. package/package/dist/res-keeper.js.map +0 -1
  121. package/package/dist/sampler.d.ts +0 -29
  122. package/package/dist/sampler.js +0 -276
  123. package/package/dist/sampler.js.map +0 -1
  124. package/package/dist/sequence-executor-like.d.ts +0 -23
  125. package/package/dist/sequence-executor-like.js +0 -3
  126. package/package/dist/sequence-executor-like.js.map +0 -1
  127. package/package/dist/sequence.d.ts +0 -16
  128. package/package/dist/sequence.js +0 -1738
  129. package/package/dist/sequence.js.map +0 -1
  130. package/package/dist/single-runner.d.ts +0 -29
  131. package/package/dist/single-runner.js +0 -147
  132. package/package/dist/single-runner.js.map +0 -1
  133. package/package/dist/step-handlers/code-step-handler.d.ts +0 -12
  134. package/package/dist/step-handlers/code-step-handler.js +0 -93
  135. package/package/dist/step-handlers/code-step-handler.js.map +0 -1
  136. package/package/dist/step-handlers/extract-step-handler.d.ts +0 -12
  137. package/package/dist/step-handlers/extract-step-handler.js +0 -101
  138. package/package/dist/step-handlers/extract-step-handler.js.map +0 -1
  139. package/package/dist/step-handlers/request-step-handler.d.ts +0 -13
  140. package/package/dist/step-handlers/request-step-handler.js +0 -94
  141. package/package/dist/step-handlers/request-step-handler.js.map +0 -1
  142. package/package/dist/step-handlers/step-handler.d.ts +0 -11
  143. package/package/dist/step-handlers/step-handler.js +0 -3
  144. package/package/dist/step-handlers/step-handler.js.map +0 -1
  145. package/package/dist/test-run-event-emitter.d.ts +0 -15
  146. package/package/dist/test-run-event-emitter.js +0 -36
  147. package/package/dist/test-run-event-emitter.js.map +0 -1
  148. package/package/dist/types/grpc.d.ts +0 -14
  149. package/package/dist/types/grpc.js +0 -3
  150. package/package/dist/types/grpc.js.map +0 -1
  151. package/package/dist/utils.d.ts +0 -3
  152. package/package/dist/utils.js +0 -32
  153. package/package/dist/utils.js.map +0 -1
  154. package/package/dist/work.d.ts +0 -15
  155. package/package/dist/work.js +0 -3
  156. package/package/dist/work.js.map +0 -1
  157. package/package/dist/ws.d.ts +0 -71
  158. package/package/dist/ws.js +0 -474
  159. package/package/dist/ws.js.map +0 -1
@@ -1,31 +0,0 @@
1
- import { Work } from './work';
2
- import { FromMillStatsReport } from './report-types';
3
- import { RequestSequenceResult } from './request-sequence-result';
4
- export declare const messageCreators: {
5
- work(work: any): string;
6
- askRes(failureKeys: any): string;
7
- report(report: any): string;
8
- fullRes(results: any): string;
9
- };
10
- export declare class WorkLordMessage {
11
- work: Work;
12
- readonly type = "work";
13
- constructor(work: Work);
14
- }
15
- export declare class AskResLordMessage {
16
- failureKeys: string[];
17
- readonly type = "askRes";
18
- constructor(failureKeys: string[]);
19
- }
20
- export declare class ReportMillMessage {
21
- report: FromMillStatsReport;
22
- readonly type = "report";
23
- constructor(report: FromMillStatsReport);
24
- }
25
- export declare class FullResMillMessage {
26
- results: RequestSequenceResult[];
27
- readonly type = "fullRes";
28
- constructor(results: RequestSequenceResult[]);
29
- }
30
- export declare type LordMessage = WorkLordMessage | AskResLordMessage;
31
- export declare type MillMessage = ReportMillMessage | FullResMillMessage;
@@ -1,90 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FullResMillMessage = exports.ReportMillMessage = exports.AskResLordMessage = exports.WorkLordMessage = exports.messageCreators = void 0;
4
- exports.messageCreators = {
5
- work: function (work) {
6
- return JSON.stringify(new WorkLordMessage(work));
7
- },
8
- askRes: function (failureKeys) {
9
- return JSON.stringify(new AskResLordMessage(failureKeys));
10
- },
11
- report: function (report) {
12
- return JSON.stringify(new ReportMillMessage(report));
13
- },
14
- fullRes: function (results) {
15
- return JSON.stringify(new FullResMillMessage(results));
16
- },
17
- };
18
- var WorkLordMessage = /** @class */ (function () {
19
- function WorkLordMessage(work) {
20
- Object.defineProperty(this, "work", {
21
- enumerable: true,
22
- configurable: true,
23
- writable: true,
24
- value: work
25
- });
26
- Object.defineProperty(this, "type", {
27
- enumerable: true,
28
- configurable: true,
29
- writable: true,
30
- value: 'work'
31
- });
32
- }
33
- return WorkLordMessage;
34
- }());
35
- exports.WorkLordMessage = WorkLordMessage;
36
- var AskResLordMessage = /** @class */ (function () {
37
- function AskResLordMessage(failureKeys) {
38
- Object.defineProperty(this, "failureKeys", {
39
- enumerable: true,
40
- configurable: true,
41
- writable: true,
42
- value: failureKeys
43
- });
44
- Object.defineProperty(this, "type", {
45
- enumerable: true,
46
- configurable: true,
47
- writable: true,
48
- value: 'askRes'
49
- });
50
- }
51
- return AskResLordMessage;
52
- }());
53
- exports.AskResLordMessage = AskResLordMessage;
54
- var ReportMillMessage = /** @class */ (function () {
55
- function ReportMillMessage(report) {
56
- Object.defineProperty(this, "report", {
57
- enumerable: true,
58
- configurable: true,
59
- writable: true,
60
- value: report
61
- });
62
- Object.defineProperty(this, "type", {
63
- enumerable: true,
64
- configurable: true,
65
- writable: true,
66
- value: 'report'
67
- });
68
- }
69
- return ReportMillMessage;
70
- }());
71
- exports.ReportMillMessage = ReportMillMessage;
72
- var FullResMillMessage = /** @class */ (function () {
73
- function FullResMillMessage(results) {
74
- Object.defineProperty(this, "results", {
75
- enumerable: true,
76
- configurable: true,
77
- writable: true,
78
- value: results
79
- });
80
- Object.defineProperty(this, "type", {
81
- enumerable: true,
82
- configurable: true,
83
- writable: true,
84
- value: 'fullRes'
85
- });
86
- }
87
- return FullResMillMessage;
88
- }());
89
- exports.FullResMillMessage = FullResMillMessage;
90
- //# sourceMappingURL=message-creators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-creators.js","sourceRoot":"","sources":["../src/message-creators.ts"],"names":[],"mappings":";;;AAIa,QAAA,eAAe,GAAG;IAC7B,IAAI,YAAC,IAAI;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,YAAC,WAAW;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,YAAC,MAAM;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,YAAC,OAAO;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;CACF,CAAC;AAEF;IAEE,yBAAmB,IAAU;;;;;mBAAV;;QADnB;;;;mBAAgB,MAAM;WAAC;IACS,CAAC;IACnC,sBAAC;AAAD,CAAC,AAHD,IAGC;AAHY,0CAAe;AAK5B;IAEE,2BAAmB,WAAqB;;;;;mBAArB;;QADnB;;;;mBAAgB,QAAQ;WAAC;IACkB,CAAC;IAC9C,wBAAC;AAAD,CAAC,AAHD,IAGC;AAHY,8CAAiB;AAK9B;IAEE,2BAAmB,MAA2B;;;;;mBAA3B;;QADnB;;;;mBAAgB,QAAQ;WAAC;IACwB,CAAC;IACpD,wBAAC;AAAD,CAAC,AAHD,IAGC;AAHY,8CAAiB;AAK9B;IAEE,4BAAmB,OAAgC;;;;;mBAAhC;;QADnB;;;;mBAAgB,SAAS;WAAC;IAC4B,CAAC;IACzD,yBAAC;AAAD,CAAC,AAHD,IAGC;AAHY,gDAAkB"}
@@ -1,70 +0,0 @@
1
- export interface MillInfo {
2
- /**
3
- * The mill socket IP address (or addresses in case IP is forwarded).
4
- */
5
- IPs: string[];
6
- /**
7
- * True if and only if this mill is a spy.
8
- */
9
- spy: boolean;
10
- /**
11
- * True if and only if this mill is a simulator.
12
- */
13
- sim: boolean;
14
- /**
15
- * True if and only if this mill restricted to using SSL.
16
- */
17
- onlySsl: boolean;
18
- /**
19
- * True if and only if this mill has cookie support.
20
- */
21
- cookieAble: boolean;
22
- /**
23
- * True if and only if this mill runs through a proxy.
24
- */
25
- proxyAble: boolean;
26
- /**
27
- * Number of loads capable of running (Angie)
28
- */
29
- loadsCapacity: number;
30
- /**
31
- * The location resolved from the first mill IP or an empty string.
32
- */
33
- location: string;
34
- /**
35
- * The country code provided by Cloudflare or empty string.
36
- */
37
- countryCode: string;
38
- /**
39
- * The mill user-agent string or an empty string.
40
- */
41
- userAgent: string;
42
- /**
43
- * The mill browser and version (parsed from user-agent string).
44
- */
45
- browserVersion: string;
46
- /**
47
- * The full affiliate id.
48
- */
49
- affiliateId: string;
50
- /**
51
- * The owner of the agent.
52
- */
53
- userId?: string;
54
- /**
55
- * The agent's owner's team.
56
- */
57
- teamId?: string;
58
- /**
59
- * Agent pool(if the user supplied)
60
- */
61
- pool?: string;
62
- /**
63
- * If the agent can't handle API tests
64
- */
65
- noApi: boolean;
66
- /**
67
- * The NodeJs version the agent runs on
68
- */
69
- nodeVersion?: string;
70
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=mill-info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mill-info.js","sourceRoot":"","sources":["../src/mill-info.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- export declare const millVersion: {
2
- major: number;
3
- minor: number;
4
- patch: number;
5
- };
6
- export declare const millVersionString: string;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.millVersionString = exports.millVersion = void 0;
4
- exports.millVersion = {
5
- major: 9,
6
- minor: 96,
7
- patch: 0,
8
- };
9
- exports.millVersionString = exports.millVersion.major + "." + exports.millVersion.minor + "." + exports.millVersion.patch;
10
- //# sourceMappingURL=mill-version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mill-version.js","sourceRoot":"","sources":["../src/mill-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACzB,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,CAAC;CACT,CAAC;AAEW,QAAA,iBAAiB,GAAM,mBAAW,CAAC,KAAK,SAAI,mBAAW,CAAC,KAAK,SAAI,mBAAW,CAAC,KAAO,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function generateValuesForParameterPools(runId: string): Promise<{
2
- [key: string]: string;
3
- }>;
@@ -1,69 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
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;
13
- return g = { next: verb(0), "throw": verb(1), "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 (_) 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
- };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.generateValuesForParameterPools = void 0;
43
- var superagent_1 = __importDefault(require("superagent"));
44
- var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
45
- function generateValuesForParameterPools(runId) {
46
- return __awaiter(this, void 0, void 0, function () {
47
- var body, error_1;
48
- return __generator(this, function (_a) {
49
- switch (_a.label) {
50
- case 0:
51
- _a.trys.push([0, 2, , 3]);
52
- return [4 /*yield*/, superagent_1.default
53
- .get((process.env.VALUES_GENERATOR_URL || 'https://val-gen.loadmill.com') + "/" + runId + "/next-parameter")];
54
- case 1:
55
- body = (_a.sent()).body;
56
- return [2 /*return*/, typeof body === 'function' ?
57
- body() : // angie
58
- body]; // agent
59
- case 2:
60
- error_1 = _a.sent();
61
- log_1.default.error('Can\'t GET generated values for parameter pools ', error_1);
62
- return [2 /*return*/, {}];
63
- case 3: return [2 /*return*/];
64
- }
65
- });
66
- });
67
- }
68
- exports.generateValuesForParameterPools = generateValuesForParameterPools;
69
- //# sourceMappingURL=parameter-pools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parameter-pools.js","sourceRoot":"","sources":["../src/parameter-pools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAoC;AACpC,qEAA+C;AAE/C,SAAsB,+BAA+B,CAAC,KAAa;;;;;;;oBAE9C,qBAAM,oBAAU;6BAC9B,GAAG,CACF,CAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,8BAA8B,UAAI,KAAK,oBAAiB,CAChG,EAAA;;oBAHK,IAAI,GAAK,CAAA,SAGd,CAAA,KAHS;oBAIZ,sBAAO,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC;4BACjC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ;4BACjB,IAAI,EAAC,CAAC,QAAQ;;;oBAEhB,aAAG,CAAC,KAAK,CAAC,kDAAkD,EAAE,OAAK,CAAC,CAAC;oBACrE,sBAAO,EAAE,EAAC;;;;;CAEb;AAbD,0EAaC"}
@@ -1 +0,0 @@
1
- export declare const isPerformance: boolean;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isPerformance = void 0;
7
- var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
8
- exports.isPerformance = typeof performance !== 'undefined';
9
- log_1.default.debug('isPerformance =', exports.isPerformance);
10
- //# sourceMappingURL=performance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"performance.js","sourceRoot":"","sources":["../src/performance.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA+C;AAElC,QAAA,aAAa,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC;AAChE,aAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,qBAAa,CAAC,CAAC"}
@@ -1,18 +0,0 @@
1
- export declare class ASTWalker {
2
- private ast;
3
- private untouchables;
4
- private detected;
5
- constructor(script: string);
6
- detectDeclarations: (untouchables: string[]) => string[];
7
- private addDeclaredFunction;
8
- private getIdentifierName;
9
- private addNestedDeclaredProps;
10
- private addAssignmentProperty;
11
- private addRestElement;
12
- private addDestructuredArrayElements;
13
- private addDeclaredVariables;
14
- private addImplicitDeclarations;
15
- private addSingleImplicitVar;
16
- private addMultipleImplicitVar;
17
- private addIdentifier;
18
- }
@@ -1,215 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ASTWalker = void 0;
4
- var acorn_js_parser_1 = require("../parser/acorn-js-parser");
5
- var type_guard_1 = require("./type-guard");
6
- var ASTWalker = /** @class */ (function () {
7
- function ASTWalker(script) {
8
- var _this = this;
9
- Object.defineProperty(this, "ast", {
10
- enumerable: true,
11
- configurable: true,
12
- writable: true,
13
- value: void 0
14
- });
15
- Object.defineProperty(this, "untouchables", {
16
- enumerable: true,
17
- configurable: true,
18
- writable: true,
19
- value: void 0
20
- });
21
- Object.defineProperty(this, "detected", {
22
- enumerable: true,
23
- configurable: true,
24
- writable: true,
25
- value: void 0
26
- });
27
- Object.defineProperty(this, "detectDeclarations", {
28
- enumerable: true,
29
- configurable: true,
30
- writable: true,
31
- value: function (untouchables) {
32
- _this.untouchables = untouchables;
33
- for (var _i = 0, _a = _this.ast.body; _i < _a.length; _i++) {
34
- var node = _a[_i];
35
- if (type_guard_1.isFunctionDeclaration(node)) {
36
- _this.addDeclaredFunction(node);
37
- }
38
- else if (type_guard_1.isVariableDeclaration(node)) {
39
- _this.addDeclaredVariables(node);
40
- }
41
- else if (type_guard_1.isExpressionStatement(node)) {
42
- _this.addImplicitDeclarations(node);
43
- }
44
- }
45
- return Array.from(_this.detected);
46
- }
47
- });
48
- Object.defineProperty(this, "addDeclaredFunction", {
49
- enumerable: true,
50
- configurable: true,
51
- writable: true,
52
- value: function (node) {
53
- _this.addIdentifier(node.id);
54
- }
55
- });
56
- Object.defineProperty(this, "getIdentifierName", {
57
- enumerable: true,
58
- configurable: true,
59
- writable: true,
60
- value: function (id) { return id.name; }
61
- });
62
- Object.defineProperty(this, "addNestedDeclaredProps", {
63
- enumerable: true,
64
- configurable: true,
65
- writable: true,
66
- value: function (_a) {
67
- var properties = _a.properties;
68
- for (var _i = 0, properties_1 = properties; _i < properties_1.length; _i++) {
69
- var prop = properties_1[_i];
70
- if (type_guard_1.isRestElement(prop)) {
71
- _this.addRestElement(prop);
72
- }
73
- else {
74
- _this.addAssignmentProperty(prop);
75
- }
76
- }
77
- }
78
- });
79
- Object.defineProperty(this, "addAssignmentProperty", {
80
- enumerable: true,
81
- configurable: true,
82
- writable: true,
83
- value: function (_a) {
84
- var value = _a.value;
85
- if (type_guard_1.isIdentifier(value)) {
86
- _this.addIdentifier(value);
87
- }
88
- else if (type_guard_1.isObject(value)) {
89
- _this.addNestedDeclaredProps(value);
90
- }
91
- else if (type_guard_1.isArray(value)) {
92
- _this.addDestructuredArrayElements(value);
93
- }
94
- }
95
- });
96
- Object.defineProperty(this, "addRestElement", {
97
- enumerable: true,
98
- configurable: true,
99
- writable: true,
100
- value: function (_a) {
101
- var argument = _a.argument;
102
- if (type_guard_1.isIdentifier(argument)) {
103
- _this.addIdentifier(argument);
104
- }
105
- else if (type_guard_1.isObject(argument)) {
106
- _this.addNestedDeclaredProps(argument);
107
- }
108
- }
109
- });
110
- Object.defineProperty(this, "addDestructuredArrayElements", {
111
- enumerable: true,
112
- configurable: true,
113
- writable: true,
114
- value: function (_a) {
115
- var elements = _a.elements;
116
- for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {
117
- var element = elements_1[_i];
118
- if (type_guard_1.isIdentifier(element)) {
119
- _this.addIdentifier(element);
120
- }
121
- else if (type_guard_1.isRestElement(element)) {
122
- _this.addRestElement(element);
123
- }
124
- else if (type_guard_1.isObject(element)) {
125
- _this.addNestedDeclaredProps(element);
126
- }
127
- else if (type_guard_1.isArray(element)) {
128
- _this.addDestructuredArrayElements(element);
129
- }
130
- }
131
- }
132
- });
133
- Object.defineProperty(this, "addDeclaredVariables", {
134
- enumerable: true,
135
- configurable: true,
136
- writable: true,
137
- value: function (node) {
138
- for (var _i = 0, _a = node.declarations; _i < _a.length; _i++) {
139
- var declaration = _a[_i];
140
- var pattern = declaration.id;
141
- if (type_guard_1.isIdentifier(pattern)) {
142
- _this.addIdentifier(pattern);
143
- }
144
- else if (type_guard_1.isObject(pattern)) {
145
- _this.addNestedDeclaredProps(pattern);
146
- }
147
- else if (type_guard_1.isArray(pattern)) {
148
- _this.addDestructuredArrayElements(pattern);
149
- }
150
- }
151
- }
152
- });
153
- Object.defineProperty(this, "addImplicitDeclarations", {
154
- enumerable: true,
155
- configurable: true,
156
- writable: true,
157
- value: function (_a) {
158
- var expression = _a.expression;
159
- if (type_guard_1.isAssignmentExpression(expression)) {
160
- _this.addSingleImplicitVar(expression);
161
- }
162
- else if (type_guard_1.isSequenceExpression(expression)) {
163
- _this.addMultipleImplicitVar(expression);
164
- }
165
- }
166
- });
167
- Object.defineProperty(this, "addSingleImplicitVar", {
168
- enumerable: true,
169
- configurable: true,
170
- writable: true,
171
- value: function (expression) {
172
- if (type_guard_1.isIdentifier(expression.left)) {
173
- var assignedName = _this.getIdentifierName(expression.left);
174
- if (!_this.untouchables.includes(assignedName)) {
175
- _this.addIdentifier(expression.left);
176
- }
177
- }
178
- else if (type_guard_1.isObject(expression.left)) {
179
- _this.addNestedDeclaredProps(expression.left);
180
- }
181
- else if (type_guard_1.isArray(expression.left)) {
182
- _this.addDestructuredArrayElements(expression.left);
183
- }
184
- }
185
- });
186
- Object.defineProperty(this, "addMultipleImplicitVar", {
187
- enumerable: true,
188
- configurable: true,
189
- writable: true,
190
- value: function (_a) {
191
- var expressions = _a.expressions;
192
- for (var _i = 0, expressions_1 = expressions; _i < expressions_1.length; _i++) {
193
- var expression = expressions_1[_i];
194
- if (type_guard_1.isAssignmentExpression(expression)) {
195
- _this.addSingleImplicitVar(expression);
196
- }
197
- }
198
- }
199
- });
200
- this.ast = new acorn_js_parser_1.AcornJSParser().parse(script);
201
- this.untouchables = [];
202
- this.detected = new Set();
203
- }
204
- Object.defineProperty(ASTWalker.prototype, "addIdentifier", {
205
- enumerable: false,
206
- configurable: true,
207
- writable: true,
208
- value: function (id) {
209
- this.detected.add(this.getIdentifierName(id));
210
- }
211
- });
212
- return ASTWalker;
213
- }());
214
- exports.ASTWalker = ASTWalker;
215
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/post-script/ast-walker/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { Node } from 'estree';
2
- import './types';
3
- export declare const isFunctionDeclaration: (node: Node) => boolean;
4
- export declare const isVariableDeclaration: (node: Node) => boolean;
5
- export declare const isExpressionStatement: (node: Node) => boolean;
6
- export declare const isAssignmentExpression: (node: Node) => boolean;
7
- export declare const isSequenceExpression: (node: Node) => boolean;
8
- export declare const isIdentifier: (node: Node) => boolean;
9
- export declare const isArray: (node: Node) => boolean;
10
- export declare const isObject: (node: Node) => boolean;
11
- export declare const isRestElement: (node: Node) => boolean;
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isRestElement = exports.isObject = exports.isArray = exports.isIdentifier = exports.isSequenceExpression = exports.isAssignmentExpression = exports.isExpressionStatement = exports.isVariableDeclaration = exports.isFunctionDeclaration = void 0;
4
- var string_utils_1 = require("@loadmill/universal/dist/string-utils");
5
- var types_1 = require("./types");
6
- require("./types");
7
- var isFunctionDeclaration = function (node) {
8
- return isOfType(node, types_1.Declarations, types_1.Declarations.FunctionDeclaration) && hasId(node);
9
- };
10
- exports.isFunctionDeclaration = isFunctionDeclaration;
11
- var hasId = function (node) { return !!node.id; };
12
- var isVariableDeclaration = function (node) {
13
- return isOfType(node, types_1.Declarations, types_1.Declarations.VariableDeclaration) && hasDeclarations(node);
14
- };
15
- exports.isVariableDeclaration = isVariableDeclaration;
16
- var hasDeclarations = function (node) { return Array.isArray(node.declarations); };
17
- var isExpressionStatement = function (node) {
18
- return isOfType(node, types_1.Statements, types_1.Statements.ExpressionStatement) && hasExpression(node);
19
- };
20
- exports.isExpressionStatement = isExpressionStatement;
21
- var hasExpression = function (node) { return !!node.expression; };
22
- var isAssignmentExpression = function (node) {
23
- return isOfType(node, types_1.Expressions, types_1.Expressions.AssignmentExpression) && hasLeft(node);
24
- };
25
- exports.isAssignmentExpression = isAssignmentExpression;
26
- var hasLeft = function (node) { return !!node.left; };
27
- var isSequenceExpression = function (node) {
28
- return isOfType(node, types_1.Expressions, types_1.Expressions.SequenceExpression) && hasExpressions(node);
29
- };
30
- exports.isSequenceExpression = isSequenceExpression;
31
- var hasExpressions = function (node) { return Array.isArray(node.expressions); };
32
- var isIdentifier = function (node) {
33
- return isOfType(node, types_1.Patterns, types_1.Patterns.Identifier) && hasName(node);
34
- };
35
- exports.isIdentifier = isIdentifier;
36
- var hasName = function (id) { return string_utils_1.isNonEmptyString(id.name); };
37
- var isArray = function (node) {
38
- return isOfType(node, types_1.Patterns, types_1.Patterns.ArrayPattern) && hasElements(node);
39
- };
40
- exports.isArray = isArray;
41
- var hasElements = function (node) { return Array.isArray(node.elements); };
42
- var isObject = function (node) {
43
- return isOfType(node, types_1.Patterns, types_1.Patterns.ObjectPattern) && hasProperties(node);
44
- };
45
- exports.isObject = isObject;
46
- var hasProperties = function (node) { return Array.isArray(node.properties); };
47
- var isRestElement = function (node) {
48
- return isOfType(node, types_1.Patterns, types_1.Patterns.RestElement) && hasArgument(node);
49
- };
50
- exports.isRestElement = isRestElement;
51
- var hasArgument = function (rest) { return !!rest.argument; };
52
- var isOfType = function (node, enumerator, // can't type an enum for some reason
53
- type) {
54
- return node.type === enumerator[type];
55
- };
56
- //# sourceMappingURL=type-guard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type-guard.js","sourceRoot":"","sources":["../../../src/post-script/ast-walker/type-guard.ts"],"names":[],"mappings":"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"}