@loadmill/core 0.3.33 → 0.3.37

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 (53) hide show
  1. package/dist/conf/extrema.d.ts +2 -2
  2. package/dist/conf/extrema.js +2 -0
  3. package/dist/conf/extrema.js.map +1 -1
  4. package/dist/conf/types.d.ts +1 -1
  5. package/dist/har/index.d.ts +16 -4
  6. package/dist/har/index.js.map +1 -1
  7. package/dist/parameters/extractors/extractor.d.ts +1 -1
  8. package/dist/parameters/extractors/index.d.ts +2 -1
  9. package/dist/parameters/extractors/index.js +3 -1
  10. package/dist/parameters/extractors/index.js.map +1 -1
  11. package/dist/parameters/extractors/parametrized-extractor.d.ts +4 -2
  12. package/dist/parameters/extractors/regex-extractor.js +2 -13
  13. package/dist/parameters/extractors/regex-extractor.js.map +1 -1
  14. package/dist/parameters/extractors/regex-matcher.d.ts +1 -0
  15. package/dist/parameters/extractors/regex-matcher.js +20 -0
  16. package/dist/parameters/extractors/regex-matcher.js.map +1 -0
  17. package/dist/parameters/extractors/ws-extractor.d.ts +30 -0
  18. package/dist/parameters/extractors/ws-extractor.js +198 -0
  19. package/dist/parameters/extractors/ws-extractor.js.map +1 -0
  20. package/dist/parameters/index.d.ts +6 -2
  21. package/dist/parameters/index.js +42 -3
  22. package/dist/parameters/index.js.map +1 -1
  23. package/dist/parameters/parameter-regex-providers.d.ts +3 -0
  24. package/dist/parameters/parameter-regex-providers.js +7 -1
  25. package/dist/parameters/parameter-regex-providers.js.map +1 -1
  26. package/dist/request/index.d.ts +7 -4
  27. package/dist/request/index.js +21 -9
  28. package/dist/request/index.js.map +1 -1
  29. package/dist/schema/json-schema-generator.d.ts +1 -1
  30. package/dist/schema/json-schema-generator.js +14 -10
  31. package/dist/schema/json-schema-generator.js.map +1 -1
  32. package/package.json +4 -4
  33. package/src/conf/extrema.ts +1 -1
  34. package/src/conf/index.ts +6 -6
  35. package/src/conf/notifications.ts +3 -3
  36. package/src/conf/types.ts +2 -2
  37. package/src/conf/validate.ts +1 -1
  38. package/src/echo/firehose.ts +10 -10
  39. package/src/har/index.ts +15 -5
  40. package/src/parameters/extractors/extractor.ts +1 -1
  41. package/src/parameters/extractors/index.ts +2 -1
  42. package/src/parameters/extractors/json-path-extractor.ts +1 -1
  43. package/src/parameters/extractors/parametrized-extractor.ts +3 -1
  44. package/src/parameters/extractors/regex-extractor.ts +2 -14
  45. package/src/parameters/extractors/regex-matcher.ts +16 -0
  46. package/src/parameters/extractors/ws-extractor.ts +89 -0
  47. package/src/parameters/index.ts +56 -8
  48. package/src/parameters/parameter-functions/textual-parameter-functions.ts +1 -1
  49. package/src/parameters/parameter-regex-providers.ts +8 -0
  50. package/src/request/index.ts +20 -9
  51. package/src/schema/json-schema-generator.ts +14 -12
  52. package/test/parameters/value-utils.spec.js +2 -2
  53. package/test/schema/json-schema-generator.spec.js +70 -45
@@ -1,7 +1,7 @@
1
1
  export declare const MIN_DURATION: number, MIN_DURATION_MINUTES = 1, MAX_DURATION: number, MIN_REQUEST_LOOPS_ITERATIONS = 1, MAX_REQUEST_LOOPS_ITERATIONS = 100, MIN_MAX_ITERATIONS = 5, MAX_MAX_ITERATIONS: number, MIN_REQUEST_DELAY = 50, MAX_REQUEST_DELAY = 300000, MIN_ITERATION_DELAY = 500, MAX_ITERATION_DELAY = 120000, MAX_EXECUTABLE_REQUESTS = 100, MAX_API_TEST_EXECUTABLE_REQUESTS = 200, MAX_PROCESSABLE_REQUESTS = 1000, MAX_LOAD_REQUEST_BODY_LENGTH: number, // 100KB
2
2
  MAX_API_REQUEST_BODY_LENGTH: number, // 5MB
3
3
  MAX_RESPONSE_BYTES: number, MAX_RESPONSE_COLLECT: number, MIN_REQUEST_TIMEOUT = 100, MAX_REQUEST_TIMEOUT = 120000, MAX_UNVERIFIED_CONCURRENCY = 5, MAX_UNVERIFIED_DURATION_MINUTES = 5, MAX_UNVERIFIED_DURATION: number, MIN_CONCURRENCY = 1, MAX_CONCURRENCY = 100000, MIN_RPS = 1, MAX_RPS: number, HIGH_MIN_RAMP_UP: number, HIGH_MIN_RAMP_UP_MINUTES = 1;
