@loadmill/executer 0.1.140 → 0.1.142

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 (259) hide show
  1. package/dist/asserter.d.ts +9 -0
  2. package/dist/asserter.js +158 -0
  3. package/dist/asserter.js.map +1 -0
  4. package/dist/constants.d.ts +7 -0
  5. package/dist/constants.js +13 -0
  6. package/dist/constants.js.map +1 -0
  7. package/dist/cookies.d.ts +4 -0
  8. package/dist/cookies.js +79 -0
  9. package/dist/cookies.js.map +1 -0
  10. package/dist/errors.d.ts +5 -0
  11. package/dist/errors.js +38 -0
  12. package/dist/errors.js.map +1 -0
  13. package/dist/extraction-combiner.d.ts +17 -0
  14. package/dist/extraction-combiner.js +182 -0
  15. package/dist/extraction-combiner.js.map +1 -0
  16. package/dist/failures.d.ts +24 -0
  17. package/dist/failures.js +67 -0
  18. package/dist/failures.js.map +1 -0
  19. package/dist/grpc.d.ts +34 -0
  20. package/dist/grpc.js +269 -0
  21. package/dist/grpc.js.map +1 -0
  22. package/dist/iteration-stats.d.ts +2 -0
  23. package/dist/iteration-stats.js +38 -0
  24. package/dist/iteration-stats.js.map +1 -0
  25. package/dist/message-creators.d.ts +31 -0
  26. package/dist/message-creators.js +90 -0
  27. package/dist/message-creators.js.map +1 -0
  28. package/dist/mill-info.d.ts +70 -0
  29. package/dist/mill-info.js +3 -0
  30. package/dist/mill-info.js.map +1 -0
  31. package/dist/mill-version.d.ts +6 -0
  32. package/dist/mill-version.js +10 -0
  33. package/dist/mill-version.js.map +1 -0
  34. package/dist/parameter-pools.d.ts +3 -0
  35. package/dist/parameter-pools.js +69 -0
  36. package/dist/parameter-pools.js.map +1 -0
  37. package/dist/performance.d.ts +1 -0
  38. package/dist/performance.js +10 -0
  39. package/dist/performance.js.map +1 -0
  40. package/dist/post-script/ast-walker/index.d.ts +18 -0
  41. package/dist/post-script/ast-walker/index.js +215 -0
  42. package/dist/post-script/ast-walker/index.js.map +1 -0
  43. package/dist/post-script/ast-walker/type-guard.d.ts +11 -0
  44. package/dist/post-script/ast-walker/type-guard.js +56 -0
  45. package/dist/post-script/ast-walker/type-guard.js.map +1 -0
  46. package/dist/post-script/ast-walker/types.d.ts +24 -0
  47. package/dist/post-script/ast-walker/types.js +25 -0
  48. package/dist/post-script/ast-walker/types.js.map +1 -0
  49. package/dist/post-script/console-log.d.ts +7 -0
  50. package/dist/post-script/console-log.js +31 -0
  51. package/dist/post-script/console-log.js.map +1 -0
  52. package/dist/post-script/constants.d.ts +4 -0
  53. package/dist/post-script/constants.js +9 -0
  54. package/dist/post-script/constants.js.map +1 -0
  55. package/dist/post-script/parser/acorn-js-parser.d.ts +5 -0
  56. package/dist/post-script/parser/acorn-js-parser.js +20 -0
  57. package/dist/post-script/parser/acorn-js-parser.js.map +1 -0
  58. package/dist/post-script/parser/js-parser.d.ts +16 -0
  59. package/dist/post-script/parser/js-parser.js +3 -0
  60. package/dist/post-script/parser/js-parser.js.map +1 -0
  61. package/dist/post-script/parser/parser.d.ts +6 -0
  62. package/dist/post-script/parser/parser.js +3 -0
  63. package/dist/post-script/parser/parser.js.map +1 -0
  64. package/dist/post-script/post-script-executor.d.ts +24 -0
  65. package/dist/post-script/post-script-executor.js +125 -0
  66. package/dist/post-script/post-script-executor.js.map +1 -0
  67. package/dist/post-script/virtual-machine/virtual-machine.d.ts +13 -0
  68. package/dist/post-script/virtual-machine/virtual-machine.js +3 -0
  69. package/dist/post-script/virtual-machine/virtual-machine.js.map +1 -0
  70. package/dist/post-script/virtual-machine/vm2-virtual-machine.d.ts +12 -0
  71. package/dist/post-script/virtual-machine/vm2-virtual-machine.js +81 -0
  72. package/dist/post-script/virtual-machine/vm2-virtual-machine.js.map +1 -0
  73. package/dist/post-sequence.d.ts +2 -0
  74. package/dist/post-sequence.js +192 -0
  75. package/dist/post-sequence.js.map +1 -0
  76. package/dist/redact-data.d.ts +2 -0
  77. package/dist/redact-data.js +60 -0
  78. package/dist/redact-data.js.map +1 -0
  79. package/dist/report-types.d.ts +102 -0
  80. package/dist/report-types.js +11 -0
  81. package/dist/report-types.js.map +1 -0
  82. package/dist/request-sequence-result.d.ts +37 -0
  83. package/dist/request-sequence-result.js +19 -0
  84. package/dist/request-sequence-result.js.map +1 -0
  85. package/dist/request-stats.d.ts +13 -0
  86. package/dist/request-stats.js +14 -0
  87. package/dist/request-stats.js.map +1 -0
  88. package/dist/res-keeper.d.ts +16 -0
  89. package/dist/res-keeper.js +104 -0
  90. package/dist/res-keeper.js.map +1 -0
  91. package/dist/sampler.d.ts +29 -0
  92. package/dist/sampler.js +276 -0
  93. package/dist/sampler.js.map +1 -0
  94. package/dist/sequence-executor-like.d.ts +23 -0
  95. package/dist/sequence-executor-like.js +3 -0
  96. package/dist/sequence-executor-like.js.map +1 -0
  97. package/dist/sequence.d.ts +16 -0
  98. package/dist/sequence.js +1738 -0
  99. package/dist/sequence.js.map +1 -0
  100. package/dist/single-runner.d.ts +29 -0
  101. package/dist/single-runner.js +147 -0
  102. package/dist/single-runner.js.map +1 -0
  103. package/dist/step-handlers/code-step-handler.d.ts +12 -0
  104. package/dist/step-handlers/code-step-handler.js +93 -0
  105. package/dist/step-handlers/code-step-handler.js.map +1 -0
  106. package/dist/step-handlers/extract-step-handler.d.ts +12 -0
  107. package/dist/step-handlers/extract-step-handler.js +101 -0
  108. package/dist/step-handlers/extract-step-handler.js.map +1 -0
  109. package/dist/step-handlers/request-step-handler.d.ts +13 -0
  110. package/dist/step-handlers/request-step-handler.js +94 -0
  111. package/dist/step-handlers/request-step-handler.js.map +1 -0
  112. package/dist/step-handlers/step-handler.d.ts +11 -0
  113. package/dist/step-handlers/step-handler.js +3 -0
  114. package/dist/step-handlers/step-handler.js.map +1 -0
  115. package/dist/test-run-event-emitter.d.ts +15 -0
  116. package/dist/test-run-event-emitter.js +36 -0
  117. package/dist/test-run-event-emitter.js.map +1 -0
  118. package/dist/types/grpc.d.ts +14 -0
  119. package/dist/types/grpc.js +3 -0
  120. package/dist/types/grpc.js.map +1 -0
  121. package/dist/utils.d.ts +3 -0
  122. package/dist/utils.js +32 -0
  123. package/dist/utils.js.map +1 -0
  124. package/dist/work.d.ts +15 -0
  125. package/dist/work.js +3 -0
  126. package/dist/work.js.map +1 -0
  127. package/dist/ws.d.ts +71 -0
  128. package/dist/ws.js +474 -0
  129. package/dist/ws.js.map +1 -0
  130. package/package/dist/asserter.d.ts +9 -0
  131. package/package/dist/asserter.js +158 -0
  132. package/package/dist/asserter.js.map +1 -0
  133. package/package/dist/constants.d.ts +7 -0
  134. package/package/dist/constants.js +13 -0
  135. package/package/dist/constants.js.map +1 -0
  136. package/package/dist/cookies.d.ts +4 -0
  137. package/package/dist/cookies.js +79 -0
  138. package/package/dist/cookies.js.map +1 -0
  139. package/package/dist/errors.d.ts +5 -0
  140. package/package/dist/errors.js +38 -0
  141. package/package/dist/errors.js.map +1 -0
  142. package/package/dist/extraction-combiner.d.ts +17 -0
  143. package/package/dist/extraction-combiner.js +182 -0
  144. package/package/dist/extraction-combiner.js.map +1 -0
  145. package/package/dist/failures.d.ts +24 -0
  146. package/package/dist/failures.js +67 -0
  147. package/package/dist/failures.js.map +1 -0
  148. package/package/dist/grpc.d.ts +34 -0
  149. package/package/dist/grpc.js +269 -0
  150. package/package/dist/grpc.js.map +1 -0
  151. package/package/dist/iteration-stats.d.ts +2 -0
  152. package/package/dist/iteration-stats.js +38 -0
  153. package/package/dist/iteration-stats.js.map +1 -0
  154. package/package/dist/message-creators.d.ts +31 -0
  155. package/package/dist/message-creators.js +90 -0
  156. package/package/dist/message-creators.js.map +1 -0
  157. package/package/dist/mill-info.d.ts +70 -0
  158. package/package/dist/mill-info.js +3 -0
  159. package/package/dist/mill-info.js.map +1 -0
  160. package/package/dist/mill-version.d.ts +6 -0
  161. package/package/dist/mill-version.js +10 -0
  162. package/package/dist/mill-version.js.map +1 -0
  163. package/package/dist/parameter-pools.d.ts +3 -0
  164. package/package/dist/parameter-pools.js +69 -0
  165. package/package/dist/parameter-pools.js.map +1 -0
  166. package/package/dist/performance.d.ts +1 -0
  167. package/package/dist/performance.js +10 -0
  168. package/package/dist/performance.js.map +1 -0
  169. package/package/dist/post-script/ast-walker/index.d.ts +18 -0
  170. package/package/dist/post-script/ast-walker/index.js +215 -0
  171. package/package/dist/post-script/ast-walker/index.js.map +1 -0
  172. package/package/dist/post-script/ast-walker/type-guard.d.ts +11 -0
  173. package/package/dist/post-script/ast-walker/type-guard.js +56 -0
  174. package/package/dist/post-script/ast-walker/type-guard.js.map +1 -0
  175. package/package/dist/post-script/ast-walker/types.d.ts +24 -0
  176. package/package/dist/post-script/ast-walker/types.js +25 -0
  177. package/package/dist/post-script/ast-walker/types.js.map +1 -0
  178. package/package/dist/post-script/console-log.d.ts +7 -0
  179. package/package/dist/post-script/console-log.js +31 -0
  180. package/package/dist/post-script/console-log.js.map +1 -0
  181. package/package/dist/post-script/constants.d.ts +4 -0
  182. package/package/dist/post-script/constants.js +9 -0
  183. package/package/dist/post-script/constants.js.map +1 -0
  184. package/package/dist/post-script/parser/acorn-js-parser.d.ts +5 -0
  185. package/package/dist/post-script/parser/acorn-js-parser.js +20 -0
  186. package/package/dist/post-script/parser/acorn-js-parser.js.map +1 -0
  187. package/package/dist/post-script/parser/js-parser.d.ts +16 -0
  188. package/package/dist/post-script/parser/js-parser.js +3 -0
  189. package/package/dist/post-script/parser/js-parser.js.map +1 -0
  190. package/package/dist/post-script/parser/parser.d.ts +6 -0
  191. package/package/dist/post-script/parser/parser.js +3 -0
  192. package/package/dist/post-script/parser/parser.js.map +1 -0
  193. package/package/dist/post-script/post-script-executor.d.ts +24 -0
  194. package/package/dist/post-script/post-script-executor.js +125 -0
  195. package/package/dist/post-script/post-script-executor.js.map +1 -0
  196. package/package/dist/post-script/virtual-machine/virtual-machine.d.ts +13 -0
  197. package/package/dist/post-script/virtual-machine/virtual-machine.js +3 -0
  198. package/package/dist/post-script/virtual-machine/virtual-machine.js.map +1 -0
  199. package/package/dist/post-script/virtual-machine/vm2-virtual-machine.d.ts +12 -0
  200. package/package/dist/post-script/virtual-machine/vm2-virtual-machine.js +81 -0
  201. package/package/dist/post-script/virtual-machine/vm2-virtual-machine.js.map +1 -0
  202. package/package/dist/post-sequence.d.ts +2 -0
  203. package/package/dist/post-sequence.js +192 -0
  204. package/package/dist/post-sequence.js.map +1 -0
  205. package/package/dist/redact-data.d.ts +2 -0
  206. package/package/dist/redact-data.js +60 -0
  207. package/package/dist/redact-data.js.map +1 -0
  208. package/package/dist/report-types.d.ts +102 -0
  209. package/package/dist/report-types.js +11 -0
  210. package/package/dist/report-types.js.map +1 -0
  211. package/package/dist/request-sequence-result.d.ts +37 -0
  212. package/package/dist/request-sequence-result.js +19 -0
  213. package/package/dist/request-sequence-result.js.map +1 -0
  214. package/package/dist/request-stats.d.ts +13 -0
  215. package/package/dist/request-stats.js +14 -0
  216. package/package/dist/request-stats.js.map +1 -0
  217. package/package/dist/res-keeper.d.ts +16 -0
  218. package/package/dist/res-keeper.js +104 -0
  219. package/package/dist/res-keeper.js.map +1 -0
  220. package/package/dist/sampler.d.ts +29 -0
  221. package/package/dist/sampler.js +276 -0
  222. package/package/dist/sampler.js.map +1 -0
  223. package/package/dist/sequence-executor-like.d.ts +23 -0
  224. package/package/dist/sequence-executor-like.js +3 -0
  225. package/package/dist/sequence-executor-like.js.map +1 -0
  226. package/package/dist/sequence.d.ts +16 -0
  227. package/package/dist/sequence.js +1738 -0
  228. package/package/dist/sequence.js.map +1 -0
  229. package/package/dist/single-runner.d.ts +29 -0
  230. package/package/dist/single-runner.js +147 -0
  231. package/package/dist/single-runner.js.map +1 -0
  232. package/package/dist/step-handlers/code-step-handler.d.ts +12 -0
  233. package/package/dist/step-handlers/code-step-handler.js +93 -0
  234. package/package/dist/step-handlers/code-step-handler.js.map +1 -0
  235. package/package/dist/step-handlers/extract-step-handler.d.ts +12 -0
  236. package/package/dist/step-handlers/extract-step-handler.js +101 -0
  237. package/package/dist/step-handlers/extract-step-handler.js.map +1 -0
  238. package/package/dist/step-handlers/request-step-handler.d.ts +13 -0
  239. package/package/dist/step-handlers/request-step-handler.js +94 -0
  240. package/package/dist/step-handlers/request-step-handler.js.map +1 -0
  241. package/package/dist/step-handlers/step-handler.d.ts +11 -0
  242. package/package/dist/step-handlers/step-handler.js +3 -0
  243. package/package/dist/step-handlers/step-handler.js.map +1 -0
  244. package/package/dist/test-run-event-emitter.d.ts +15 -0
  245. package/package/dist/test-run-event-emitter.js +36 -0
  246. package/package/dist/test-run-event-emitter.js.map +1 -0
  247. package/package/dist/types/grpc.d.ts +14 -0
  248. package/package/dist/types/grpc.js +3 -0
  249. package/package/dist/types/grpc.js.map +1 -0
  250. package/package/dist/utils.d.ts +3 -0
  251. package/package/dist/utils.js +32 -0
  252. package/package/dist/utils.js.map +1 -0
  253. package/package/dist/work.d.ts +15 -0
  254. package/package/dist/work.js +3 -0
  255. package/package/dist/work.js.map +1 -0
  256. package/package/dist/ws.d.ts +71 -0
  257. package/package/dist/ws.js +474 -0
  258. package/package/dist/ws.js.map +1 -0
  259. package/package.json +4 -3
