@loadmill/core 0.3.139 → 0.3.141
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.
- package/dist/assertions/index.d.ts +32 -0
- package/dist/assertions/index.js +52 -0
- package/dist/assertions/index.js.map +1 -0
- package/dist/code-step/index.d.ts +23 -0
- package/dist/code-step/index.js +97 -0
- package/dist/code-step/index.js.map +1 -0
- package/dist/conf/defaults.d.ts +1 -0
- package/dist/conf/defaults.js +11 -0
- package/dist/conf/defaults.js.map +1 -0
- package/dist/conf/extrema.d.ts +7 -0
- package/dist/conf/extrema.js +12 -0
- package/dist/conf/extrema.js.map +1 -0
- package/dist/conf/index.d.ts +15 -0
- package/dist/conf/index.js +80 -0
- package/dist/conf/index.js.map +1 -0
- package/dist/conf/notifications.d.ts +2 -0
- package/dist/conf/notifications.js +19 -0
- package/dist/conf/notifications.js.map +1 -0
- package/dist/conf/types.d.ts +122 -0
- package/dist/conf/types.js +38 -0
- package/dist/conf/types.js.map +1 -0
- package/dist/conf/validate.d.ts +69 -0
- package/dist/conf/validate.js +509 -0
- package/dist/conf/validate.js.map +1 -0
- package/dist/distributed-logger-reporter.d.ts +3 -0
- package/dist/distributed-logger-reporter.js +74 -0
- package/dist/distributed-logger-reporter.js.map +1 -0
- package/dist/echo/firehose.d.ts +7 -0
- package/dist/echo/firehose.js +130 -0
- package/dist/echo/firehose.js.map +1 -0
- package/dist/echo/index.d.ts +3 -0
- package/dist/echo/index.js +8 -0
- package/dist/echo/index.js.map +1 -0
- package/dist/echo/stats.d.ts +8 -0
- package/dist/echo/stats.js +152 -0
- package/dist/echo/stats.js.map +1 -0
- package/dist/extract-and-assert-step/index.d.ts +29 -0
- package/dist/extract-and-assert-step/index.js +108 -0
- package/dist/extract-and-assert-step/index.js.map +1 -0
- package/dist/extractions/index.d.ts +36 -0
- package/dist/extractions/index.js +49 -0
- package/dist/extractions/index.js.map +1 -0
- package/dist/har/index.d.ts +71 -0
- package/dist/har/index.js +61 -0
- package/dist/har/index.js.map +1 -0
- package/dist/labels/constants.d.ts +1 -0
- package/dist/labels/constants.js +5 -0
- package/dist/labels/constants.js.map +1 -0
- package/dist/multipart-form-data/files.d.ts +2 -0
- package/dist/multipart-form-data/files.js +63 -0
- package/dist/multipart-form-data/files.js.map +1 -0
- package/dist/multipart-form-data/form-data-utils.d.ts +19 -0
- package/dist/multipart-form-data/form-data-utils.js +118 -0
- package/dist/multipart-form-data/form-data-utils.js.map +1 -0
- package/dist/multipart-form-data/is-binary-file.d.ts +2 -0
- package/dist/multipart-form-data/is-binary-file.js +215 -0
- package/dist/multipart-form-data/is-binary-file.js.map +1 -0
- package/dist/multipart-form-data/multipart-text-to-post-form-data.d.ts +3 -0
- package/dist/multipart-form-data/multipart-text-to-post-form-data.js +93 -0
- package/dist/multipart-form-data/multipart-text-to-post-form-data.js.map +1 -0
- package/dist/parameters/extractions.d.ts +27 -0
- package/dist/parameters/extractions.js +51 -0
- package/dist/parameters/extractions.js.map +1 -0
- package/dist/parameters/extractors/cheerio-extractor.d.ts +11 -0
- package/dist/parameters/extractors/cheerio-extractor.js +84 -0
- package/dist/parameters/extractors/cheerio-extractor.js.map +1 -0
- package/dist/parameters/extractors/expression-extractor.d.ts +6 -0
- package/dist/parameters/extractors/expression-extractor.js +38 -0
- package/dist/parameters/extractors/expression-extractor.js.map +1 -0
- package/dist/parameters/extractors/extractor.d.ts +3 -0
- package/dist/parameters/extractors/extractor.js +3 -0
- package/dist/parameters/extractors/extractor.js.map +1 -0
- package/dist/parameters/extractors/header-extractor.d.ts +7 -0
- package/dist/parameters/extractors/header-extractor.js +51 -0
- package/dist/parameters/extractors/header-extractor.js.map +1 -0
- package/dist/parameters/extractors/index.d.ts +10 -0
- package/dist/parameters/extractors/index.js +20 -0
- package/dist/parameters/extractors/index.js.map +1 -0
- package/dist/parameters/extractors/json-path-extractor.d.ts +11 -0
- package/dist/parameters/extractors/json-path-extractor.js +127 -0
- package/dist/parameters/extractors/json-path-extractor.js.map +1 -0
- package/dist/parameters/extractors/parametrized-extractor.d.ts +10 -0
- package/dist/parameters/extractors/parametrized-extractor.js +34 -0
- package/dist/parameters/extractors/parametrized-extractor.js.map +1 -0
- package/dist/parameters/extractors/regex-extractor.d.ts +7 -0
- package/dist/parameters/extractors/regex-extractor.js +46 -0
- package/dist/parameters/extractors/regex-extractor.js.map +1 -0
- package/dist/parameters/extractors/regex-matcher.d.ts +1 -0
- package/dist/parameters/extractors/regex-matcher.js +22 -0
- package/dist/parameters/extractors/regex-matcher.js.map +1 -0
- package/dist/parameters/extractors/ws-extractor.d.ts +33 -0
- package/dist/parameters/extractors/ws-extractor.js +215 -0
- package/dist/parameters/extractors/ws-extractor.js.map +1 -0
- package/dist/parameters/extractors/x-path-extractor.d.ts +9 -0
- package/dist/parameters/extractors/x-path-extractor.js +77 -0
- package/dist/parameters/extractors/x-path-extractor.js.map +1 -0
- package/dist/parameters/generate-random.d.ts +13 -0
- package/dist/parameters/generate-random.js +108 -0
- package/dist/parameters/generate-random.js.map +1 -0
- package/dist/parameters/html-utils.d.ts +1 -0
- package/dist/parameters/html-utils.js +18 -0
- package/dist/parameters/html-utils.js.map +1 -0
- package/dist/parameters/index.d.ts +94 -0
- package/dist/parameters/index.js +619 -0
- package/dist/parameters/index.js.map +1 -0
- package/dist/parameters/json-path-utils.d.ts +1 -0
- package/dist/parameters/json-path-utils.js +16 -0
- package/dist/parameters/json-path-utils.js.map +1 -0
- package/dist/parameters/operators/binary-operator.d.ts +13 -0
- package/dist/parameters/operators/binary-operator.js +39 -0
- package/dist/parameters/operators/binary-operator.js.map +1 -0
- package/dist/parameters/operators/index.d.ts +5 -0
- package/dist/parameters/operators/index.js +21 -0
- package/dist/parameters/operators/index.js.map +1 -0
- package/dist/parameters/parameter-functions/aws-cognito.d.ts +3 -0
- package/dist/parameters/parameter-functions/aws-cognito.js +119 -0
- package/dist/parameters/parameter-functions/aws-cognito.js.map +1 -0
- package/dist/parameters/parameter-functions/boolean-parameter-functions.d.ts +12 -0
- package/dist/parameters/parameter-functions/boolean-parameter-functions.js +47 -0
- package/dist/parameters/parameter-functions/boolean-parameter-functions.js.map +1 -0
- package/dist/parameters/parameter-functions/crypto.d.ts +11 -0
- package/dist/parameters/parameter-functions/crypto.js +71 -0
- package/dist/parameters/parameter-functions/crypto.js.map +1 -0
- package/dist/parameters/parameter-functions/json-schema.d.ts +1 -0
- package/dist/parameters/parameter-functions/json-schema.js +33 -0
- package/dist/parameters/parameter-functions/json-schema.js.map +1 -0
- package/dist/parameters/parameter-functions/numeric-input-parameter-functions.d.ts +11 -0
- package/dist/parameters/parameter-functions/numeric-input-parameter-functions.js +34 -0
- package/dist/parameters/parameter-functions/numeric-input-parameter-functions.js.map +1 -0
- package/dist/parameters/parameter-functions/numeric-parameter-functions.d.ts +15 -0
- package/dist/parameters/parameter-functions/numeric-parameter-functions.js +56 -0
- package/dist/parameters/parameter-functions/numeric-parameter-functions.js.map +1 -0
- package/dist/parameters/parameter-functions/parameter-function-utils.d.ts +5 -0
- package/dist/parameters/parameter-functions/parameter-function-utils.js +82 -0
- package/dist/parameters/parameter-functions/parameter-function-utils.js.map +1 -0
- package/dist/parameters/parameter-functions/parameter-function.d.ts +6 -0
- package/dist/parameters/parameter-functions/parameter-function.js +28 -0
- package/dist/parameters/parameter-functions/parameter-function.js.map +1 -0
- package/dist/parameters/parameter-functions/parameter-functions.d.ts +7 -0
- package/dist/parameters/parameter-functions/parameter-functions.js +53 -0
- package/dist/parameters/parameter-functions/parameter-functions.js.map +1 -0
- package/dist/parameters/parameter-functions/random-parameter-functions.d.ts +1 -0
- package/dist/parameters/parameter-functions/random-parameter-functions.js +43 -0
- package/dist/parameters/parameter-functions/random-parameter-functions.js.map +1 -0
- package/dist/parameters/parameter-functions/textual-parameter-functions.d.ts +72 -0
- package/dist/parameters/parameter-functions/textual-parameter-functions.js +389 -0
- package/dist/parameters/parameter-functions/textual-parameter-functions.js.map +1 -0
- package/dist/parameters/parameter-name-utils.d.ts +6 -0
- package/dist/parameters/parameter-name-utils.js +124 -0
- package/dist/parameters/parameter-name-utils.js.map +1 -0
- package/dist/parameters/parameter-regex-providers.d.ts +24 -0
- package/dist/parameters/parameter-regex-providers.js +70 -0
- package/dist/parameters/parameter-regex-providers.js.map +1 -0
- package/dist/parameters/resolvers/random-parameters-resolver.d.ts +1 -0
- package/dist/parameters/resolvers/random-parameters-resolver.js +12 -0
- package/dist/parameters/resolvers/random-parameters-resolver.js.map +1 -0
- package/dist/parameters/type.d.ts +10 -0
- package/dist/parameters/type.js +9 -0
- package/dist/parameters/type.js.map +1 -0
- package/dist/parameters/value-utils.d.ts +5 -0
- package/dist/parameters/value-utils.js +44 -0
- package/dist/parameters/value-utils.js.map +1 -0
- package/dist/request/index.d.ts +174 -0
- package/dist/request/index.js +356 -0
- package/dist/request/index.js.map +1 -0
- package/dist/schema/json-schema-generator.d.ts +20 -0
- package/dist/schema/json-schema-generator.js +135 -0
- package/dist/schema/json-schema-generator.js.map +1 -0
- package/dist/signals.d.ts +4 -0
- package/dist/signals.js +9 -0
- package/dist/signals.js.map +1 -0
- package/dist/socket-events/index.d.ts +13 -0
- package/dist/socket-events/index.js +17 -0
- package/dist/socket-events/index.js.map +1 -0
- package/dist/step/assertable.d.ts +4 -0
- package/dist/step/assertable.js +3 -0
- package/dist/step/assertable.js.map +1 -0
- package/dist/step/codeable.d.ts +3 -0
- package/dist/step/codeable.js +3 -0
- package/dist/step/codeable.js.map +1 -0
- package/dist/step/extractable.d.ts +4 -0
- package/dist/step/extractable.js +3 -0
- package/dist/step/extractable.js.map +1 -0
- package/dist/step/index.d.ts +72 -0
- package/dist/step/index.js +71 -0
- package/dist/step/index.js.map +1 -0
- package/dist/step/step-type.d.ts +4 -0
- package/dist/step/step-type.js +3 -0
- package/dist/step/step-type.js.map +1 -0
- package/dist/step/type-guards.d.ts +7 -0
- package/dist/step/type-guards.js +18 -0
- package/dist/step/type-guards.js.map +1 -0
- package/dist/subset/index.d.ts +3 -0
- package/dist/subset/index.js +8 -0
- package/dist/subset/index.js.map +1 -0
- package/dist/subset/is-subset.d.ts +2 -0
- package/dist/subset/is-subset.js +29 -0
- package/dist/subset/is-subset.js.map +1 -0
- package/dist/subset/json-contains.d.ts +1 -0
- package/dist/subset/json-contains.js +24 -0
- package/dist/subset/json-contains.js.map +1 -0
- package/dist/team-options/constants.d.ts +3 -0
- package/dist/team-options/constants.js +7 -0
- package/dist/team-options/constants.js.map +1 -0
- package/dist/xml/decode.d.ts +2 -0
- package/dist/xml/decode.js +91 -0
- package/dist/xml/decode.js.map +1 -0
- package/dist/xml/encode.d.ts +1 -0
- package/dist/xml/encode.js +14 -0
- package/dist/xml/encode.js.map +1 -0
- package/dist/xml/escape-reserved-chars.d.ts +6 -0
- package/dist/xml/escape-reserved-chars.js +57 -0
- package/dist/xml/escape-reserved-chars.js.map +1 -0
- package/dist/xml/is-xml.d.ts +1 -0
- package/dist/xml/is-xml.js +9 -0
- package/dist/xml/is-xml.js.map +1 -0
- package/dist/xml/json-to-xml.d.ts +2 -0
- package/dist/xml/json-to-xml.js +11 -0
- package/dist/xml/json-to-xml.js.map +1 -0
- package/dist/xml/namespaces.d.ts +7 -0
- package/dist/xml/namespaces.js +16 -0
- package/dist/xml/namespaces.js.map +1 -0
- package/dist/xml/remove-invisible-chars.d.ts +2 -0
- package/dist/xml/remove-invisible-chars.js +13 -0
- package/dist/xml/remove-invisible-chars.js.map +1 -0
- package/dist/xml/replace-s-tags.d.ts +4 -0
- package/dist/xml/replace-s-tags.js +21 -0
- package/dist/xml/replace-s-tags.js.map +1 -0
- package/dist/xml/xml-to-json.d.ts +7 -0
- package/dist/xml/xml-to-json.js +21 -0
- package/dist/xml/xml-to-json.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Assertion, Assertions } from '../assertions';
|
|
2
|
+
import { Parameters } from '../parameters';
|
|
3
|
+
import { Step } from './step-type';
|
|
4
|
+
export declare enum StepTypes {
|
|
5
|
+
REQUEST = "Request",
|
|
6
|
+
CODE = "Code",
|
|
7
|
+
EXTRACT_AND_ASSERT = "ExtractAndAssert"
|
|
8
|
+
}
|
|
9
|
+
export declare enum StepFlowType {
|
|
10
|
+
LOGIN = "login",
|
|
11
|
+
BEFORE_EACH = "beforeEach",
|
|
12
|
+
FLOW = "flow",
|
|
13
|
+
AFTER_EACH = "afterEach",
|
|
14
|
+
FINF = "flowInFlow",
|
|
15
|
+
BEFORE_ALL = "beforeAll",
|
|
16
|
+
AFTER_ALL = "afterAll"
|
|
17
|
+
}
|
|
18
|
+
export interface StepLike extends StepIdenity, StepFlowTypeLocation, StepControl, StepVerification {
|
|
19
|
+
type?: StepTypes;
|
|
20
|
+
}
|
|
21
|
+
export interface StepIdenity {
|
|
22
|
+
id?: string;
|
|
23
|
+
description?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface StepFlowTypeLocation {
|
|
26
|
+
meta?: StepMeta;
|
|
27
|
+
}
|
|
28
|
+
export interface StepMeta {
|
|
29
|
+
type: StepFlowType;
|
|
30
|
+
location?: {
|
|
31
|
+
order: number;
|
|
32
|
+
index: number;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export interface StepControl {
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
stopBefore?: string;
|
|
38
|
+
skipBefore?: SkipConf;
|
|
39
|
+
loop?: LoopConf;
|
|
40
|
+
timeout?: number;
|
|
41
|
+
delay?: number | string;
|
|
42
|
+
}
|
|
43
|
+
export interface StepVerification {
|
|
44
|
+
assert?: Assertions;
|
|
45
|
+
expectedStatus?: StepStatus;
|
|
46
|
+
}
|
|
47
|
+
export declare type StepStatus = 'SUCCESS' | 'ERROR' | 'ANY';
|
|
48
|
+
export interface SkipConf {
|
|
49
|
+
condition: string;
|
|
50
|
+
negate?: boolean;
|
|
51
|
+
goTo?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface LoopConf {
|
|
54
|
+
assert: Assertion;
|
|
55
|
+
iterations: number;
|
|
56
|
+
wait?: number;
|
|
57
|
+
}
|
|
58
|
+
export interface ResolvedStep {
|
|
59
|
+
step?: Step;
|
|
60
|
+
postParameters?: Parameters[];
|
|
61
|
+
stdout?: string[];
|
|
62
|
+
wsMessages?: string[];
|
|
63
|
+
unexpectedError?: {
|
|
64
|
+
stack: string;
|
|
65
|
+
message: string;
|
|
66
|
+
properties: string;
|
|
67
|
+
};
|
|
68
|
+
retried?: number;
|
|
69
|
+
index?: number;
|
|
70
|
+
}
|
|
71
|
+
export declare function createStep<T extends StepLike, K extends Step>(from: T, step: K): K;
|
|
72
|
+
export declare function findStepIndex(steps: Step[], desc: string): number;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findStepIndex = exports.createStep = exports.StepFlowType = exports.StepTypes = void 0;
|
|
4
|
+
var assertions_1 = require("../assertions");
|
|
5
|
+
var StepTypes;
|
|
6
|
+
(function (StepTypes) {
|
|
7
|
+
StepTypes["REQUEST"] = "Request";
|
|
8
|
+
StepTypes["CODE"] = "Code";
|
|
9
|
+
StepTypes["EXTRACT_AND_ASSERT"] = "ExtractAndAssert";
|
|
10
|
+
})(StepTypes = exports.StepTypes || (exports.StepTypes = {}));
|
|
11
|
+
var StepFlowType;
|
|
12
|
+
(function (StepFlowType) {
|
|
13
|
+
StepFlowType["LOGIN"] = "login";
|
|
14
|
+
StepFlowType["BEFORE_EACH"] = "beforeEach";
|
|
15
|
+
StepFlowType["FLOW"] = "flow";
|
|
16
|
+
StepFlowType["AFTER_EACH"] = "afterEach";
|
|
17
|
+
StepFlowType["FINF"] = "flowInFlow";
|
|
18
|
+
StepFlowType["BEFORE_ALL"] = "beforeAll";
|
|
19
|
+
StepFlowType["AFTER_ALL"] = "afterAll";
|
|
20
|
+
})(StepFlowType = exports.StepFlowType || (exports.StepFlowType = {}));
|
|
21
|
+
function createStep(from, step) {
|
|
22
|
+
var id = from.id, description = from.description, delay = from.delay, timeout = from.timeout, stopBefore = from.stopBefore, skipBefore = from.skipBefore, loop = from.loop, expectedStatus = from.expectedStatus, disabled = from.disabled, meta = from.meta;
|
|
23
|
+
if (id) {
|
|
24
|
+
step.id = id;
|
|
25
|
+
}
|
|
26
|
+
if (description) {
|
|
27
|
+
step.description = description;
|
|
28
|
+
}
|
|
29
|
+
if (delay !== null && delay !== undefined) {
|
|
30
|
+
step.delay = delay;
|
|
31
|
+
}
|
|
32
|
+
if (stopBefore !== undefined) {
|
|
33
|
+
step.stopBefore = stopBefore;
|
|
34
|
+
}
|
|
35
|
+
if (skipBefore != null) {
|
|
36
|
+
var goTo = skipBefore.goTo, negate = skipBefore.negate, condition = skipBefore.condition;
|
|
37
|
+
step.skipBefore = {
|
|
38
|
+
goTo: goTo,
|
|
39
|
+
condition: condition,
|
|
40
|
+
negate: !!negate,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
if (loop != null) {
|
|
44
|
+
var iterations = loop.iterations, assert = loop.assert, wait = loop.wait;
|
|
45
|
+
var converted = assertions_1.toAssertions([assert])[0];
|
|
46
|
+
step.loop = {
|
|
47
|
+
assert: converted,
|
|
48
|
+
iterations: iterations,
|
|
49
|
+
wait: wait,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
if (timeout != null) {
|
|
53
|
+
step.timeout = timeout;
|
|
54
|
+
}
|
|
55
|
+
if (expectedStatus) {
|
|
56
|
+
step.expectedStatus = expectedStatus;
|
|
57
|
+
}
|
|
58
|
+
if (disabled !== undefined) {
|
|
59
|
+
step.disabled = disabled;
|
|
60
|
+
}
|
|
61
|
+
if (meta) {
|
|
62
|
+
step.meta = meta;
|
|
63
|
+
}
|
|
64
|
+
return step;
|
|
65
|
+
}
|
|
66
|
+
exports.createStep = createStep;
|
|
67
|
+
function findStepIndex(steps, desc) {
|
|
68
|
+
return steps.findIndex(function (step) { return step.description === desc; });
|
|
69
|
+
}
|
|
70
|
+
exports.findStepIndex = findStepIndex;
|
|
71
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/step/index.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AAIpE,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,0BAAa,CAAA;IACb,oDAAuC,CAAA;AACzC,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AAED,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,+BAAe,CAAA;IACf,0CAA0B,CAAA;IAC1B,6BAAa,CAAA;IACb,wCAAwB,CAAA;IACxB,mCAAmB,CAAA;IACnB,wCAAwB,CAAA;IACxB,sCAAsB,CAAA;AACxB,CAAC,EARW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAQvB;AAiED,SAAgB,UAAU,CACxB,IAAO,EACP,IAAO;IAGL,IAAA,EAAE,GAUA,IAAI,GAVJ,EACF,WAAW,GAST,IAAI,YATK,EACX,KAAK,GAQH,IAAI,MARD,EACL,OAAO,GAOL,IAAI,QAPC,EACP,UAAU,GAMR,IAAI,WANI,EACV,UAAU,GAKR,IAAI,WALI,EACV,IAAI,GAIF,IAAI,KAJF,EACJ,cAAc,GAGZ,IAAI,eAHQ,EACd,QAAQ,GAEN,IAAI,SAFE,EACR,IAAI,GACF,IAAI,KADF,CACG;IAET,IAAI,EAAE,EAAE;QACN,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KACd;IAED,IAAI,WAAW,EAAE;QACf,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;KAChC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;IAED,IAAI,UAAU,KAAK,SAAS,EAAE;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;KAC9B;IAED,IAAI,UAAU,IAAI,IAAI,EAAE;QACd,IAAA,IAAI,GAAwB,UAAU,KAAlC,EAAE,MAAM,GAAgB,UAAU,OAA1B,EAAE,SAAS,GAAK,UAAU,UAAf,CAAgB;QAE/C,IAAI,CAAC,UAAU,GAAG;YAChB,IAAI,MAAA;YACJ,SAAS,WAAA;YACT,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC;KACH;IAED,IAAI,IAAI,IAAI,IAAI,EAAE;QACR,IAAA,UAAU,GAAmB,IAAI,WAAvB,EAAE,MAAM,GAAW,IAAI,OAAf,EAAE,IAAI,GAAK,IAAI,KAAT,CAAU;QAEnC,IAAA,SAAS,GAAI,yBAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAA1B,CAA2B;QAC3C,IAAI,CAAC,IAAI,GAAG;YACV,MAAM,EAAE,SAAS;YACjB,UAAU,YAAA;YACV,IAAI,MAAA;SACL,CAAC;KACH;IAED,IAAI,OAAO,IAAI,IAAI,EAAE;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KACxB;IAED,IAAI,cAAc,EAAE;QAClB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;KACtC;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;IAED,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KAClB;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAvED,gCAuEC;AAED,SAAgB,aAAa,CAAC,KAAa,EAAE,IAAY;IACvD,OAAO,KAAK,CAAC,SAAS,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,WAAW,KAAK,IAAI,EAAzB,CAAyB,CAAC,CAAC;AAC9D,CAAC;AAFD,sCAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-type.js","sourceRoot":"","sources":["../../src/step/step-type.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CodeStep } from '../code-step';
|
|
2
|
+
import { LoadmillRequest } from '../request';
|
|
3
|
+
import { ExtractAndAssertStep } from '../extract-and-assert-step';
|
|
4
|
+
import { StepLike } from '.';
|
|
5
|
+
export declare const isCodeStep: (step?: StepLike | undefined) => step is CodeStep;
|
|
6
|
+
export declare const isLoadmillRequest: (step?: StepLike | undefined) => step is LoadmillRequest;
|
|
7
|
+
export declare const isExtractAndAssertStep: (step?: StepLike | undefined) => step is ExtractAndAssertStep;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isExtractAndAssertStep = exports.isLoadmillRequest = exports.isCodeStep = void 0;
|
|
4
|
+
var _1 = require(".");
|
|
5
|
+
var isCodeStep = function (step) {
|
|
6
|
+
return (step === null || step === void 0 ? void 0 : step.type) === _1.StepTypes.CODE;
|
|
7
|
+
};
|
|
8
|
+
exports.isCodeStep = isCodeStep;
|
|
9
|
+
var isLoadmillRequest = function (step) {
|
|
10
|
+
return ((step === null || step === void 0 ? void 0 : step.type) === undefined || // backward compatibility
|
|
11
|
+
(step === null || step === void 0 ? void 0 : step.type) === _1.StepTypes.REQUEST);
|
|
12
|
+
};
|
|
13
|
+
exports.isLoadmillRequest = isLoadmillRequest;
|
|
14
|
+
var isExtractAndAssertStep = function (step) {
|
|
15
|
+
return (step === null || step === void 0 ? void 0 : step.type) === _1.StepTypes.EXTRACT_AND_ASSERT;
|
|
16
|
+
};
|
|
17
|
+
exports.isExtractAndAssertStep = isExtractAndAssertStep;
|
|
18
|
+
//# sourceMappingURL=type-guards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../src/step/type-guards.ts"],"names":[],"mappings":";;;AAIA,sBAAwC;AAEjC,IAAM,UAAU,GAAG,UAAC,IAAe;IACxC,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,YAAS,CAAC,IAAI,CAAC;AACvC,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEK,IAAM,iBAAiB,GAAG,UAAC,IAAe;IAC/C,OAAO,CACL,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAS,IAAI,yBAAyB;QACrD,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,YAAS,CAAC,OAAO,CACjC,CAAC;AACJ,CAAC,CAAC;AALW,QAAA,iBAAiB,qBAK5B;AAEK,IAAM,sBAAsB,GAAG,UAAC,IAAe;IACpD,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,YAAS,CAAC,kBAAkB,CAAC;AACrD,CAAC,CAAC;AAFW,QAAA,sBAAsB,0BAEjC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isSubset = exports.isJSONContains = void 0;
|
|
4
|
+
var json_contains_1 = require("./json-contains");
|
|
5
|
+
Object.defineProperty(exports, "isJSONContains", { enumerable: true, get: function () { return json_contains_1.isJSONContains; } });
|
|
6
|
+
var is_subset_1 = require("./is-subset");
|
|
7
|
+
Object.defineProperty(exports, "isSubset", { enumerable: true, get: function () { return is_subset_1.isSubset; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subset/index.ts"],"names":[],"mappings":";;;AAAA,iDAAiD;AAI/C,+FAJO,8BAAc,OAIP;AAHhB,yCAAuC;AAIrC,yFAJO,oBAAQ,OAIP"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isSubset = void 0;
|
|
4
|
+
var json_schema_generator_1 = require("../schema/json-schema-generator");
|
|
5
|
+
var isSubset = function (superSet, subSet) {
|
|
6
|
+
if (shouldContainAnyValue(subSet)) {
|
|
7
|
+
return superSet != null;
|
|
8
|
+
}
|
|
9
|
+
if (json_schema_generator_1.isPrimitive(superSet) || json_schema_generator_1.isPrimitive(subSet)) {
|
|
10
|
+
return superSet === subSet;
|
|
11
|
+
}
|
|
12
|
+
if (superSet === null || subSet === null) {
|
|
13
|
+
return superSet === subSet;
|
|
14
|
+
}
|
|
15
|
+
if ((superSet instanceof Date || subSet instanceof Date)) {
|
|
16
|
+
return superSet.valueOf() === subSet.valueOf();
|
|
17
|
+
}
|
|
18
|
+
return Object.keys(subSet).every(function (key) {
|
|
19
|
+
if (!superSet.propertyIsEnumerable(key)) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
var subsetItem = subSet[key];
|
|
23
|
+
var supersetItem = superSet[key];
|
|
24
|
+
return exports.isSubset(supersetItem, subsetItem) ? true : false;
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
exports.isSubset = isSubset;
|
|
28
|
+
var shouldContainAnyValue = function (item) { return item === json_schema_generator_1.ANY_VALUE; };
|
|
29
|
+
//# sourceMappingURL=is-subset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-subset.js","sourceRoot":"","sources":["../../src/subset/is-subset.ts"],"names":[],"mappings":";;;AACA,yEAAyE;AAElE,IAAM,QAAQ,GAAG,UAAC,QAAmB,EAAE,MAAiB;IAE7D,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;QACjC,OAAO,QAAQ,IAAI,IAAI,CAAC;KACzB;IAED,IAAI,mCAAW,CAAC,QAAQ,CAAC,IAAI,mCAAW,CAAC,MAAM,CAAC,EAAE;QAChD,OAAO,QAAQ,KAAK,MAAM,CAAC;KAC5B;IAED,IAAI,QAAQ,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE;QACxC,OAAO,QAAQ,KAAK,MAAM,CAAC;KAC5B;IAED,IAAI,CAAC,QAAQ,YAAY,IAAI,IAAI,MAAM,YAAY,IAAI,CAAC,EAAE;QACxD,OAAO,QAAQ,CAAC,OAAO,EAAE,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;KAChD;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAC,GAAG;QACnC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE;YACvC,OAAO,KAAK,CAAC;SACd;QACD,IAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,gBAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA1BW,QAAA,QAAQ,YA0BnB;AAEF,IAAM,qBAAqB,GAAG,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,iCAAS,EAAlB,CAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isJSONContains: (containing: string, contained: string) => boolean;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isJSONContains = void 0;
|
|
4
|
+
var errors_1 = require("@loadmill/universal/dist/errors");
|
|
5
|
+
var json_utils_1 = require("@loadmill/universal/dist/json-utils");
|
|
6
|
+
var is_subset_1 = require("./is-subset");
|
|
7
|
+
var isJSONContains = function (containing, contained) {
|
|
8
|
+
var parsedContaining, parsedContained;
|
|
9
|
+
try {
|
|
10
|
+
parsedContaining = JSON.parse(containing);
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
parsedContained = JSON.parse(json_utils_1.stripJsonTrailingCommas(contained));
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
throw new errors_1.PresentableError('couldn\'t parse the contained JSON');
|
|
20
|
+
}
|
|
21
|
+
return is_subset_1.isSubset(parsedContaining, parsedContained);
|
|
22
|
+
};
|
|
23
|
+
exports.isJSONContains = isJSONContains;
|
|
24
|
+
//# sourceMappingURL=json-contains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-contains.js","sourceRoot":"","sources":["../../src/subset/json-contains.ts"],"names":[],"mappings":";;;AAAA,0DAAmE;AAEnE,kEAA8E;AAC9E,yCAAuC;AAEhC,IAAM,cAAc,GAAG,UAAC,UAAkB,EAAE,SAAiB;IAClE,IAAI,gBAA2B,EAAE,eAA0B,CAAC;IAE5D,IAAI;QACF,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;KAC3C;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IAED,IAAI;QACF,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,oCAAuB,CAAC,SAAS,CAAC,CAAC,CAAC;KAClE;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,yBAAgB,CAAC,oCAAoC,CAAC,CAAC;KAClE;IAED,OAAO,oBAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AACrD,CAAC,CAAC;AAhBW,QAAA,cAAc,kBAgBzB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAX_ENTITIES_OF_SAME_TYPE = exports.MIN_ENTITIES_OF_SAME_TYPE = exports.DEFAULT_MAX_ENTITIES_OF_SAME_TYPE = void 0;
|
|
4
|
+
exports.DEFAULT_MAX_ENTITIES_OF_SAME_TYPE = 15;
|
|
5
|
+
exports.MIN_ENTITIES_OF_SAME_TYPE = 0;
|
|
6
|
+
exports.MAX_ENTITIES_OF_SAME_TYPE = 1000;
|
|
7
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/team-options/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iCAAiC,GAAG,EAAE,CAAC;AACvC,QAAA,yBAAyB,GAAG,CAAC,CAAC;AAC9B,QAAA,yBAAyB,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodePriorityResponse = exports.decodePriorityRequest = void 0;
|
|
4
|
+
var validator_1 = require("validator");
|
|
5
|
+
var remove_invisible_chars_1 = require("./remove-invisible-chars");
|
|
6
|
+
var escape_reserved_chars_1 = require("./escape-reserved-chars");
|
|
7
|
+
var replace_s_tags_1 = require("./replace-s-tags");
|
|
8
|
+
var namespaces_1 = require("./namespaces");
|
|
9
|
+
/**
|
|
10
|
+
* matches XML or data tags and their content in a string.
|
|
11
|
+
* ([\s\S]*?) - matches any character, as few times as possible.
|
|
12
|
+
*/
|
|
13
|
+
var XML_DATA_TAG_REGEX = /<(xml|statexml|data)>([\s\S]*?)<\/(xml|statexml|data)>/g;
|
|
14
|
+
var decodePriorityRequest = function (requestBody) {
|
|
15
|
+
return requestBody.replace(XML_DATA_TAG_REGEX, function (matched, tag, encodedContent) {
|
|
16
|
+
if (validator_1.isBase64(encodedContent)) {
|
|
17
|
+
var decodedContent = Buffer.from(encodedContent, 'base64').toString('utf-8');
|
|
18
|
+
var cleanedDecodedContent = remove_invisible_chars_1.replaceInvisibleCharWithCustomTag(decodedContent);
|
|
19
|
+
var replacedSTagDecodedContent = replace_s_tags_1.replaceSTag(cleanedDecodedContent);
|
|
20
|
+
var escapedDecodedContent = unwrapTempRootTag(escape_reserved_chars_1.escapeXML(wrapTempRootTag(replacedSTagDecodedContent)));
|
|
21
|
+
return wrapXMLTagAndContent(tag, escapedDecodedContent);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return matched;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
exports.decodePriorityRequest = decodePriorityRequest;
|
|
29
|
+
var wrapXMLTagAndContent = function (tag, content) {
|
|
30
|
+
return "<LoadmillWrapper><" + tag + ">" + content + "</" + tag + "></LoadmillWrapper>";
|
|
31
|
+
};
|
|
32
|
+
var wrapTempRootTag = function (content) {
|
|
33
|
+
return "<TempRoot>" + content + "</TempRoot>";
|
|
34
|
+
};
|
|
35
|
+
var unwrapTempRootTag = function (content) {
|
|
36
|
+
return content.replace('<TempRoot>', '').replace('</TempRoot>', '');
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Weird & secret xml format.
|
|
40
|
+
* S - start of a tag
|
|
41
|
+
* E - end of a tag
|
|
42
|
+
* V - value
|
|
43
|
+
*/
|
|
44
|
+
var SPECIFIC_START = 'AlMKCQ0w'; // base64 for \x02S\n\t\r0 which is the start of secret xml format
|
|
45
|
+
var BASE64_REGEX = new RegExp("(" + SPECIFIC_START + "[A-Za-z0-9+/=]*)", 'g'); // match the start of the secret xml format and the base64 encoded data
|
|
46
|
+
var decodePriorityResponse = function (responseBody) {
|
|
47
|
+
var isFullReponseEncoded = validator_1.isBase64(responseBody);
|
|
48
|
+
var decodedResponseBody = isFullReponseEncoded ? decodeBase64(responseBody) : responseBody;
|
|
49
|
+
var result = decodedResponseBody.replace(BASE64_REGEX, function (_, encodedData) {
|
|
50
|
+
var decodedData = Buffer.from(encodedData, 'base64').toString('utf8');
|
|
51
|
+
var lines = decodedData.substring(1) // skip the first weird character (it is for format type)
|
|
52
|
+
.split('\n')
|
|
53
|
+
.map(function (line) { return line.trim(); })
|
|
54
|
+
.filter(function (line) { return line; }); // eliminate empty lines
|
|
55
|
+
var xml = '';
|
|
56
|
+
for (var i = 0; i < lines.length; i++) {
|
|
57
|
+
if (lines[i] === 'S') {
|
|
58
|
+
var openTagName = lines[i + 2];
|
|
59
|
+
xml += "<" + openTagName + ">";
|
|
60
|
+
i += 2; // Skip past the depth indicator and the tag name
|
|
61
|
+
while (!['S', 'V', 'E'].includes(lines[i + 1])) {
|
|
62
|
+
xml += lines[i + 1];
|
|
63
|
+
i += 1;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else if (lines[i] === 'E') {
|
|
67
|
+
var closeTagName = lines[i + 1];
|
|
68
|
+
xml += "</" + closeTagName + ">";
|
|
69
|
+
i += 1; // Skip past the tag name
|
|
70
|
+
}
|
|
71
|
+
else if (lines[i] === 'V') {
|
|
72
|
+
// while not 'E', accumulate value lines
|
|
73
|
+
var value = '';
|
|
74
|
+
while (lines[i + 1] !== 'E' && i >= lines.length) {
|
|
75
|
+
value += lines[i + 1];
|
|
76
|
+
i += 1;
|
|
77
|
+
}
|
|
78
|
+
xml += value;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return "<LoadmillWrapper>" + xml + "</LoadmillWrapper>";
|
|
82
|
+
});
|
|
83
|
+
var replacedSTagResult = replace_s_tags_1.replaceSTag(result);
|
|
84
|
+
var escapedResult = escape_reserved_chars_1.escapeXML(replacedSTagResult);
|
|
85
|
+
var withoutXMLNamespaces = namespaces_1.removeXMLNamespaces(escapedResult);
|
|
86
|
+
return isFullReponseEncoded ? returnToBase64(withoutXMLNamespaces) : withoutXMLNamespaces;
|
|
87
|
+
};
|
|
88
|
+
exports.decodePriorityResponse = decodePriorityResponse;
|
|
89
|
+
var decodeBase64 = function (text) { return Buffer.from(text, 'base64').toString('utf8'); };
|
|
90
|
+
var returnToBase64 = function (text) { return Buffer.from(text).toString('base64'); };
|
|
91
|
+
//# sourceMappingURL=decode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decode.js","sourceRoot":"","sources":["../../src/xml/decode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const encodeXMLRequestBody: (requestBody: string) => string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.encodeXMLRequestBody = void 0;
|
|
4
|
+
var remove_invisible_chars_1 = require("./remove-invisible-chars");
|
|
5
|
+
var REGEX_LOADMILL_WRAPPER = /<LoadmillWrapper>\s*<(xml|statexml|data)>([\s\S]*?)<\/(xml|statexml|data)>\s*<\/LoadmillWrapper>/g;
|
|
6
|
+
var encodeXMLRequestBody = function (requestBody) {
|
|
7
|
+
return requestBody.replace(REGEX_LOADMILL_WRAPPER, function (_, tag, decodedContent) {
|
|
8
|
+
var cleanedDecodedContent = remove_invisible_chars_1.replaceCustomTagWithInvisibleChar(decodedContent);
|
|
9
|
+
var reEncodedContent = Buffer.from(cleanedDecodedContent).toString('base64');
|
|
10
|
+
return "<" + tag + ">" + reEncodedContent + "</" + tag + ">";
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
exports.encodeXMLRequestBody = encodeXMLRequestBody;
|
|
14
|
+
//# sourceMappingURL=encode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode.js","sourceRoot":"","sources":["../../src/xml/encode.ts"],"names":[],"mappings":";;;AAAA,mEAA6E;AAE7E,IAAM,sBAAsB,GAAG,mGAAmG,CAAC;AAE5H,IAAM,oBAAoB,GAAG,UAAC,WAAmB;IACtD,OAAO,WAAW,CAAC,OAAO,CAAC,sBAAsB,EAAE,UAAC,CAAC,EAAE,GAAG,EAAE,cAAc;QACxE,IAAM,qBAAqB,GAAG,0DAAiC,CAAC,cAAc,CAAC,CAAC;QAChF,IAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/E,OAAO,MAAI,GAAG,SAAI,gBAAgB,UAAK,GAAG,MAAG,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B"}
|
|
@@ -0,0 +1,57 @@
|
|
|
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.escapeXML = void 0;
|
|
7
|
+
var xmldom_1 = require("@xmldom/xmldom");
|
|
8
|
+
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
9
|
+
/**
|
|
10
|
+
* Escape reserved XML characters in a string.
|
|
11
|
+
* Reserved characters are: <, >, &, ', ".
|
|
12
|
+
* Their escaped counterparts are: <, >, &, ', "
|
|
13
|
+
*/
|
|
14
|
+
var escapeXML = function (xml) {
|
|
15
|
+
var parser = new xmldom_1.DOMParser({ errorHandler: _errorHandler });
|
|
16
|
+
var xmlDoc = parser.parseFromString(xml, 'text/xml');
|
|
17
|
+
processNode(xmlDoc.documentElement);
|
|
18
|
+
return new xmldom_1.XMLSerializer().serializeToString(xmlDoc);
|
|
19
|
+
};
|
|
20
|
+
exports.escapeXML = escapeXML;
|
|
21
|
+
var _errorHandler = {
|
|
22
|
+
warning: function (msg) { return log_1.default.debug(msg); },
|
|
23
|
+
error: function (msg) { return log_1.default.debug(msg); },
|
|
24
|
+
fatalError: function (msg) { return log_1.default.debug(msg); },
|
|
25
|
+
};
|
|
26
|
+
// Recursively process XML nodes
|
|
27
|
+
var processNode = function (node) {
|
|
28
|
+
if (!node) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (node.TEXT_NODE) {
|
|
32
|
+
node.nodeValue = escapeXmlContent(node.nodeValue);
|
|
33
|
+
}
|
|
34
|
+
else if (node.ELEMENT_NODE) {
|
|
35
|
+
for (var i = 0; i < node.childNodes.length; i++) {
|
|
36
|
+
processNode(node.childNodes[i]);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var escapeXmlContent = function (content) {
|
|
41
|
+
if (!content) {
|
|
42
|
+
return content;
|
|
43
|
+
}
|
|
44
|
+
// Replace reserved symbols with their escaped counterparts
|
|
45
|
+
return content.replace(/[<>&'"]/g, function (match) {
|
|
46
|
+
switch (match) {
|
|
47
|
+
case '<':
|
|
48
|
+
return '<';
|
|
49
|
+
case '>':
|
|
50
|
+
return '>';
|
|
51
|
+
case '&':
|
|
52
|
+
return '&';
|
|
53
|
+
default: return match;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=escape-reserved-chars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escape-reserved-chars.js","sourceRoot":"","sources":["../../src/xml/escape-reserved-chars.ts"],"names":[],"mappings":";;;;;;AAAA,yCAIwB;AAExB,qEAA+C;AAE/C;;;;GAIG;AACI,IAAM,SAAS,GAAG,UAAC,GAAW;IACnC,IAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;IAC9D,IAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACvD,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACpC,OAAO,IAAI,sBAAa,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AALW,QAAA,SAAS,aAKpB;AAEF,IAAM,aAAa,GAAuB;IACxC,OAAO,EAAE,UAAC,GAAW,IAAK,OAAA,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAd,CAAc;IACxC,KAAK,EAAE,UAAC,GAAW,IAAK,OAAA,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAd,CAAc;IACtC,UAAU,EAAE,UAAC,GAAW,IAAK,OAAA,aAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAd,CAAc;CAC5C,CAAC;AAEF,gCAAgC;AAChC,IAAM,WAAW,GAAG,UAAC,IAAU;IAC7B,IAAI,CAAC,IAAI,EAAE;QACT,OAAO;KACR;IACD,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACnD;SAAM,IAAI,IAAI,CAAC,YAAY,EAAE;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC;KACF;AACH,CAAC,CAAC;AAEF,IAAM,gBAAgB,GAAG,UAAC,OAAsB;IAC9C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,OAAO,CAAC;KAChB;IACD,2DAA2D;IAC3D,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,UAAC,KAAa;QAC/C,QAAQ,KAAK,EAAE;YACf,KAAK,GAAG;gBACN,OAAO,MAAM,CAAC;YAChB,KAAK,GAAG;gBACN,OAAO,MAAM,CAAC;YAChB,KAAK,GAAG;gBACN,OAAO,OAAO,CAAC;YACjB,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC;SACrB;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isXML: (mimeType?: string) => boolean;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isXML = void 0;
|
|
4
|
+
var isXML = function (mimeType) {
|
|
5
|
+
if (mimeType === void 0) { mimeType = ''; }
|
|
6
|
+
return mimeType.startsWith('text/xml') || mimeType.startsWith('application/xml');
|
|
7
|
+
};
|
|
8
|
+
exports.isXML = isXML;
|
|
9
|
+
//# sourceMappingURL=is-xml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-xml.js","sourceRoot":"","sources":["../../src/xml/is-xml.ts"],"names":[],"mappings":";;;AAAO,IAAM,KAAK,GAAG,UAAC,QAAqB;IAArB,yBAAA,EAAA,aAAqB;IACzC,OAAO,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACnF,CAAC,CAAC;AAFW,QAAA,KAAK,SAEhB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.jsonToXML = void 0;
|
|
4
|
+
var xml2js_1 = require("xml2js");
|
|
5
|
+
var jsonToXML = function (json, options) {
|
|
6
|
+
if (options === void 0) { options = {}; }
|
|
7
|
+
var builder = new xml2js_1.Builder(options);
|
|
8
|
+
return builder.buildObject(json);
|
|
9
|
+
};
|
|
10
|
+
exports.jsonToXML = jsonToXML;
|
|
11
|
+
//# sourceMappingURL=json-to-xml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-to-xml.js","sourceRoot":"","sources":["../../src/xml/json-to-xml.ts"],"names":[],"mappings":";;;AAAA,iCAAiD;AAE1C,IAAM,SAAS,GAAG,UAAC,IAAS,EAAE,OAA4B;IAA5B,wBAAA,EAAA,YAA4B;IAC/D,IAAM,OAAO,GAAG,IAAI,gBAAO,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AAHW,QAAA,SAAS,aAGpB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This function removes all namespace declarations from a given string representing an XML document.
|
|
3
|
+
* It uses a regular expression to find and replace all occurrences of 'xmlns="..."' with an empty string.
|
|
4
|
+
* @param xmlString - The XML string from which to remove namespace declarations.
|
|
5
|
+
* @returns The XML string without namespace declarations.
|
|
6
|
+
*/
|
|
7
|
+
export declare const removeXMLNamespaces: (xmlString: string) => string;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removeXMLNamespaces = void 0;
|
|
4
|
+
// Match all occurrences of 'xmlns="..."'
|
|
5
|
+
var XML_NAMESPACE_DECLARATION_REGEX = /\s*xmlns\s*=\s*"[^"]*"/g;
|
|
6
|
+
/**
|
|
7
|
+
* This function removes all namespace declarations from a given string representing an XML document.
|
|
8
|
+
* It uses a regular expression to find and replace all occurrences of 'xmlns="..."' with an empty string.
|
|
9
|
+
* @param xmlString - The XML string from which to remove namespace declarations.
|
|
10
|
+
* @returns The XML string without namespace declarations.
|
|
11
|
+
*/
|
|
12
|
+
var removeXMLNamespaces = function (xmlString) {
|
|
13
|
+
return xmlString.replace(XML_NAMESPACE_DECLARATION_REGEX, '');
|
|
14
|
+
};
|
|
15
|
+
exports.removeXMLNamespaces = removeXMLNamespaces;
|
|
16
|
+
//# sourceMappingURL=namespaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../src/xml/namespaces.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,IAAM,+BAA+B,GAAG,yBAAyB,CAAC;AAElE;;;;;GAKG;AACI,IAAM,mBAAmB,GAAG,UAAC,SAAiB;IACnD,OAAO,SAAS,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;AAChE,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable no-control-regex */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.replaceCustomTagWithInvisibleChar = exports.replaceInvisibleCharWithCustomTag = void 0;
|
|
5
|
+
function replaceInvisibleCharWithCustomTag(input) {
|
|
6
|
+
return input.replace(/\x02/g, '<LoadmillSotPlaceholder/>');
|
|
7
|
+
}
|
|
8
|
+
exports.replaceInvisibleCharWithCustomTag = replaceInvisibleCharWithCustomTag;
|
|
9
|
+
function replaceCustomTagWithInvisibleChar(input) {
|
|
10
|
+
return input.replace(/[\s]*<LoadmillSotPlaceholder\/>[\s]*/g, '\x02');
|
|
11
|
+
}
|
|
12
|
+
exports.replaceCustomTagWithInvisibleChar = replaceCustomTagWithInvisibleChar;
|
|
13
|
+
//# sourceMappingURL=remove-invisible-chars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-invisible-chars.js","sourceRoot":"","sources":["../../src/xml/remove-invisible-chars.ts"],"names":[],"mappings":";AAAA,qCAAqC;;;AAErC,SAAgB,iCAAiC,CAAC,KAAa;IAC7D,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;AAC7D,CAAC;AAFD,8EAEC;AAED,SAAgB,iCAAiC,CAAC,KAAa;IAC7D,OAAO,KAAK,CAAC,OAAO,CAAC,uCAAuC,EAAE,MAAM,CAAC,CAAC;AACxE,CAAC;AAFD,8EAEC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.replaceSTag = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Replaces lonely <S> tags with <LoadmillPlaceHolder/> tags
|
|
6
|
+
*/
|
|
7
|
+
var replaceSTag = function (xml) {
|
|
8
|
+
if (xml === void 0) { xml = ''; }
|
|
9
|
+
if (countOpeningSTags(xml) > countClosingSTags(xml)) {
|
|
10
|
+
return xml.replace('<S>', '<LoadmillPlaceHolder/>');
|
|
11
|
+
}
|
|
12
|
+
return xml;
|
|
13
|
+
};
|
|
14
|
+
exports.replaceSTag = replaceSTag;
|
|
15
|
+
var countOpeningSTags = function (xml) {
|
|
16
|
+
return (xml.match(/<S>/g) || []).length;
|
|
17
|
+
};
|
|
18
|
+
var countClosingSTags = function (xml) {
|
|
19
|
+
return (xml.match(/<\/S>/g) || []).length;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=replace-s-tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replace-s-tags.js","sourceRoot":"","sources":["../../src/xml/replace-s-tags.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACI,IAAM,WAAW,GAAG,UAAC,GAAgB;IAAhB,oBAAA,EAAA,QAAgB;IAC1C,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE;QACnD,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;KACrD;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AALW,QAAA,WAAW,eAKtB;AAEF,IAAM,iBAAiB,GAAG,UAAC,GAAW;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;AAC1C,CAAC,CAAC;AAEF,IAAM,iBAAiB,GAAG,UAAC,GAAW;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;AAC5C,CAAC,CAAC"}
|