4
- export declare function rampUpExtrema(duration: any, concurrency: any): {
4
+ export declare function rampUpExtrema(duration?: number, concurrency?: number): {
5
5
  min: number;
6
- max: any;
6
+ max: number;
7
7
  };
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.rampUpExtrema = exports.HIGH_MIN_RAMP_UP_MINUTES = exports.HIGH_MIN_RAMP_UP = exports.MAX_RPS = exports.MIN_RPS = exports.MAX_CONCURRENCY = exports.MIN_CONCURRENCY = exports.MAX_UNVERIFIED_DURATION = exports.MAX_UNVERIFIED_DURATION_MINUTES = exports.MAX_UNVERIFIED_CONCURRENCY = exports.MAX_REQUEST_TIMEOUT = exports.MIN_REQUEST_TIMEOUT = exports.MAX_RESPONSE_COLLECT = exports.MAX_RESPONSE_BYTES = exports.MAX_API_REQUEST_BODY_LENGTH = exports.MAX_LOAD_REQUEST_BODY_LENGTH = exports.MAX_PROCESSABLE_REQUESTS = exports.MAX_API_TEST_EXECUTABLE_REQUESTS = exports.MAX_EXECUTABLE_REQUESTS = exports.MAX_ITERATION_DELAY = exports.MIN_ITERATION_DELAY = exports.MAX_REQUEST_DELAY = exports.MIN_REQUEST_DELAY = exports.MAX_MAX_ITERATIONS = exports.MIN_MAX_ITERATIONS = exports.MAX_REQUEST_LOOPS_ITERATIONS = exports.MIN_REQUEST_LOOPS_ITERATIONS = exports.MAX_DURATION = exports.MIN_DURATION_MINUTES = exports.MIN_DURATION = void 0;
4
4
  exports.MIN_DURATION = 60 * 1000, exports.MIN_DURATION_MINUTES = 1, exports.MAX_DURATION = 24 * 60 * 60 * 1000, exports.MIN_REQUEST_LOOPS_ITERATIONS = 1, exports.MAX_REQUEST_LOOPS_ITERATIONS = 100, exports.MIN_MAX_ITERATIONS = 5, exports.MAX_MAX_ITERATIONS = Number.MAX_SAFE_INTEGER / 2, exports.MIN_REQUEST_DELAY = 50, exports.MAX_REQUEST_DELAY = 300000, exports.MIN_ITERATION_DELAY = 500, exports.MAX_ITERATION_DELAY = 120000, exports.MAX_EXECUTABLE_REQUESTS = 100, exports.MAX_API_TEST_EXECUTABLE_REQUESTS = 200, exports.MAX_PROCESSABLE_REQUESTS = 1000, exports.MAX_LOAD_REQUEST_BODY_LENGTH = 100 * 1024, exports.MAX_API_REQUEST_BODY_LENGTH = 5000 * 1024, exports.MAX_RESPONSE_BYTES = 20 * 1024 * 1024, exports.MAX_RESPONSE_COLLECT = 110 * 1024, exports.MIN_REQUEST_TIMEOUT = 100, exports.MAX_REQUEST_TIMEOUT = 120000, exports.MAX_UNVERIFIED_CONCURRENCY = 5, exports.MAX_UNVERIFIED_DURATION_MINUTES = 5, exports.MAX_UNVERIFIED_DURATION = exports.MAX_UNVERIFIED_DURATION_MINUTES * 60 * 1000, exports.MIN_CONCURRENCY = 1, exports.MAX_CONCURRENCY = 100000, exports.MIN_RPS = 1, exports.MAX_RPS = exports.MAX_CONCURRENCY / 2, exports.HIGH_MIN_RAMP_UP = 60 * 1000, exports.HIGH_MIN_RAMP_UP_MINUTES = 1;
5
5
  function rampUpExtrema(duration, concurrency) {
6
+ if (duration === void 0) { duration = exports.MIN_DURATION; }
7
+ if (concurrency === void 0) { concurrency = exports.MIN_CONCURRENCY; }
6
8
  var min = concurrency < 200 ? 0 : exports.HIGH_MIN_RAMP_UP;
7
9
  return { min: min, max: duration };
8
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extrema.js","sourceRoot":"","sources":["../../src/conf/extrema.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,EAAE,GAAG,IAAI,EACnC,QAAA,oBAAoB,GAAG,CAAC,EACxB,QAAA,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAClC,QAAA,4BAA4B,GAAG,CAAC,EAChC,QAAA,4BAA4B,GAAG,GAAG,EAClC,QAAA,kBAAkB,GAAG,CAAC,EACtB,QAAA,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAChD,QAAA,iBAAiB,GAAG,EAAE,EACtB,QAAA,iBAAiB,GAAG,MAAM,EAC1B,QAAA,mBAAmB,GAAG,GAAG,EACzB,QAAA,mBAAmB,GAAG,MAAM,EAC5B,QAAA,uBAAuB,GAAG,GAAG,EAC7B,QAAA,gCAAgC,GAAG,GAAG,EACtC,QAAA,wBAAwB,GAAG,IAAI,EAC/B,QAAA,4BAA4B,GAAG,GAAG,GAAG,IAAI,EACzC,QAAA,2BAA2B,GAAG,IAAI,GAAG,IAAI,EACzC,QAAA,kBAAkB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,EACrC,QAAA,oBAAoB,GAAG,GAAG,GAAG,IAAI,EACjC,QAAA,mBAAmB,GAAG,GAAG,EACzB,QAAA,mBAAmB,GAAG,MAAM,EAC5B,QAAA,0BAA0B,GAAG,CAAC,EAC9B,QAAA,+BAA+B,GAAG,CAAC,EACnC,QAAA,uBAAuB,GAAG,uCAA+B,GAAG,EAAE,GAAG,IAAI,EACrE,QAAA,eAAe,GAAG,CAAC,EACnB,QAAA,eAAe,GAAG,MAAM,EACxB,QAAA,OAAO,GAAG,CAAC,EACX,QAAA,OAAO,GAAG,uBAAe,GAAG,CAAC,EAC7B,QAAA,gBAAgB,GAAG,EAAE,GAAG,IAAI,EAC5B,QAAA,wBAAwB,GAAG,CAAC,CAAC;AAE/B,SAAgB,aAAa,CAAC,QAAQ,EAAE,WAAW;IACjD,IAAM,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAgB,CAAC;IAErD,OAAO,EAAE,GAAG,KAAA,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAJD,sCAIC"}
1
+ {"version":3,"file":"extrema.js","sourceRoot":"","sources":["../../src/conf/extrema.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,EAAE,GAAG,IAAI,EACnC,QAAA,oBAAoB,GAAG,CAAC,EACxB,QAAA,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAClC,QAAA,4BAA4B,GAAG,CAAC,EAChC,QAAA,4BAA4B,GAAG,GAAG,EAClC,QAAA,kBAAkB,GAAG,CAAC,EACtB,QAAA,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAChD,QAAA,iBAAiB,GAAG,EAAE,EACtB,QAAA,iBAAiB,GAAG,MAAM,EAC1B,QAAA,mBAAmB,GAAG,GAAG,EACzB,QAAA,mBAAmB,GAAG,MAAM,EAC5B,QAAA,uBAAuB,GAAG,GAAG,EAC7B,QAAA,gCAAgC,GAAG,GAAG,EACtC,QAAA,wBAAwB,GAAG,IAAI,EAC/B,QAAA,4BAA4B,GAAG,GAAG,GAAG,IAAI,EACzC,QAAA,2BAA2B,GAAG,IAAI,GAAG,IAAI,EACzC,QAAA,kBAAkB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,EACrC,QAAA,oBAAoB,GAAG,GAAG,GAAG,IAAI,EACjC,QAAA,mBAAmB,GAAG,GAAG,EACzB,QAAA,mBAAmB,GAAG,MAAM,EAC5B,QAAA,0BAA0B,GAAG,CAAC,EAC9B,QAAA,+BAA+B,GAAG,CAAC,EACnC,QAAA,uBAAuB,GAAG,uCAA+B,GAAG,EAAE,GAAG,IAAI,EACrE,QAAA,eAAe,GAAG,CAAC,EACnB,QAAA,eAAe,GAAG,MAAM,EACxB,QAAA,OAAO,GAAG,CAAC,EACX,QAAA,OAAO,GAAG,uBAAe,GAAG,CAAC,EAC7B,QAAA,gBAAgB,GAAG,EAAE,GAAG,IAAI,EAC5B,QAAA,wBAAwB,GAAG,CAAC,CAAC;AAE/B,SAAgB,aAAa,CAAC,QAAuB,EAAE,WAA6B;IAAtD,yBAAA,EAAA,WAAW,oBAAY;IAAE,4BAAA,EAAA,cAAc,uBAAe;IAClF,IAAM,GAAG,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAgB,CAAC;IAErD,OAAO,EAAE,GAAG,KAAA,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAJD,sCAIC"}
@@ -49,7 +49,7 @@ export interface TestConfLike {
49
49
  concurrency?: number;
50
50
  monitoredEnv?: string;
51
51
  maxIterations?: number;
52
- iterationDelay?: number;
52
+ iterationDelay?: number | '';
53
53
  alwaysDistributed?: boolean;
54
54
  targetedCountries?: string[];
55
55
  notifications?: EmailNotification[] | TestRunNotification[];
@@ -15,10 +15,13 @@ export interface HarRequest {
15
15
  url: string;
16
16
  method: string;
17
17
  headers: HarHeaders;
18
- postData?: {
19
- mimeType: string;
20
- text: string;
21
- };
18
+ bodySize: number;
19
+ postData?: HarPostData;
20
+ cookies: Cookie[];
21
+ queryString: {
22
+ name: string;
23
+ value: string;
24
+ }[];
22
25
  }
23
26
  export declare type HarHeaders = HarHeader[];
24
27
  export declare type HarHeader = {
@@ -32,6 +35,15 @@ export interface HarResponse {
32
35
  content: {
33
36
  mimeType: string;
34
37
  text?: string;
38
+ encoding?: string;
35
39
  };
36
40
  }
41
+ export declare type Cookie = {
42
+ name: string;
43
+ value: string;
44
+ };
45
+ export declare type HarPostData = {
46
+ mimeType: string;
47
+ text: string;
48
+ };
37
49
  export declare const isHar: (obj: any) => any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/har/index.ts"],"names":[],"mappings":";;;AA6CO,IAAM,KAAK,GAAG,UAAC,GAAQ,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IACjD,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,QAAQ;IACnC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;IAChC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAHG,CAGH,CAAC;AAHpB,QAAA,KAAK,SAGe"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/har/index.ts"],"names":[],"mappings":";;;AAuDO,IAAM,KAAK,GAAG,UAAC,GAAQ,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IACjD,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,QAAQ;IACnC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;IAChC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAHG,CAGH,CAAC;AAHpB,QAAA,KAAK,SAGe"}
@@ -1,3 +1,3 @@
1
1
  export interface Extractor {
2
- extract(query: string | string[]): string | undefined;
2
+ extract(query: string | string[]): (string | undefined) | Promise<string | undefined>;
3
3
  }
@@ -5,4 +5,5 @@ import { HeaderExtractor } from './header-extractor';
5
5
  import { JsonPathExtractor } from './json-path-extractor';
6
6
  import { ParametrizedExtractor } from './parametrized-extractor';
7
7
  import { RegexExtractor } from './regex-extractor';
8
- export { CheerioExtractor, ExpressionExtractor, Extractor, HeaderExtractor, JsonPathExtractor, ParametrizedExtractor, RegexExtractor };
8
+ import { WsExtractor } from './ws-extractor';
9
+ export { CheerioExtractor, ExpressionExtractor, Extractor, HeaderExtractor, JsonPathExtractor, ParametrizedExtractor, RegexExtractor, WsExtractor };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RegexExtractor = exports.ParametrizedExtractor = exports.JsonPathExtractor = exports.HeaderExtractor = exports.ExpressionExtractor = exports.CheerioExtractor = void 0;
3
+ exports.WsExtractor = exports.RegexExtractor = exports.ParametrizedExtractor = exports.JsonPathExtractor = exports.HeaderExtractor = exports.ExpressionExtractor = exports.CheerioExtractor = void 0;
4
4
  var cheerio_extractor_1 = require("./cheerio-extractor");
5
5
  Object.defineProperty(exports, "CheerioExtractor", { enumerable: true, get: function () { return cheerio_extractor_1.CheerioExtractor; } });
6
6
  var expression_extractor_1 = require("./expression-extractor");
@@ -13,4 +13,6 @@ var parametrized_extractor_1 = require("./parametrized-extractor");
13
13
  Object.defineProperty(exports, "ParametrizedExtractor", { enumerable: true, get: function () { return parametrized_extractor_1.ParametrizedExtractor; } });
14
14
  var regex_extractor_1 = require("./regex-extractor");
15
15
  Object.defineProperty(exports, "RegexExtractor", { enumerable: true, get: function () { return regex_extractor_1.RegexExtractor; } });
16
+ var ws_extractor_1 = require("./ws-extractor");
17
+ Object.defineProperty(exports, "WsExtractor", { enumerable: true, get: function () { return ws_extractor_1.WsExtractor; } });
16
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parameters/extractors/index.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AAQ9C,iGARA,oCAAgB,OAQA;AAPzB,+DAA6D;AAOlC,oGAPlB,0CAAmB,OAOkB;AAL9C,uDAAqD;AAKM,gGALlD,kCAAe,OAKkD;AAJ1E,6DAA0D;AAIkB,kGAJnE,uCAAiB,OAImE;AAH7F,mEAAiE;AAG8B,sGAHtF,8CAAqB,OAGsF;AAFpH,qDAAmD;AAEmE,+FAF7G,gCAAc,OAE6G"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parameters/extractors/index.ts"],"names":[],"mappings":";;;AAAA,yDAAuD;AAS9C,iGATA,oCAAgB,OASA;AARzB,+DAA6D;AAQlC,oGARlB,0CAAmB,OAQkB;AAN9C,uDAAqD;AAMM,gGANlD,kCAAe,OAMkD;AAL1E,6DAA0D;AAKkB,kGALnE,uCAAiB,OAKmE;AAJ7F,mEAAiE;AAI8B,sGAJtF,8CAAqB,OAIsF;AAHpH,qDAAmD;AAGmE,+FAH7G,gCAAc,OAG6G;AAFpI,+CAA6C;AAEyF,4FAF7H,0BAAW,OAE6H"}
@@ -2,7 +2,9 @@ import { Extractor } from './extractor';
2
2
  import { Parameters } from '../type';
3
3
  export declare abstract class ParametrizedExtractor implements Extractor {
4
4
  private parameters;
5
- abstract extractResolved: (...resolvedQuery: string[]) => string | undefined;
5
+ abstract extractResolved: ResolvedExtracter;
6
6
  constructor(parameters: Parameters);
7
- extract: (parametrizedQuery: string | string[]) => string | undefined;
7
+ extract: (parametrizedQuery: string | string[]) => string | Promise<string | undefined> | undefined;
8
8
  }
9
+ declare type ResolvedExtracter = ((...resolvedQuery: string[]) => string | undefined | Promise<string | undefined>);
10
+ export {};
@@ -14,14 +14,10 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
- var __importDefault = (this && this.__importDefault) || function (mod) {
18
- return (mod && mod.__esModule) ? mod : { "default": mod };
19
- };
20
17
  Object.defineProperty(exports, "__esModule", { value: true });
21
18
  exports.RegexExtractor = void 0;
22
19
  var parametrized_extractor_1 = require("./parametrized-extractor");
23
- var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
24
- var MAX_STR_LENGTH = 500;
20
+ var regex_matcher_1 = require("./regex-matcher");
25
21
  var RegexExtractor = /** @class */ (function (_super) {
26
22
  __extends(RegexExtractor, _super);
27
23
  function RegexExtractor(targetProvider, parameters) {
@@ -39,14 +35,7 @@ var RegexExtractor = /** @class */ (function (_super) {
39
35
  value: function (regex) {
40
36
  var target = _this.targetProvider() || '';
41
37
  var regExp = new RegExp(regex);
42
- var matchArray = regExp.exec(target);
43
- log_1.default.debug('Regex parameter extraction:', {
44
- regExp: regExp,
45
- target: target.substring(0, MAX_STR_LENGTH),
46
- });
47
- if (matchArray && matchArray[1]) {
48
- return matchArray[1];
49
- }
38
+ return regex_matcher_1.matchRegex(regExp, target);
50
39
  }
51
40
  });
52
41
  return _this;
@@ -1 +1 @@
1
- {"version":3,"file":"regex-extractor.js","sourceRoot":"","sources":["../../../src/parameters/extractors/regex-extractor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,mEAAiE;AAEjE,qEAA+C;AAE/C,IAAM,cAAc,GAAG,GAAG,CAAC;AAE3B;IAAoC,kCAAqB;IACvD,wBACU,cAAwC,EAChD,UAAsB;QAFxB,YAIE,kBAAM,UAAU,CAAC,SAClB;;;;;mBAJS;;QAMV;;;;mBAAkB,UAAC,KAAa;gBAC9B,IAAM,MAAM,GAAG,KAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;gBAE3C,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEvC,aAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE;oBACvC,MAAM,QAAA;oBACN,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC;iBAC5C,CAAC,CAAC;gBAEH,IAAI,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;oBAC/B,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;iBACtB;YACH,CAAC;WAAC;;IAhBF,CAAC;IAiBH,qBAAC;AAAD,CAAC,AAvBD,CAAoC,8CAAqB,GAuBxD;AAvBY,wCAAc"}
1
+ {"version":3,"file":"regex-extractor.js","sourceRoot":"","sources":["../../../src/parameters/extractors/regex-extractor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,mEAAiE;AAEjE,iDAA6C;AAE7C;IAAoC,kCAAqB;IACvD,wBACU,cAAwC,EAChD,UAAsB;QAFxB,YAIE,kBAAM,UAAU,CAAC,SAClB;;;;;mBAJS;;QAMV;;;;mBAAkB,UAAC,KAAa;gBAC9B,IAAM,MAAM,GAAG,KAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;gBAC3C,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO,0BAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;WAAC;;IANF,CAAC;IAOH,qBAAC;AAAD,CAAC,AAbD,CAAoC,8CAAqB,GAaxD;AAbY,wCAAc"}
@@ -0,0 +1 @@
1
+ export declare const matchRegex: (regExp: RegExp, target: string) => string | undefined;
@@ -0,0 +1,20 @@
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.matchRegex = void 0;
7
+ var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
8
+ var MAX_STR_LENGTH = 500;
9
+ var matchRegex = function (regExp, target) {
10
+ var matchArray = regExp.exec(target);
11
+ log_1.default.debug('Regex parameter extraction:', {
12
+ regExp: regExp,
13
+ target: target.substring(0, MAX_STR_LENGTH),
14
+ });
15
+ if (matchArray && matchArray[1]) {
16
+ return matchArray[1];
17
+ }
18
+ };
19
+ exports.matchRegex = matchRegex;
20
+ //# sourceMappingURL=regex-matcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regex-matcher.js","sourceRoot":"","sources":["../../../src/parameters/extractors/regex-matcher.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA+C;AAE/C,IAAM,cAAc,GAAG,GAAG,CAAC;AAEpB,IAAM,UAAU,GAAG,UAAC,MAAc,EAAE,MAAc;IACvD,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvC,aAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE;QACvC,MAAM,QAAA;QACN,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC;KAC5C,CAAC,CAAC;IAEH,IAAI,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;QAC/B,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;KACtB;AACH,CAAC,CAAC;AAXW,QAAA,UAAU,cAWrB"}
@@ -0,0 +1,30 @@
1
+ import { Parameters } from '../type';
2
+ import { ParametrizedExtractor } from './parametrized-extractor';
3
+ export declare class WsExtractor extends ParametrizedExtractor {
4
+ private readonly _messages;
5
+ private readonly _timeLimit;
6
+ constructor(extractionData: WSExtractionData | undefined, parameters: Parameters);
7
+ extractResolved: (resolvedRegex: string) => Promise<string | undefined>;
8
+ /**
9
+ * Querying all received incoming WS messages by regexp.
10
+ * @returns A WS message that satisfies the given regexp. If none found, returns an empty string.
11
+ * @throws RequestFailuresError if the procedure timeouts before any relevant message found.
12
+ */
13
+ private queryMessage;
14
+ private readonly GIVE_WS_MSG_TIME_MS;
15
+ /**
16
+ * Get an incoming ws message that satisfies the given regex, out of all already received incoming ws messages.
17
+ *
18
+ * If can't find that message, then actively waiting, until procedure timeouts.
19
+ * @param regex To test the messages with
20
+ * @param timeout Milliseconds for the procedure to find a message
21
+ * @returns ws message as string or undefined if timed out
22
+ */
23
+ private getWSMessageOrTimeout;
24
+ private findMessageByRegex;
25
+ private getLastMessage;
26
+ }
27
+ export declare type WSExtractionData = {
28
+ messages: string[];
29
+ timeLimit: number;
30
+ };
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ 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;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ var __importDefault = (this && this.__importDefault) || function (mod) {
54
+ return (mod && mod.__esModule) ? mod : { "default": mod };
55
+ };
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ exports.WsExtractor = void 0;
58
+ var errors_1 = require("@loadmill/universal/dist/errors");
59
+ var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
60
+ var promise_utils_1 = require("@loadmill/universal/dist/promise-utils");
61
+ var parameter_regex_providers_1 = require("../parameter-regex-providers");
62
+ var parametrized_extractor_1 = require("./parametrized-extractor");
63
+ var regex_matcher_1 = require("./regex-matcher");
64
+ var WsExtractor = /** @class */ (function (_super) {
65
+ __extends(WsExtractor, _super);
66
+ function WsExtractor(extractionData, parameters) {
67
+ if (extractionData === void 0) { extractionData = { messages: [], timeLimit: 0 }; }
68
+ var _this = _super.call(this, parameters) || this;
69
+ Object.defineProperty(_this, "_messages", {
70
+ enumerable: true,
71
+ configurable: true,
72
+ writable: true,
73
+ value: void 0
74
+ });
75
+ Object.defineProperty(_this, "_timeLimit", {
76
+ enumerable: true,
77
+ configurable: true,
78
+ writable: true,
79
+ value: void 0
80
+ });
81
+ Object.defineProperty(_this, "extractResolved", {
82
+ enumerable: true,
83
+ configurable: true,
84
+ writable: true,
85
+ value: function (resolvedRegex) { return __awaiter(_this, void 0, void 0, function () {
86
+ var regexp, wsMessage;
87
+ return __generator(this, function (_a) {
88
+ switch (_a.label) {
89
+ case 0:
90
+ log_1.default.debug('Resolved WS extraction regex:', resolvedRegex);
91
+ regexp = new RegExp(resolvedRegex || parameter_regex_providers_1.CAPTURE_ALL_REGEX);
92
+ return [4 /*yield*/, this.queryMessage(regexp)];
93
+ case 1:
94
+ wsMessage = _a.sent();
95
+ log_1.default.debug('WS message queried and found:', wsMessage);
96
+ return [2 /*return*/, regex_matcher_1.matchRegex(regexp, wsMessage)];
97
+ }
98
+ });
99
+ }); }
100
+ });
101
+ Object.defineProperty(_this, "GIVE_WS_MSG_TIME_MS", {
102
+ enumerable: true,
103
+ configurable: true,
104
+ writable: true,
105
+ value: 250
106
+ });
107
+ _this._messages = extractionData.messages;
108
+ _this._timeLimit = extractionData.timeLimit;
109
+ return _this;
110
+ }
111
+ /**
112
+ * Querying all received incoming WS messages by regexp.
113
+ * @returns A WS message that satisfies the given regexp. If none found, returns an empty string.
114
+ * @throws RequestFailuresError if the procedure timeouts before any relevant message found.
115
+ */
116
+ Object.defineProperty(WsExtractor.prototype, "queryMessage", {
117
+ enumerable: false,
118
+ configurable: true,
119
+ writable: true,
120
+ value: function (regexp) {
121
+ return __awaiter(this, void 0, void 0, function () {
122
+ var res;
123
+ return __generator(this, function (_a) {
124
+ switch (_a.label) {
125
+ case 0: return [4 /*yield*/, this.getWSMessageOrTimeout(regexp)];
126
+ case 1:
127
+ res = _a.sent();
128
+ if (!res) {
129
+ throw new errors_1.PresentableError('Websocket waiting timeout expired');
130
+ }
131
+ return [2 /*return*/, res];
132
+ }
133
+ });
134
+ });
135
+ }
136
+ });
137
+ /**
138
+ * Get an incoming ws message that satisfies the given regex, out of all already received incoming ws messages.
139
+ *
140
+ * If can't find that message, then actively waiting, until procedure timeouts.
141
+ * @param regex To test the messages with
142
+ * @param timeout Milliseconds for the procedure to find a message
143
+ * @returns ws message as string or undefined if timed out
144
+ */
145
+ Object.defineProperty(WsExtractor.prototype, "getWSMessageOrTimeout", {
146
+ enumerable: false,
147
+ configurable: true,
148
+ writable: true,
149
+ value: function (regexp) {
150
+ return __awaiter(this, void 0, void 0, function () {
151
+ var startTime, message, elapsedTime;
152
+ return __generator(this, function (_a) {
153
+ switch (_a.label) {
154
+ case 0:
155
+ startTime = Date.now();
156
+ message = '';
157
+ elapsedTime = 0;
158
+ _a.label = 1;
159
+ case 1:
160
+ if (!(!message && elapsedTime < this._timeLimit)) return [3 /*break*/, 3];
161
+ message = this.findMessageByRegex(regexp) || '';
162
+ if (message) {
163
+ return [3 /*break*/, 3];
164
+ }
165
+ return [4 /*yield*/, promise_utils_1.delay(this.GIVE_WS_MSG_TIME_MS)];
166
+ case 2:
167
+ _a.sent();
168
+ elapsedTime = Date.now() - startTime;
169
+ return [3 /*break*/, 1];
170
+ case 3: return [2 /*return*/, message];
171
+ }
172
+ });
173
+ });
174
+ }
175
+ });
176
+ Object.defineProperty(WsExtractor.prototype, "findMessageByRegex", {
177
+ enumerable: false,
178
+ configurable: true,
179
+ writable: true,
180
+ value: function (regexp) {
181
+ if (parameter_regex_providers_1.isCaptureAllRegExp(regexp)) {
182
+ return this.getLastMessage();
183
+ }
184
+ return this._messages.find(function (msg) { return regexp.test(msg); });
185
+ }
186
+ });
187
+ Object.defineProperty(WsExtractor.prototype, "getLastMessage", {
188
+ enumerable: false,
189
+ configurable: true,
190
+ writable: true,
191
+ value: function () {
192
+ return this._messages[this._messages.length - 1];
193
+ }
194
+ });
195
+ return WsExtractor;
196
+ }(parametrized_extractor_1.ParametrizedExtractor));
197
+ exports.WsExtractor = WsExtractor;
198
+ //# sourceMappingURL=ws-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-extractor.js","sourceRoot":"","sources":["../../../src/parameters/extractors/ws-extractor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAmE;AACnE,qEAA+C;AAC/C,wEAA+D;AAC/D,0EAAqF;AAErF,mEAAiE;AACjE,iDAA6C;AAE7C;IAAiC,+BAAqB;IAGpD,qBACE,cAAiE,EACjE,UAAsB;QADtB,+BAAA,EAAA,mBAAqC,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;QADnE,YAIE,kBAAM,UAAU,CAAC,SAGlB;QATD;;;;;WAAqC;QACrC;;;;;WAAoC;QAUpC;;;;mBAAkB,UAAO,aAAqB;;;;;4BAC5C,aAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,aAAa,CAAC,CAAC;4BACpD,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,IAAI,6CAAiB,CAAC,CAAC;4BAC5C,qBAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAA;;4BAA3C,SAAS,GAAG,SAA+B;4BACjD,aAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC;4BAEtD,sBAAO,0BAAU,CAAC,MAAM,EAAE,SAAS,CAAC,EAAC;;;iBACtC;WAAC;QAiBF;;;;mBAAuC,GAAG;WAAC;QA5BzC,KAAI,CAAC,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC;QACzC,KAAI,CAAC,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC;;IAC7C,CAAC;IAWD;;;;OAIG;;;;;eACH,UACE,MAAc;;;;;gCAEF,qBAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAA;;4BAA9C,GAAG,GAAG,SAAwC;4BACpD,IAAI,CAAC,GAAG,EAAE;gCACR,MAAM,IAAI,yBAAgB,CAAC,mCAAmC,CAAC,CAAC;6BACjE;4BACD,sBAAO,GAAG,EAAC;;;;SACZ;;IAID;;;;;;;OAOG;;;;;eACH,UACE,MAAc;;;;;;4BAER,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BACzB,OAAO,GAAG,EAAE,CAAC;4BACb,WAAW,GAAG,CAAC,CAAC;;;iCAEb,CAAA,CAAC,OAAO,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAA;4BAC9C,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;4BAChD,IAAI,OAAO,EAAE;gCACX,wBAAM;6BACP;4BAED,qBAAM,qBAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAA;;4BAArC,SAAqC,CAAC;4BACtC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;;gCAEvC,sBAAO,OAAO,EAAC;;;;SAChB;;;;;;eAED,UAA2B,MAAc;YACvC,IAAI,8CAAkB,CAAC,MAAM,CAAC,EAAE;gBAC9B,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;aAC9B;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;QACtD,CAAC;;;;;;eAED;YACE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC;;IACH,kBAAC;AAAD,CAAC,AA3ED,CAAiC,8CAAqB,GA2ErD;AA3EY,kCAAW"}
@@ -3,6 +3,7 @@ import * as valueUtils from './value-utils';
3
3
  import { parameterFunctionOperations } from './parameter-functions/parameter-functions';
4
4
  import { usageRegExpProvider, LEGAL_PARAM_CHARS, CAPTURE_REGEX } from './parameter-regex-providers';
5
5
  import { PresentableError } from '@loadmill/universal/dist/errors';
6
+ import { TestConfLike } from '../conf';
6
7
  export declare const MAX_PARAM_ARRAY_SIZE = 100;
7
8
  export { CAPTURE_REGEX, LEGAL_PARAM_CHARS, parameterFunctionOperations, Parameters, ParametersScope, PresentableError, SequenceExecutorParameters, usageRegExpProvider, valueUtils, };
8
9
  export declare class ParameterError extends PresentableError {
@@ -27,10 +28,12 @@ export declare const parameterUtils: {
27
28
  * ${__encode_url(param1)}
28
29
  * ${__if_then_else(param12,'good','bad')}
29
30
  */
30
- searchParameterOccurrences(parameterName: string, data: string): Array<string>;
31
+ searchParameterizedExpressionOccurrences(parameterName: string, data: string): Array<string>;
31
32
  requestsExtractionsArr(requests: any, toIndex: number): string[];
32
- getUsedConfParams(conf: any, parameters: Parameters[]): Parameters[];
33
+ getUsedConfParams(conf: TestConfLike, parameters: Parameters[]): Parameters[];
34
+ getUsedRequestParams(request: any, parameters: Parameters[]): Parameters[];
33
35
  getValueByKeyFromArr(key: string, parameters: Parameters[]): any;
36
+ pickFirstValue(p: Parameters): Parameters;
34
37
  getParameterValue(parameter: Parameters): string | string[];
35
38
  getParameterName(parameter: Parameters): string;
36
39
  getParametersNames(parameters: Parameters[]): string[];
@@ -48,6 +51,7 @@ export declare const parameterUtils: {
48
51
  findParamValueInArr(value: any, arr: any): any;
49
52
  findUsedParameters(suiteParameters: Parameters[], param: Parameters, usedParameters: Parameters[]): Parameters[];
50
53
  applyJSONSchema(instance: any, schema: any): boolean;
54
+ isUsingParameterizedValue(value: string): boolean;
51
55
  };
52
56
  export declare const stripToFunctionAndArgs: (s: string) => string[];
53
57
  export declare const stripParam: (s: string) => string;
@@ -240,7 +240,7 @@ exports.parameterUtils = {
240
240
  * ${__encode_url(param1)}
241
241
  * ${__if_then_else(param12,'good','bad')}
242
242
  */
243
- searchParameterOccurrences: function (parameterName, data) {
243
+ searchParameterizedExpressionOccurrences: function (parameterName, data) {
244
244
  return data.match(parameter_regex_providers_1.getParameterUsageRegexp(parameterName)) || [];
245
245
  },
246
246
  requestsExtractionsArr: function (requests, toIndex) {
@@ -265,7 +265,7 @@ exports.parameterUtils = {
265
265
  var stringifyConf_1 = JSON.stringify(conf);
266
266
  parameters.forEach(function (p) {
267
267
  var paramName = _this.getParameterName(p);
268
- if (!isEmpty(_this.searchParameterOccurrences(paramName, stringifyConf_1))) {
268
+ if (isParamUsedInConf(paramName, conf, stringifyConf_1)) {
269
269
  var currentUsedParams = _this.findUsedParameters(parameters, p, []);
270
270
  usedParameters = usedParameters.concat(currentUsedParams);
271
271
  }
@@ -273,6 +273,9 @@ exports.parameterUtils = {
273
273
  }
274
274
  return uniqWith(usedParameters, isEqual);
275
275
  },
276
+ getUsedRequestParams: function (request, parameters) {
277
+ return this.getUsedConfParams({ requests: [request] }, parameters);
278
+ },
276
279
  getValueByKeyFromArr: function (key, parameters) {
277
280
  var res;
278
281
  var param = getParameterByKey(key, parameters);
@@ -284,6 +287,15 @@ exports.parameterUtils = {
284
287
  }
285
288
  return res;
286
289
  },
290
+ pickFirstValue: function (p) {
291
+ var _a, _b;
292
+ var name = exports.parameterUtils.getParameterName(p);
293
+ var value = exports.parameterUtils.getParameterValue(p);
294
+ if (Array.isArray(value) && value.length > 0) {
295
+ return _a = {}, _a[name] = value[0], _a;
296
+ }
297
+ return _b = {}, _b[name] = value, _b;
298
+ },
287
299
  getParameterValue: function (parameter) {
288
300
  var value = Object.values(parameter)[0];
289
301
  return value;
@@ -370,7 +382,10 @@ exports.parameterUtils = {
370
382
  },
371
383
  applyJSONSchema: function (instance, schema) {
372
384
  return json_schema_1.applyJSONSchema(instance, schema);
373
- }
385
+ },
386
+ isUsingParameterizedValue: function (value) {
387
+ return parameter_regex_providers_1.PARAM_USAGE_REGEXP.test(value);
388
+ },
374
389
  };
375
390
  function resolvePlainParameter(parameterName, parameters) {
376
391
  if (parameters.hasOwnProperty(parameterName)) {
@@ -531,4 +546,28 @@ var getTokensWithoutOperators = function (paramOccurrence) {
531
546
  return stripOperators(tokens);
532
547
  };
533
548
  exports.getTokensWithoutOperators = getTokensWithoutOperators;
549
+ function isParamUsedInConf(paramName, conf, stringifyConf) {
550
+ return !isEmpty(exports.parameterUtils.searchParameterizedExpressionOccurrences(paramName, stringifyConf)) ||
551
+ isParamNameUsedInConf(paramName, conf);
552
+ }
553
+ function isParamNameUsedInField(paramName, fieldValue) {
554
+ return !!fieldValue && fieldValue === paramName;
555
+ }
556
+ function isParamNameUsedInAssertions(paramName, assertions) {
557
+ if (assertions === void 0) { assertions = []; }
558
+ return assertions.some(function (assertion) { return assertion.check === paramName; });
559
+ }
560
+ function isParamNameUsedInRequest(paramName, request) {
561
+ var _a, _b, _c;
562
+ return isParamNameUsedInAssertions(paramName, request.assert) ||
563
+ isParamNameUsedInField(paramName, (_b = (_a = request.loop) === null || _a === void 0 ? void 0 : _a.assert) === null || _b === void 0 ? void 0 : _b.check) ||
564
+ isParamNameUsedInField(paramName, (_c = request.skipBefore) === null || _c === void 0 ? void 0 : _c.condition) ||
565
+ isParamNameUsedInField(paramName, request.stopBefore);
566
+ }
567
+ function isParamNameUsedInConf(paramName, conf) {
568
+ if (!isEmpty(conf.requests)) {
569
+ return conf.requests.some(function (req) { return isParamNameUsedInRequest(paramName, req); });
570
+ }
571
+ return false;
572
+ }
534
573
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parameters/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parameters/index.ts"],"names":[],"mappings":"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"}