@loadmill/core 0.3.109 → 0.3.111

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 (196) hide show
  1. package/dist/conf/defaults.d.ts +1 -0
  2. package/dist/conf/defaults.js +11 -0
  3. package/dist/conf/defaults.js.map +1 -0
  4. package/dist/conf/extrema.d.ts +7 -0
  5. package/dist/conf/extrema.js +12 -0
  6. package/dist/conf/extrema.js.map +1 -0
  7. package/dist/conf/index.d.ts +15 -0
  8. package/dist/conf/index.js +80 -0
  9. package/dist/conf/index.js.map +1 -0
  10. package/dist/conf/notifications.d.ts +2 -0
  11. package/dist/conf/notifications.js +19 -0
  12. package/dist/conf/notifications.js.map +1 -0
  13. package/dist/conf/types.d.ts +110 -0
  14. package/dist/conf/types.js +38 -0
  15. package/dist/conf/types.js.map +1 -0
  16. package/dist/conf/validate.d.ts +69 -0
  17. package/dist/conf/validate.js +495 -0
  18. package/dist/conf/validate.js.map +1 -0
  19. package/dist/distributed-logger-reporter.d.ts +3 -0
  20. package/dist/distributed-logger-reporter.js +74 -0
  21. package/dist/distributed-logger-reporter.js.map +1 -0
  22. package/dist/echo/firehose.d.ts +7 -0
  23. package/dist/echo/firehose.js +130 -0
  24. package/dist/echo/firehose.js.map +1 -0
  25. package/dist/echo/index.d.ts +3 -0
  26. package/dist/echo/index.js +8 -0
  27. package/dist/echo/index.js.map +1 -0
  28. package/dist/echo/stats.d.ts +8 -0
  29. package/dist/echo/stats.js +152 -0
  30. package/dist/echo/stats.js.map +1 -0
  31. package/dist/har/index.d.ts +68 -0
  32. package/dist/har/index.js +14 -0
  33. package/dist/har/index.js.map +1 -0
  34. package/dist/labels/constants.d.ts +1 -0
  35. package/dist/labels/constants.js +5 -0
  36. package/dist/labels/constants.js.map +1 -0
  37. package/dist/multipart-form-data/files.d.ts +2 -0
  38. package/dist/multipart-form-data/files.js +63 -0
  39. package/dist/multipart-form-data/files.js.map +1 -0
  40. package/dist/multipart-form-data/form-data-utils.d.ts +19 -0
  41. package/dist/multipart-form-data/form-data-utils.js +117 -0
  42. package/dist/multipart-form-data/form-data-utils.js.map +1 -0
  43. package/dist/multipart-form-data/is-binary-file.d.ts +2 -0
  44. package/dist/multipart-form-data/is-binary-file.js +215 -0
  45. package/dist/multipart-form-data/is-binary-file.js.map +1 -0
  46. package/dist/multipart-form-data/multipart-text-to-post-form-data.d.ts +2 -0
  47. package/dist/multipart-form-data/multipart-text-to-post-form-data.js +86 -0
  48. package/dist/multipart-form-data/multipart-text-to-post-form-data.js.map +1 -0
  49. package/dist/parameters/extractions.d.ts +26 -0
  50. package/dist/parameters/extractions.js +49 -0
  51. package/dist/parameters/extractions.js.map +1 -0
  52. package/dist/parameters/extractors/cheerio-extractor.d.ts +11 -0
  53. package/dist/parameters/extractors/cheerio-extractor.js +84 -0
  54. package/dist/parameters/extractors/cheerio-extractor.js.map +1 -0
  55. package/dist/parameters/extractors/expression-extractor.d.ts +6 -0
  56. package/dist/parameters/extractors/expression-extractor.js +38 -0
  57. package/dist/parameters/extractors/expression-extractor.js.map +1 -0
  58. package/dist/parameters/extractors/extractor.d.ts +3 -0
  59. package/dist/parameters/extractors/extractor.js +3 -0
  60. package/dist/parameters/extractors/extractor.js.map +1 -0
  61. package/dist/parameters/extractors/header-extractor.d.ts +7 -0
  62. package/dist/parameters/extractors/header-extractor.js +51 -0
  63. package/dist/parameters/extractors/header-extractor.js.map +1 -0
  64. package/dist/parameters/extractors/index.d.ts +10 -0
  65. package/dist/parameters/extractors/index.js +20 -0
  66. package/dist/parameters/extractors/index.js.map +1 -0
  67. package/dist/parameters/extractors/json-path-extractor.d.ts +12 -0
  68. package/dist/parameters/extractors/json-path-extractor.js +167 -0
  69. package/dist/parameters/extractors/json-path-extractor.js.map +1 -0
  70. package/dist/parameters/extractors/parametrized-extractor.d.ts +10 -0
  71. package/dist/parameters/extractors/parametrized-extractor.js +34 -0
  72. package/dist/parameters/extractors/parametrized-extractor.js.map +1 -0
  73. package/dist/parameters/extractors/regex-extractor.d.ts +7 -0
  74. package/dist/parameters/extractors/regex-extractor.js +46 -0
  75. package/dist/parameters/extractors/regex-extractor.js.map +1 -0
  76. package/dist/parameters/extractors/regex-matcher.d.ts +1 -0
  77. package/dist/parameters/extractors/regex-matcher.js +21 -0
  78. package/dist/parameters/extractors/regex-matcher.js.map +1 -0
  79. package/dist/parameters/extractors/ws-extractor.d.ts +33 -0
  80. package/dist/parameters/extractors/ws-extractor.js +215 -0
  81. package/dist/parameters/extractors/ws-extractor.js.map +1 -0
  82. package/dist/parameters/extractors/x-path-extractor.d.ts +9 -0
  83. package/dist/parameters/extractors/x-path-extractor.js +71 -0
  84. package/dist/parameters/extractors/x-path-extractor.js.map +1 -0
  85. package/dist/parameters/generate-random.d.ts +13 -0
  86. package/dist/parameters/generate-random.js +108 -0
  87. package/dist/parameters/generate-random.js.map +1 -0
  88. package/dist/parameters/html-utils.d.ts +1 -0
  89. package/dist/parameters/html-utils.js +18 -0
  90. package/dist/parameters/html-utils.js.map +1 -0
  91. package/dist/parameters/index.d.ts +89 -0
  92. package/dist/parameters/index.js +619 -0
  93. package/dist/parameters/index.js.map +1 -0
  94. package/dist/parameters/json-path-utils.d.ts +1 -0
  95. package/dist/parameters/json-path-utils.js +16 -0
  96. package/dist/parameters/json-path-utils.js.map +1 -0
  97. package/dist/parameters/operators/binary-operator.d.ts +13 -0
  98. package/dist/parameters/operators/binary-operator.js +39 -0
  99. package/dist/parameters/operators/binary-operator.js.map +1 -0
  100. package/dist/parameters/operators/index.d.ts +5 -0
  101. package/dist/parameters/operators/index.js +21 -0
  102. package/dist/parameters/operators/index.js.map +1 -0
  103. package/dist/parameters/parameter-functions/boolean-parameter-functions.d.ts +12 -0
  104. package/dist/parameters/parameter-functions/boolean-parameter-functions.js +47 -0
  105. package/dist/parameters/parameter-functions/boolean-parameter-functions.js.map +1 -0
  106. package/dist/parameters/parameter-functions/crypto.d.ts +11 -0
  107. package/dist/parameters/parameter-functions/crypto.js +71 -0
  108. package/dist/parameters/parameter-functions/crypto.js.map +1 -0
  109. package/dist/parameters/parameter-functions/json-schema.d.ts +1 -0
  110. package/dist/parameters/parameter-functions/json-schema.js +33 -0
  111. package/dist/parameters/parameter-functions/json-schema.js.map +1 -0
  112. package/dist/parameters/parameter-functions/numeric-input-parameter-functions.d.ts +11 -0
  113. package/dist/parameters/parameter-functions/numeric-input-parameter-functions.js +34 -0
  114. package/dist/parameters/parameter-functions/numeric-input-parameter-functions.js.map +1 -0
  115. package/dist/parameters/parameter-functions/numeric-parameter-functions.d.ts +15 -0
  116. package/dist/parameters/parameter-functions/numeric-parameter-functions.js +56 -0
  117. package/dist/parameters/parameter-functions/numeric-parameter-functions.js.map +1 -0
  118. package/dist/parameters/parameter-functions/parameter-function-utils.d.ts +5 -0
  119. package/dist/parameters/parameter-functions/parameter-function-utils.js +82 -0
  120. package/dist/parameters/parameter-functions/parameter-function-utils.js.map +1 -0
  121. package/dist/parameters/parameter-functions/parameter-function.d.ts +6 -0
  122. package/dist/parameters/parameter-functions/parameter-function.js +28 -0
  123. package/dist/parameters/parameter-functions/parameter-function.js.map +1 -0
  124. package/dist/parameters/parameter-functions/parameter-functions.d.ts +7 -0
  125. package/dist/parameters/parameter-functions/parameter-functions.js +53 -0
  126. package/dist/parameters/parameter-functions/parameter-functions.js.map +1 -0
  127. package/dist/parameters/parameter-functions/random-parameter-functions.d.ts +1 -0
  128. package/dist/parameters/parameter-functions/random-parameter-functions.js +43 -0
  129. package/dist/parameters/parameter-functions/random-parameter-functions.js.map +1 -0
  130. package/dist/parameters/parameter-functions/textual-parameter-functions.d.ts +67 -0
  131. package/dist/parameters/parameter-functions/textual-parameter-functions.js +403 -0
  132. package/dist/parameters/parameter-functions/textual-parameter-functions.js.map +1 -0
  133. package/dist/parameters/parameter-name-utils.d.ts +5 -0
  134. package/dist/parameters/parameter-name-utils.js +137 -0
  135. package/dist/parameters/parameter-name-utils.js.map +1 -0
  136. package/dist/parameters/parameter-regex-providers.d.ts +24 -0
  137. package/dist/parameters/parameter-regex-providers.js +70 -0
  138. package/dist/parameters/parameter-regex-providers.js.map +1 -0
  139. package/dist/parameters/resolvers/random-parameters-resolver.d.ts +1 -0
  140. package/dist/parameters/resolvers/random-parameters-resolver.js +12 -0
  141. package/dist/parameters/resolvers/random-parameters-resolver.js.map +1 -0
  142. package/dist/parameters/type.d.ts +10 -0
  143. package/dist/parameters/type.js +9 -0
  144. package/dist/parameters/type.js.map +1 -0
  145. package/dist/parameters/value-utils.d.ts +5 -0
  146. package/dist/parameters/value-utils.js +44 -0
  147. package/dist/parameters/value-utils.js.map +1 -0
  148. package/dist/request/index.d.ts +265 -0
  149. package/dist/request/index.js +541 -0
  150. package/dist/request/index.js.map +1 -0
  151. package/dist/schema/json-schema-generator.d.ts +20 -0
  152. package/dist/schema/json-schema-generator.js +135 -0
  153. package/dist/schema/json-schema-generator.js.map +1 -0
  154. package/dist/signals.d.ts +4 -0
  155. package/dist/signals.js +9 -0
  156. package/dist/signals.js.map +1 -0
  157. package/dist/subset/index.d.ts +3 -0
  158. package/dist/subset/index.js +8 -0
  159. package/dist/subset/index.js.map +1 -0
  160. package/dist/subset/is-subset.d.ts +2 -0
  161. package/dist/subset/is-subset.js +29 -0
  162. package/dist/subset/is-subset.js.map +1 -0
  163. package/dist/subset/json-contains.d.ts +1 -0
  164. package/dist/subset/json-contains.js +24 -0
  165. package/dist/subset/json-contains.js.map +1 -0
  166. package/dist/team-options/constants.d.ts +3 -0
  167. package/dist/team-options/constants.js +7 -0
  168. package/dist/team-options/constants.js.map +1 -0
  169. package/dist/xml/decode.d.ts +2 -0
  170. package/dist/xml/decode.js +87 -0
  171. package/dist/xml/decode.js.map +1 -0
  172. package/dist/xml/encode.d.ts +1 -0
  173. package/dist/xml/encode.js +14 -0
  174. package/dist/xml/encode.js.map +1 -0
  175. package/dist/xml/escape-reserved-chars.d.ts +6 -0
  176. package/dist/xml/escape-reserved-chars.js +57 -0
  177. package/dist/xml/escape-reserved-chars.js.map +1 -0
  178. package/dist/xml/is-xml.d.ts +1 -0
  179. package/dist/xml/is-xml.js +9 -0
  180. package/dist/xml/is-xml.js.map +1 -0
  181. package/dist/xml/json-to-xml.d.ts +2 -0
  182. package/dist/xml/json-to-xml.js +11 -0
  183. package/dist/xml/json-to-xml.js.map +1 -0
  184. package/dist/xml/namespaces.d.ts +7 -0
  185. package/dist/xml/namespaces.js +16 -0
  186. package/dist/xml/namespaces.js.map +1 -0
  187. package/dist/xml/remove-invisible-chars.d.ts +2 -0
  188. package/dist/xml/remove-invisible-chars.js +13 -0
  189. package/dist/xml/remove-invisible-chars.js.map +1 -0
  190. package/dist/xml/replace-s-tags.d.ts +4 -0
  191. package/dist/xml/replace-s-tags.js +21 -0
  192. package/dist/xml/replace-s-tags.js.map +1 -0
  193. package/dist/xml/xml-to-json.d.ts +7 -0
  194. package/dist/xml/xml-to-json.js +21 -0
  195. package/dist/xml/xml-to-json.js.map +1 -0
  196. package/package.json +3 -3