@@ -0,0 +1,269 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __generator = (this && this.__generator) || function (thisArg, body) {
31
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
33
+ function verb(n) { return function (v) { return step([n, v]); }; }
34
+ function step(op) {
35
+ if (f) throw new TypeError("Generator is already executing.");
36
+ while (_) try {
37
+ 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;
38
+ if (y = 0, t) op = [op[0] & 2, t.value];
39
+ switch (op[0]) {
40
+ case 0: case 1: t = op; break;
41
+ case 4: _.label++; return { value: op[1], done: false };
42
+ case 5: _.label++; y = op[1]; op = [0]; continue;
43
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
44
+ default:
45
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
46
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
47
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
48
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49
+ if (t[2]) _.ops.pop();
50
+ _.trys.pop(); continue;
51
+ }
52
+ op = body.call(thisArg, _);
53
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
54
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
+ }
56
+ };
57
+ var __importDefault = (this && this.__importDefault) || function (mod) {
58
+ return (mod && mod.__esModule) ? mod : { "default": mod };
59
+ };
60
+ Object.defineProperty(exports, "__esModule", { value: true });
61
+ exports.GRPCRequest = void 0;
62
+ var util_1 = require("util");
63
+ var grpc = __importStar(require("@grpc/grpc-js"));
64
+ var protoLoader = __importStar(require("@grpc/proto-loader"));
65
+ var request_1 = require("@loadmill/core/dist/request");
66
+ var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
67
+ var lodash_1 = require("lodash");
68
+ var fs_1 = __importDefault(require("fs"));
69
+ var protobufjs_1 = __importDefault(require("protobufjs"));
70
+ var errors_1 = require("./errors");
71
+ var options = {
72
+ keepCase: true,
73
+ longs: String,
74
+ enums: String,
75
+ defaults: true,
76
+ oneofs: true,
77
+ };
78
+ var GRPCRequest = /** @class */ (function () {
79
+ function GRPCRequest(grpcRequestArgs, onError, protoFileRootPath) {
80
+ Object.defineProperty(this, "grpcRequestArgs", {
81
+ enumerable: true,
82
+ configurable: true,
83
+ writable: true,
84
+ value: grpcRequestArgs
85
+ });
86
+ Object.defineProperty(this, "onError", {
87
+ enumerable: true,
88
+ configurable: true,
89
+ writable: true,
90
+ value: onError
91
+ });
92
+ Object.defineProperty(this, "protoFileRootPath", {
93
+ enumerable: true,
94
+ configurable: true,
95
+ writable: true,
96
+ value: protoFileRootPath
97
+ });
98
+ Object.defineProperty(this, "url", {
99
+ enumerable: true,
100
+ configurable: true,
101
+ writable: true,
102
+ value: void 0
103
+ });
104
+ Object.defineProperty(this, "expectedStatus", {
105
+ enumerable: true,
106
+ configurable: true,
107
+ writable: true,
108
+ value: void 0
109
+ });
110
+ this.expectedStatus = grpcRequestArgs.expectedStatus;
111
+ this.url = grpcRequestArgs.url;
112
+ }
113
+ Object.defineProperty(GRPCRequest.prototype, "ok", {
114
+ enumerable: false,
115
+ configurable: true,
116
+ writable: true,
117
+ value: function (cb) {
118
+ var _a;
119
+ return __awaiter(this, void 0, void 0, function () {
120
+ var response_1, packageDefinition, protoDescriptor, fullServicePath, Service, client, onEnd_1, msg, metadata, _i, _b, _c, key, value, messages_1, call_1, call, res, e_1, isExpectedStatus, message, e_2;
121
+ var _d;
122
+ var _this = this;
123
+ return __generator(this, function (_e) {
124
+ switch (_e.label) {
125
+ case 0:
126
+ _e.trys.push([0, 9, , 10]);
127
+ response_1 = {
128
+ status: undefined,
129
+ res: {
130
+ statusMessage: undefined,
131
+ },
132
+ header: {},
133
+ req: {},
134
+ text: '',
135
+ };
136
+ packageDefinition = protoLoader.loadSync(this.protoFileRootPath, options);
137
+ protoDescriptor = grpc.loadPackageDefinition(packageDefinition);
138
+ fullServicePath = _getServicePath(this.protoFileRootPath, this.grpcRequestArgs.service);
139
+ Service = lodash_1.get(protoDescriptor, fullServicePath);
140
+ client = new Service(this.grpcRequestArgs.domain, decideChannelCredentials(this.grpcRequestArgs));
141
+ onEnd_1 = function (res) {
142
+ response_1.status = grpc.status.OK;
143
+ response_1.text = JSON.stringify(res);
144
+ response_1.type = 'application/json';
145
+ response_1.res.statusMessage = 'OK';
146
+ };
147
+ msg = JSON.parse(this.grpcRequestArgs.message || '{}');
148
+ metadata = new grpc.Metadata();
149
+ for (_i = 0, _b = Object.entries(this.grpcRequestArgs.headers); _i < _b.length; _i++) {
150
+ _c = _b[_i], key = _c[0], value = _c[1];
151
+ metadata.set(key, value);
152
+ }
153
+ _e.label = 1;
154
+ case 1:
155
+ _e.trys.push([1, 6, 7, 8]);
156
+ if (!((_a = packageDefinition[this.grpcRequestArgs.service][this.grpcRequestArgs.method]) === null || _a === void 0 ? void 0 : _a.responseStream)) return [3 /*break*/, 3];
157
+ log_1.default.debug('Request is a stream', { args: this.grpcRequestArgs });
158
+ messages_1 = [];
159
+ call_1 = client[this.grpcRequestArgs.method](msg, metadata, { deadline: Date.now() + this.grpcRequestArgs.timeout });
160
+ log_1.default.debug('Streaming...');
161
+ call_1.on('data', function (response) {
162
+ log_1.default.debug('Received:', response);
163
+ messages_1.push(response);
164
+ });
165
+ call_1.on('status', function (status) {
166
+ log_1.default.debug('Stream status:', status);
167
+ });
168
+ call_1.on('error', function (e) {
169
+ log_1.default.debug('Stream error:', e);
170
+ response_1.status = e.code;
171
+ response_1.res.statusMessage = e.details;
172
+ });
173
+ return [4 /*yield*/, new Promise(function (resolve) { return call_1.on('end', function () { return __awaiter(_this, void 0, void 0, function () {
174
+ return __generator(this, function (_a) {
175
+ log_1.default.debug('Stream ended');
176
+ onEnd_1(messages_1);
177
+ resolve();
178
+ return [2 /*return*/];
179
+ });
180
+ }); }); })];
181
+ case 2:
182
+ _e.sent();
183
+ return [3 /*break*/, 5];
184
+ case 3:
185
+ call = util_1.promisify(client[this.grpcRequestArgs.method].bind(client));
186
+ return [4 /*yield*/, call(msg, metadata, { deadline: Date.now() + this.grpcRequestArgs.timeout })];
187
+ case 4:
188
+ res = _e.sent();
189
+ onEnd_1(res);
190
+ _e.label = 5;
191
+ case 5: return [3 /*break*/, 8];
192
+ case 6:
193
+ e_1 = _e.sent();
194
+ log_1.default.error('gRPC request failed', e_1);
195
+ response_1.status = e_1.code;
196
+ response_1.res.statusMessage = e_1.details;
197
+ return [3 /*break*/, 8];
198
+ case 7:
199
+ client.close();
200
+ return [7 /*endfinally*/];
201
+ case 8:
202
+ isExpectedStatus = cb(response_1, _isExpectedGRPCStatus);
203
+ if (!isExpectedStatus) {
204
+ message = "gRPC status " + response_1.status + " - " + response_1.res.statusMessage;
205
+ this.onError(new errors_1.RequestFailuresError(message, (_d = {}, _d[message] = 1, _d)));
206
+ }
207
+ return [2 /*return*/, response_1];
208
+ case 9:
209
+ e_2 = _e.sent();
210
+ log_1.default.error('gRPC request failed', e_2);
211
+ this.onError(e_2);
212
+ return [3 /*break*/, 10];
213
+ case 10: return [2 /*return*/];
214
+ }
215
+ });
216
+ });
217
+ }
218
+ });
219
+ // need this because the SequenceExecutor expectes a request obj with on func prop
220
+ Object.defineProperty(GRPCRequest.prototype, "on", {
221
+ enumerable: false,
222
+ configurable: true,
223
+ writable: true,
224
+ value: function (_eventName, _cb) {
225
+ //do nothing
226
+ }
227
+ });
228
+ return GRPCRequest;
229
+ }());
230
+ exports.GRPCRequest = GRPCRequest;
231
+ var _isExpectedGRPCStatus = function (_a, status) {
232
+ var expectedStatus = _a.expectedStatus, url = _a.url;
233
+ if (expectedStatus === request_1.ALLOWED_RESPONSE_STATUSES.SUCCESS) {
234
+ return status === grpc.status.OK;
235
+ }
236
+ else if (expectedStatus === request_1.ALLOWED_RESPONSE_STATUSES.ERROR) {
237
+ log_1.default.debug('user asked to fail this request', url);
238
+ return status !== grpc.status.OK;
239
+ }
240
+ else if (expectedStatus === request_1.ALLOWED_RESPONSE_STATUSES.ANY) {
241
+ return true;
242
+ }
243
+ log_1.default.warn('Expected status is not valid, expectedStatus');
244
+ return false;
245
+ };
246
+ var _getProtoFilePackageName = function (protoFileRootPath) {
247
+ var fileContent = fs_1.default.readFileSync(protoFileRootPath, 'utf-8');
248
+ var parsedProto = protobufjs_1.default.parse(fileContent, {
249
+ keepCase: true,
250
+ alternateCommentMode: true,
251
+ });
252
+ return parsedProto.package;
253
+ };
254
+ var _getServicePath = function (protoFileRootPath, service) {
255
+ var servicePath = service;
256
+ if (!_isServiceIncludesPackageName(service)) { // legacy
257
+ var packageName = _getProtoFilePackageName(protoFileRootPath);
258
+ servicePath = "" + (packageName ? packageName + "." : '') + service;
259
+ }
260
+ return servicePath;
261
+ };
262
+ var _isServiceIncludesPackageName = function (service) { return service.includes('.'); };
263
+ var decideChannelCredentials = function (grpcRequestArgs) {
264
+ if (grpcRequestArgs.url.endsWith('443')) {
265
+ return grpc.credentials.createSsl();
266
+ }
267
+ return grpc.credentials.createInsecure();
268
+ };
269
+ //# sourceMappingURL=grpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpc.js","sourceRoot":"","sources":["../src/grpc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { RequestSequenceResult } from './request-sequence-result';
2
+ export declare const calcIterationDuration: (iterationRes: RequestSequenceResult) => number;
@@ -0,0 +1,38 @@
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.calcIterationDuration = void 0;
7
+ var parameters_1 = require("@loadmill/core/dist/parameters");
8
+ var findLast_1 = __importDefault(require("lodash/findLast"));
9
+ var isEmpty_1 = __importDefault(require("lodash/isEmpty"));
10
+ var calcIterationDuration = function (iterationRes) {
11
+ var iterationStartTime = _getIterationStartTime(iterationRes);
12
+ var iterationEndTime = _getIterationEndTime(iterationRes);
13
+ var iterationDuration = iterationEndTime ? iterationEndTime - iterationStartTime : 0;
14
+ return iterationDuration;
15
+ };
16
+ exports.calcIterationDuration = calcIterationDuration;
17
+ var _getIterationStartTime = function (iterationRes) {
18
+ var _a;
19
+ var firstResolvedRequest = (_a = iterationRes.resolvedRequests) === null || _a === void 0 ? void 0 : _a.find(function (rr) { return !isEmpty_1.default(rr.postParameters); });
20
+ return firstResolvedRequest ? _getRequestsStartTime(firstResolvedRequest) : 0;
21
+ };
22
+ var _getRequestsStartTime = function (request) {
23
+ return _getReqStartOrEndTime(request, parameters_1.BUILT_IN_PARAMS.requestStartTime);
24
+ };
25
+ var _getIterationEndTime = function (iterationRes) {
26
+ var lastResolvedRequest = findLast_1.default(iterationRes.resolvedRequests, function (rr) { return !isEmpty_1.default(rr.postParameters); });
27
+ return lastResolvedRequest ? _getRequestsEndTime(lastResolvedRequest) : 0;
28
+ };
29
+ var _getRequestsEndTime = function (request) {
30
+ return _getReqStartOrEndTime(request, parameters_1.BUILT_IN_PARAMS.responseEndTime);
31
+ };
32
+ var _getReqStartOrEndTime = function (request, paramName) {
33
+ var _a;
34
+ var param = (_a = request.postParameters) === null || _a === void 0 ? void 0 : _a.find(function (p) { return p[paramName]; });
35
+ var paramVal = param === null || param === void 0 ? void 0 : param[paramName];
36
+ return Number(paramVal) || 0;
37
+ };
38
+ //# sourceMappingURL=iteration-stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iteration-stats.js","sourceRoot":"","sources":["../src/iteration-stats.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAiE;AACjE,6DAAuC;AAEvC,2DAAqC;AAI9B,IAAM,qBAAqB,GAAG,UAAC,YAAmC;IACvE,IAAM,kBAAkB,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAChE,IAAM,gBAAgB,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC5D,IAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AALW,QAAA,qBAAqB,yBAKhC;AAEF,IAAM,sBAAsB,GAAG,UAAC,YAAmC;;IACjE,IAAM,oBAAoB,GAAG,MAAA,YAAY,CAAC,gBAAgB,0CAAE,IAAI,CAAC,UAAA,EAAE,IAAI,OAAA,CAAC,iBAAO,CAAC,EAAE,CAAC,cAAc,CAAC,EAA3B,CAA2B,CAAC,CAAC;IACpG,OAAO,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF,IAAM,qBAAqB,GAAG,UAAC,OAAwB;IACrD,OAAA,qBAAqB,CAAC,OAAO,EAAE,4BAAe,CAAC,gBAAgB,CAAC;AAAhE,CAAgE,CAAC;AAEnE,IAAM,oBAAoB,GAAG,UAAC,YAAmC;IAC/D,IAAM,mBAAmB,GAAG,kBAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,UAAA,EAAE,IAAI,OAAA,CAAC,iBAAO,CAAC,EAAE,CAAC,cAAc,CAAC,EAA3B,CAA2B,CAAC,CAAC;IACvG,OAAO,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,IAAM,mBAAmB,GAAG,UAAC,OAAwB;IACnD,OAAA,qBAAqB,CAAC,OAAO,EAAE,4BAAe,CAAC,eAAe,CAAC;AAA/D,CAA+D,CAAC;AAElE,IAAM,qBAAqB,GAAG,UAC5B,OAAwB,EACxB,SAA2F;;IAE3F,IAAM,KAAK,GAAG,MAAA,OAAO,CAAC,cAAc,0CAAE,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,SAAS,CAAC,EAAZ,CAAY,CAAC,CAAC;IAC9D,IAAM,QAAQ,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,SAAS,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC"}
@@ -0,0 +1,31 @@
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;
@@ -0,0 +1,90 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,70 @@
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
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=mill-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mill-info.js","sourceRoot":"","sources":["../src/mill-info.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export declare const millVersion: {
2
+ major: number;
3
+ minor: number;
4
+ patch: number;
5
+ };
6
+ export declare const millVersionString: string;
@@ -0,0 +1,10 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ export declare function generateValuesForParameterPools(runId: string): Promise<{
2
+ [key: string]: string;
3
+ }>;
@@ -0,0 +1,69 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ export declare const isPerformance: boolean;
@@ -0,0 +1,10 @@
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
@@ -0,0 +1 @@
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"}