@@ -0,0 +1,71 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.XPathExtractor = void 0;
22
+ var xpath_1 = __importDefault(require("xpath"));
23
+ var xmldom_1 = require("@xmldom/xmldom");
24
+ var parametrized_extractor_1 = require("./parametrized-extractor");
25
+ var XPathExtractor = /** @class */ (function (_super) {
26
+ __extends(XPathExtractor, _super);
27
+ function XPathExtractor(target, parameters) {
28
+ var _this = _super.call(this, parameters) || this;
29
+ Object.defineProperty(_this, "$", {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value: void 0
34
+ });
35
+ Object.defineProperty(_this, "select", {
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true,
39
+ value: void 0
40
+ });
41
+ Object.defineProperty(_this, "extractResolved", {
42
+ enumerable: true,
43
+ configurable: true,
44
+ writable: true,
45
+ value: function (resolvedXPath) {
46
+ var res = _this.select(resolvedXPath, _this.$).toString();
47
+ return res;
48
+ }
49
+ });
50
+ _this.$ = new xmldom_1.DOMParser().parseFromString(target, 'text/xml');
51
+ _this.select = _this.getSelectUsingNameSpaces();
52
+ return _this;
53
+ }
54
+ Object.defineProperty(XPathExtractor.prototype, "getSelectUsingNameSpaces", {
55
+ enumerable: false,
56
+ configurable: true,
57
+ writable: true,
58
+ value: function () {
59
+ var namespaces = {};
60
+ var namespaceAttributes = xpath_1.default.select('//@*[starts-with(name(), \'xmlns\')]', this.$);
61
+ namespaceAttributes.forEach(function (attr) {
62
+ var prefix = attr.nodeName.startsWith('xmlns:') ? attr.nodeName.split(':')[1] : 'default';
63
+ namespaces[prefix] = attr.nodeValue;
64
+ });
65
+ return xpath_1.default.useNamespaces(namespaces);
66
+ }
67
+ });
68
+ return XPathExtractor;
69
+ }(parametrized_extractor_1.ParametrizedExtractor));
70
+ exports.XPathExtractor = XPathExtractor;
71
+ //# sourceMappingURL=x-path-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x-path-extractor.js","sourceRoot":"","sources":["../../../src/parameters/extractors/x-path-extractor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,yCAA2C;AAG3C,mEAAiE;AAEjE;IAAoC,kCAAqB;IAIvD,wBAAY,MAAc,EAAE,UAAsB;QAAlD,YACE,kBAAM,UAAU,CAAC,SAGlB;QAPD;;;;;WAAoB;QACpB;;;;;WAAkC;QAQlC;;;;mBAAkB,UAChB,aAAqB;gBAErB,IAAM,GAAG,GAAG,KAAI,CAAC,MAAM,CAAC,aAAa,EAAE,KAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC1D,OAAO,GAAG,CAAC;YACb,CAAC;WAAC;QATA,KAAI,CAAC,CAAC,GAAG,IAAI,kBAAS,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7D,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,wBAAwB,EAAE,CAAC;;IAChD,CAAC;;;;;eASD;YACE,IAAM,UAAU,GAAG,EAAE,CAAC;YACtB,IAAM,mBAAmB,GAAG,eAAK,CAAC,MAAM,CAAC,sCAAsC,EAAE,IAAI,CAAC,CAAC,CAAW,CAAC;YAEnG,mBAAmB,CAAC,OAAO,CAAC,UAAA,IAAI;gBAC9B,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5F,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,OAAO,eAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;;IACH,qBAAC;AAAD,CAAC,AA5BD,CAAoC,8CAAqB,GA4BxD;AA5BY,wCAAc"}
@@ -0,0 +1,13 @@
1
+ export declare enum RandomTypes {
2
+ hex = "hex",
3
+ uuid = "uuid",
4
+ from = "from",
5
+ chars = "chars",
6
+ number = "number",
7
+ digits = "digits",
8
+ uppers = "uppers",
9
+ lowers = "lowers",
10
+ letters = "letters",
11
+ boolean = "boolean"
12
+ }
13
+ export declare function generateRandom(kind: string, arg1?: string, arg2?: string): any;
@@ -0,0 +1,108 @@
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.generateRandom = exports.RandomTypes = void 0;
7
+ var uuid_1 = __importDefault(require("uuid"));
8
+ var randomstring_1 = __importDefault(require("randomstring"));
9
+ var clamp = require("lodash/clamp");
10
+ var random = require("lodash/random");
11
+ var value_utils_1 = require("./value-utils");
12
+ var errors_1 = require("@loadmill/universal/dist/errors");
13
+ var MAX_RANDOM_LEN = 100;
14
+ var DEFAULT_RANDOM_LEN = 10;
15
+ // 2^32
16
+ var DEFAULT_MAX_RANDOM_INT = 4294967296;
17
+ var RandomTypes;
18
+ (function (RandomTypes) {
19
+ RandomTypes["hex"] = "hex";
20
+ RandomTypes["uuid"] = "uuid";
21
+ RandomTypes["from"] = "from";
22
+ RandomTypes["chars"] = "chars";
23
+ RandomTypes["number"] = "number";
24
+ RandomTypes["digits"] = "digits";
25
+ RandomTypes["uppers"] = "uppers";
26
+ RandomTypes["lowers"] = "lowers";
27
+ RandomTypes["letters"] = "letters";
28
+ RandomTypes["boolean"] = "boolean";
29
+ })(RandomTypes = exports.RandomTypes || (exports.RandomTypes = {}));
30
+ function generateRandom(kind, arg1, arg2) {
31
+ if (!kind) {
32
+ return null;
33
+ }
34
+ if (kind === RandomTypes.uuid) {
35
+ return uuid_1.default.v4();
36
+ }
37
+ else if (kind === RandomTypes.number) {
38
+ var min = 0, max = DEFAULT_MAX_RANDOM_INT;
39
+ if (arg2) {
40
+ min = nonNegativeInt(arg1);
41
+ max = nonNegativeInt(arg2);
42
+ if (min > max) {
43
+ var temp = min;
44
+ min = max;
45
+ max = temp;
46
+ }
47
+ }
48
+ else if (arg1) {
49
+ max = nonNegativeInt(arg1);
50
+ }
51
+ // Assumes both are integers!
52
+ return random(min, max);
53
+ }
54
+ else if (kind === RandomTypes.boolean) {
55
+ var probability = nonNegativeInt(arg1, 50) / 100;
56
+ return (probability >= 1 ||
57
+ (probability !== 0 && Math.random() <= probability)).toString();
58
+ }
59
+ else {
60
+ var length_1 = nonNegativeInt(kind === RandomTypes.from ? arg2 : arg1, DEFAULT_RANDOM_LEN);
61
+ var options = {
62
+ length: clamp(length_1, 0, MAX_RANDOM_LEN),
63
+ };
64
+ if (kind === RandomTypes.chars) {
65
+ options.charset = 'alphanumeric';
66
+ }
67
+ else if (kind === RandomTypes.digits) {
68
+ options.charset = 'numeric';
69
+ }
70
+ else if (kind === RandomTypes.hex) {
71
+ options.charset = 'hex';
72
+ }
73
+ else if (kind === RandomTypes.letters ||
74
+ kind === RandomTypes.lowers ||
75
+ kind === RandomTypes.uppers) {
76
+ options.charset = 'alphabetic';
77
+ if (kind !== RandomTypes.letters) {
78
+ options.capitalization =
79
+ kind === RandomTypes.lowers ? 'lowercase' : 'uppercase';
80
+ }
81
+ }
82
+ else if (kind === RandomTypes.from) {
83
+ if (!arg1) {
84
+ return null;
85
+ }
86
+ options.charset = arg1;
87
+ }
88
+ else {
89
+ options.charset = kind;
90
+ }
91
+ return randomstring_1.default.generate(options);
92
+ }
93
+ }
94
+ exports.generateRandom = generateRandom;
95
+ function nonNegativeInt(arg, def) {
96
+ var value;
97
+ if (!arg) {
98
+ value = def;
99
+ }
100
+ else {
101
+ value = value_utils_1.parameterValueToNumber(arg, { integer: true, nonNegative: true });
102
+ }
103
+ if (value == null) {
104
+ throw new errors_1.PresentableError('Argument must be a non-negative integer, instead found: ' + arg);
105
+ }
106
+ return value;
107
+ }
108
+ //# sourceMappingURL=generate-random.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-random.js","sourceRoot":"","sources":["../../src/parameters/generate-random.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const getCsrfTokensByRegexp: (data: string) => RegExpExecArray[];
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCsrfTokensByRegexp = void 0;
4
+ var parameter_regex_providers_1 = require("./parameter-regex-providers");
5
+ var MAX_CSRF_REGEX_ITERATIONS = 1000;
6
+ var getCsrfTokensByRegexp = function (data) {
7
+ var regex = new RegExp(parameter_regex_providers_1.CSRF_REGEXP, 'gm');
8
+ var matches = [];
9
+ var match = regex.exec(data);
10
+ var iterations = 0;
11
+ while (match && iterations++ < MAX_CSRF_REGEX_ITERATIONS) {
12
+ matches.push(match);
13
+ match = regex.exec(data);
14
+ }
15
+ return matches;
16
+ };
17
+ exports.getCsrfTokensByRegexp = getCsrfTokensByRegexp;
18
+ //# sourceMappingURL=html-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-utils.js","sourceRoot":"","sources":["../../src/parameters/html-utils.ts"],"names":[],"mappings":";;;AAAA,yEAA0D;AAE1D,IAAM,yBAAyB,GAAG,IAAI,CAAC;AAChC,IAAM,qBAAqB,GAAG,UAAC,IAAY;IAChD,IAAM,KAAK,GAAG,IAAI,MAAM,CAAC,uCAAW,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,OAAO,KAAK,IAAI,UAAU,EAAE,GAAG,yBAAyB,EAAE;QACxD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAVW,QAAA,qBAAqB,yBAUhC"}
@@ -0,0 +1,89 @@
1
+ import { Parameters, ParametersScope, SequenceExecutorParameters } from './type';
2
+ import * as valueUtils from './value-utils';
3
+ import { parameterFunctionOperations } from './parameter-functions/parameter-functions';
4
+ import { usageRegExpProvider, LEGAL_PARAM_CHARS, CAPTURE_REGEX, CSRF_REGEXP, CSRF_REGEXP_SUFFIX } from './parameter-regex-providers';
5
+ import { PresentableError } from '@loadmill/universal/dist/errors';
6
+ import { Assertions, Extractions } from '../request';
7
+ import { TestConfLike } from '../conf';
8
+ import { getLongestJsonPathToken } from './json-path-utils';
9
+ import { replaceInvalidCharactersParamName, humanizeJSONPath, ordinal, pathToArray } from './parameter-name-utils';
10
+ import { getCsrfTokensByRegexp } from './html-utils';
11
+ export declare const BUILT_IN_VOLATILE_PARAMS: {
12
+ requestBody: string;
13
+ requestURL: string;
14
+ requestMethod: string;
15
+ responseBody: string;
16
+ };
17
+ export declare const BUILT_IN_PARAMS: {
18
+ requestBody: string;
19
+ requestURL: string;
20
+ requestMethod: string;
21
+ responseBody: string;
22
+ launchedBy: string;
23
+ launchedByUserId: string;
24
+ launchedByTeamId: string;
25
+ requestStartTime: string;
26
+ responseEndTime: string;
27
+ responseTime: string;
28
+ status: string;
29
+ statusText: string;
30
+ testRunId: string;
31
+ testStartTime: string;
32
+ };
33
+ export declare const MAX_PARAM_ARRAY_SIZE = 100;
34
+ export { CAPTURE_REGEX, getLongestJsonPathToken, LEGAL_PARAM_CHARS, parameterFunctionOperations, Parameters, ParametersScope, PresentableError, SequenceExecutorParameters, usageRegExpProvider, valueUtils, CSRF_REGEXP, CSRF_REGEXP_SUFFIX, getCsrfTokensByRegexp, replaceInvalidCharactersParamName, humanizeJSONPath, ordinal, pathToArray };
35
+ export declare class ParameterError extends PresentableError {
36
+ readonly prettyError: string;
37
+ readonly parameter: Parameters;
38
+ constructor(prettyError: string, parameter: Parameters);
39
+ }
40
+ export declare const parameterUtils: {
41
+ isParametrized(expression: string): any;
42
+ resolveAllExpressions(parameters: Parameters[]): Parameters;
43
+ resolveParameter(parameterName: string, parameters: Parameters, onError?: any): any;
44
+ resolveExpression(parametrized: string, parameters: Parameters | Parameters[], onError?: any): string;
45
+ addParamToArray(key: any, value: any, arr: any): void;
46
+ findIndex(key: any, arr: any): any;
47
+ getParametersRegexGroups(src: string): {
48
+ functionGroupingRegexp: RegExp;
49
+ operatorsGroupingRegexp: RegExp;
50
+ };
51
+ suggestNewParamName(paramKey: any, flowConfParameters: any): any;
52
+ /** Search any parameters with the following patterns:
53
+ * ${param1}
54
+ * ${__encode_url(param1)}
55
+ * ${__if_then_else(param12,'good','bad')}
56
+ */
57
+ searchParameterizedExpressionOccurrences(parameterName: string, data: string): Array<string>;
58
+ getUsedConfParams(conf: TestConfLike, parameters: Parameters[]): Parameters[];
59
+ getUsedRequestParams(request: any, parameters: Parameters[]): Parameters[];
60
+ getValueByKeyFromArr(key: string, parameters?: Parameters[] | undefined, returnArray?: boolean): any;
61
+ pickFirstValue(p: Parameters): Parameters;
62
+ getParameterValue(parameter: Parameters): string | string[];
63
+ getParameterName(parameter: Parameters | Extractions): string;
64
+ getParametersNames(parameters: Parameters[]): string[];
65
+ setParameterValue(name: string, value: string | string[], parameters: Parameters[]): void;
66
+ getUsedRequestParamNames(stringifiedRequest: string): string[];
67
+ deleteAllSrcElementsFromParamArr(paramArr: any, src: any): void;
68
+ removeParameterFromArrayByKey(src: any, paramArr: any): void;
69
+ isParamKeyInArr(key: any, arr: any): boolean;
70
+ /**
71
+ * Returns a Parameter ({name:value}) obj with the given value to search for.
72
+ * if non found, returns undefined
73
+ * @param value string | string[]
74
+ * @param arr Parameters[]
75
+ */
76
+ findParamValueInArr(value: any, arr: any): any;
77
+ findParametersSimilarityByRegex(value: any, arr: Parameters[] | undefined, regex: any): Parameters | undefined;
78
+ findUsedParameters(suiteParameters: Parameters[], param: Parameters, usedParameters: Parameters[]): Parameters[];
79
+ applyJSONSchema(instance: any, schema: any): boolean;
80
+ isUsingParameterizedValue(value: string): boolean;
81
+ getRunPostParameters(redactableResult: any): any;
82
+ };
83
+ export declare const stripToFunctionAndArgs: (s: string) => string[];
84
+ export declare const stripParam: (s: string) => string;
85
+ export declare const searchExpressionOccurrences: (s: string) => string[];
86
+ export declare const getTokensWithoutOperators: (paramOccurrence: string) => string[];
87
+ export declare function isParamUsedInConf(paramName: string, conf: TestConfLike, stringifyConf: string): boolean;
88
+ export declare function isParamNameUsedInAssertionValue(paramName: string, assertions?: Assertions): boolean;
89
+ export declare function removeNonStringParameters(conf: any): void;