@haibun/web-playwright 3.1.3 → 3.3.0
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/build/BrowserFactory.d.ts +11 -11
- package/build/BrowserFactory.d.ts.map +1 -1
- package/build/BrowserFactory.js +40 -46
- package/build/BrowserFactory.js.map +1 -1
- package/build/PlaywrightEvents.d.ts +2 -2
- package/build/PlaywrightEvents.d.ts.map +1 -1
- package/build/PlaywrightEvents.js +41 -23
- package/build/PlaywrightEvents.js.map +1 -1
- package/build/cycles.d.ts.map +1 -1
- package/build/cycles.js +82 -36
- package/build/cycles.js.map +1 -1
- package/build/interactionSteps.d.ts +40 -51
- package/build/interactionSteps.d.ts.map +1 -1
- package/build/interactionSteps.js +32 -51
- package/build/interactionSteps.js.map +1 -1
- package/build/rest-playwright.d.ts +25 -22
- package/build/rest-playwright.d.ts.map +1 -1
- package/build/rest-playwright.js +16 -17
- package/build/rest-playwright.js.map +1 -1
- package/build/twin-page.d.ts +1 -1
- package/build/twin-page.d.ts.map +1 -1
- package/build/twin-page.js +4 -8
- package/build/twin-page.js.map +1 -1
- package/build/web-playwright.d.ts +18 -37
- package/build/web-playwright.d.ts.map +1 -1
- package/build/web-playwright.js +60 -79
- package/build/web-playwright.js.map +1 -1
- package/package.json +12 -7
- package/build/monitor/MonitorHandler.d.ts +0 -52
- package/build/monitor/MonitorHandler.d.ts.map +0 -1
- package/build/monitor/MonitorHandler.js +0 -176
- package/build/monitor/MonitorHandler.js.map +0 -1
- package/build/monitor/artifactDisplays/HtmlArtifactDisplay.d.ts +0 -9
- package/build/monitor/artifactDisplays/HtmlArtifactDisplay.d.ts.map +0 -1
- package/build/monitor/artifactDisplays/HtmlArtifactDisplay.js +0 -27
- package/build/monitor/artifactDisplays/HtmlArtifactDisplay.js.map +0 -1
- package/build/monitor/artifactDisplays/ImageArtifactDisplay.d.ts +0 -9
- package/build/monitor/artifactDisplays/ImageArtifactDisplay.d.ts.map +0 -1
- package/build/monitor/artifactDisplays/ImageArtifactDisplay.js +0 -17
- package/build/monitor/artifactDisplays/ImageArtifactDisplay.js.map +0 -1
- package/build/monitor/artifactDisplays/JsonArtifactDisplay.d.ts +0 -8
- package/build/monitor/artifactDisplays/JsonArtifactDisplay.d.ts.map +0 -1
- package/build/monitor/artifactDisplays/JsonArtifactDisplay.js +0 -26
- package/build/monitor/artifactDisplays/JsonArtifactDisplay.js.map +0 -1
- package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.d.ts +0 -13
- package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.d.ts.map +0 -1
- package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.js +0 -47
- package/build/monitor/artifactDisplays/JsonArtifactHTTPTrace.js.map +0 -1
- package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.d.ts +0 -9
- package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.d.ts.map +0 -1
- package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.js +0 -147
- package/build/monitor/artifactDisplays/ResolvedFeaturesArtifactDisplay.js.map +0 -1
- package/build/monitor/artifactDisplays/SequenceDiagramGenerator.d.ts +0 -32
- package/build/monitor/artifactDisplays/SequenceDiagramGenerator.d.ts.map +0 -1
- package/build/monitor/artifactDisplays/SequenceDiagramGenerator.js +0 -258
- package/build/monitor/artifactDisplays/SequenceDiagramGenerator.js.map +0 -1
- package/build/monitor/artifactDisplays/SpeechArtifactDisplay.d.ts +0 -9
- package/build/monitor/artifactDisplays/SpeechArtifactDisplay.d.ts.map +0 -1
- package/build/monitor/artifactDisplays/SpeechArtifactDisplay.js +0 -19
- package/build/monitor/artifactDisplays/SpeechArtifactDisplay.js.map +0 -1
- package/build/monitor/artifactDisplays/VideoArtifactDisplay.d.ts +0 -9
- package/build/monitor/artifactDisplays/VideoArtifactDisplay.d.ts.map +0 -1
- package/build/monitor/artifactDisplays/VideoArtifactDisplay.js +0 -21
- package/build/monitor/artifactDisplays/VideoArtifactDisplay.js.map +0 -1
- package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.d.ts +0 -9
- package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.d.ts.map +0 -1
- package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.js +0 -16
- package/build/monitor/artifactDisplays/VideoStartArtifactDisplay.js.map +0 -1
- package/build/monitor/artifactDisplays/artifactDisplayBase.d.ts +0 -20
- package/build/monitor/artifactDisplays/artifactDisplayBase.d.ts.map +0 -1
- package/build/monitor/artifactDisplays/artifactDisplayBase.js +0 -40
- package/build/monitor/artifactDisplays/artifactDisplayBase.js.map +0 -1
- package/build/monitor/controls.d.ts +0 -13
- package/build/monitor/controls.d.ts.map +0 -1
- package/build/monitor/controls.js +0 -349
- package/build/monitor/controls.js.map +0 -1
- package/build/monitor/disclosureJson.d.ts +0 -3
- package/build/monitor/disclosureJson.d.ts.map +0 -1
- package/build/monitor/disclosureJson.js +0 -353
- package/build/monitor/disclosureJson.js.map +0 -1
- package/build/monitor/graph/feature-bases.d.ts +0 -5
- package/build/monitor/graph/feature-bases.d.ts.map +0 -1
- package/build/monitor/graph/feature-bases.js +0 -36
- package/build/monitor/graph/feature-bases.js.map +0 -1
- package/build/monitor/graph/generateMermaidGraph.d.ts +0 -11
- package/build/monitor/graph/generateMermaidGraph.d.ts.map +0 -1
- package/build/monitor/graph/generateMermaidGraph.js +0 -314
- package/build/monitor/graph/generateMermaidGraph.js.map +0 -1
- package/build/monitor/graph/graphUtils.d.ts +0 -3
- package/build/monitor/graph/graphUtils.d.ts.map +0 -1
- package/build/monitor/graph/graphUtils.js +0 -26
- package/build/monitor/graph/graphUtils.js.map +0 -1
- package/build/monitor/graph/mermaidGraphLinks.d.ts +0 -3
- package/build/monitor/graph/mermaidGraphLinks.d.ts.map +0 -1
- package/build/monitor/graph/mermaidGraphLinks.js +0 -26
- package/build/monitor/graph/mermaidGraphLinks.js.map +0 -1
- package/build/monitor/messages.d.ts +0 -14
- package/build/monitor/messages.d.ts.map +0 -1
- package/build/monitor/messages.js +0 -359
- package/build/monitor/messages.js.map +0 -1
- package/build/monitor/monitor.d.ts +0 -25
- package/build/monitor/monitor.d.ts.map +0 -1
- package/build/monitor/monitor.js +0 -599
- package/build/monitor/monitor.js.map +0 -1
- package/build/monitor/test-utils.d.ts +0 -9
- package/build/monitor/test-utils.d.ts.map +0 -1
- package/build/monitor/test-utils.js +0 -70
- package/build/monitor/test-utils.js.map +0 -1
- package/web/monitor.html +0 -3715
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import WebPlaywright from './web-playwright.js';
|
|
2
|
-
import { TAnyFixme } from '@haibun/core/lib/fixme.js';
|
|
3
2
|
export declare const AUTHORIZATION = "Authorization";
|
|
4
3
|
export declare const ACCESS_TOKEN = "access_token";
|
|
5
4
|
export declare const base64Encode: ({ username, password }: {
|
|
@@ -11,32 +10,32 @@ export declare const restSteps: (webPlaywright: WebPlaywright) => {
|
|
|
11
10
|
readonly gwta: "API user agent is {agent}";
|
|
12
11
|
readonly action: ({ agent }: {
|
|
13
12
|
agent: string;
|
|
14
|
-
}) => import("@haibun/core/
|
|
13
|
+
}) => import("@haibun/core/schema/protocol.js").TOKActionResult;
|
|
15
14
|
};
|
|
16
15
|
readonly addBasicAuthCredentials: {
|
|
17
16
|
readonly gwta: "use Authorization Basic header with {username}, {password}";
|
|
18
17
|
readonly action: ({ username, password }: {
|
|
19
18
|
username: string;
|
|
20
19
|
password: string;
|
|
21
|
-
}) => Promise<import("@haibun/core/
|
|
20
|
+
}) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult>;
|
|
22
21
|
};
|
|
23
22
|
readonly addAuthBearerToken: {
|
|
24
23
|
readonly gwta: "use Authorization Bearer header with {token}";
|
|
25
24
|
readonly action: ({ token }: {
|
|
26
25
|
token: string;
|
|
27
|
-
}) => Promise<import("@haibun/core/
|
|
26
|
+
}) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult>;
|
|
28
27
|
};
|
|
29
28
|
readonly restTokenRequest: {
|
|
30
29
|
readonly gwta: "request OAuth 2.0 access token from {endpoint}";
|
|
31
30
|
readonly action: ({ endpoint }: {
|
|
32
31
|
endpoint: string;
|
|
33
|
-
}, featureStep: import("@haibun/core/lib/defs.js").TFeatureStep) => Promise<import("@haibun/core/
|
|
32
|
+
}, featureStep: import("@haibun/core/build/lib/defs.js").TFeatureStep) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult>;
|
|
34
33
|
};
|
|
35
34
|
readonly restTokenLogout: {
|
|
36
35
|
readonly gwta: "perform OAuth 2.0 logout from {endpoint}";
|
|
37
36
|
readonly action: ({ endpoint }: {
|
|
38
37
|
endpoint: string;
|
|
39
|
-
}, featureStep: import("@haibun/core/lib/defs.js").TFeatureStep) => Promise<import("@haibun/core/
|
|
38
|
+
}, featureStep: import("@haibun/core/build/lib/defs.js").TFeatureStep) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult>;
|
|
40
39
|
};
|
|
41
40
|
readonly acceptEndpointRequest: {
|
|
42
41
|
readonly gwta: "accept {accept} using HTTP {method} to {endpoint}";
|
|
@@ -45,7 +44,7 @@ export declare const restSteps: (webPlaywright: WebPlaywright) => {
|
|
|
45
44
|
accept: string;
|
|
46
45
|
method: string;
|
|
47
46
|
endpoint: string;
|
|
48
|
-
}, featureStep: import("@haibun/core/lib/defs.js").TFeatureStep) => Promise<import("@haibun/core/
|
|
47
|
+
}, featureStep: import("@haibun/core/build/lib/defs.js").TFeatureStep) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult>;
|
|
49
48
|
};
|
|
50
49
|
readonly restEndpointRequest: {
|
|
51
50
|
readonly gwta: "make an HTTP {method} to {endpoint}";
|
|
@@ -53,43 +52,43 @@ export declare const restSteps: (webPlaywright: WebPlaywright) => {
|
|
|
53
52
|
readonly action: ({ endpoint }: {
|
|
54
53
|
method: string;
|
|
55
54
|
endpoint: string;
|
|
56
|
-
}, featureStep: import("@haibun/core/lib/defs.js").TFeatureStep) => Promise<import("@haibun/core/
|
|
55
|
+
}, featureStep: import("@haibun/core/build/lib/defs.js").TFeatureStep) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult>;
|
|
57
56
|
};
|
|
58
57
|
readonly filterResponseJson: {
|
|
59
58
|
readonly gwta: "filter JSON response by {property} matching {match}";
|
|
60
59
|
readonly action: ({ property, match }: {
|
|
61
60
|
property: string;
|
|
62
61
|
match: string;
|
|
63
|
-
}, featureStep: import("@haibun/core/lib/defs.js").TFeatureStep) => import("@haibun/core/
|
|
62
|
+
}, featureStep: import("@haibun/core/build/lib/defs.js").TFeatureStep) => import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult;
|
|
64
63
|
};
|
|
65
64
|
readonly filteredResponseLengthIs: {
|
|
66
65
|
readonly gwta: "filtered response length is {length}";
|
|
67
66
|
readonly action: ({ length }: {
|
|
68
67
|
length: string;
|
|
69
|
-
}) => import("@haibun/core/
|
|
68
|
+
}) => import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult;
|
|
70
69
|
};
|
|
71
70
|
readonly showResponseLength: {
|
|
72
71
|
readonly gwta: "show JSON response count";
|
|
73
|
-
readonly action: () => import("@haibun/core/
|
|
72
|
+
readonly action: () => import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult;
|
|
74
73
|
};
|
|
75
74
|
readonly showFilteredLength: {
|
|
76
75
|
readonly gwta: "show filtered response count";
|
|
77
|
-
readonly action: () => import("@haibun/core/
|
|
76
|
+
readonly action: () => import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult;
|
|
78
77
|
};
|
|
79
78
|
readonly responseJsonLengthIs: {
|
|
80
79
|
readonly gwta: "JSON response length is {length}";
|
|
81
80
|
readonly action: ({ length }: {
|
|
82
81
|
length: string;
|
|
83
|
-
}) => import("@haibun/core/
|
|
82
|
+
}) => import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult;
|
|
84
83
|
};
|
|
85
|
-
readonly
|
|
84
|
+
readonly restFilterPropertyRequest: {
|
|
86
85
|
readonly gwta: "for each filtered {property}, make REST {method} to {endpoint} yielding status {status}";
|
|
87
86
|
readonly handlesUndefined: ["method"];
|
|
88
87
|
readonly action: ({ property, endpoint, status }: {
|
|
89
88
|
property: string;
|
|
90
89
|
endpoint: string;
|
|
91
90
|
status: string;
|
|
92
|
-
}, featureStep: import("@haibun/core/lib/defs.js").TFeatureStep) => Promise<import("@haibun/core/
|
|
91
|
+
}, featureStep: import("@haibun/core/build/lib/defs.js").TFeatureStep) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult>;
|
|
93
92
|
};
|
|
94
93
|
readonly restEndpointRequestWithPayload: {
|
|
95
94
|
readonly gwta: "make an HTTP {method} to {endpoint} with {payload}";
|
|
@@ -97,35 +96,39 @@ export declare const restSteps: (webPlaywright: WebPlaywright) => {
|
|
|
97
96
|
readonly action: ({ endpoint, payload }: {
|
|
98
97
|
endpoint: string;
|
|
99
98
|
payload: string;
|
|
100
|
-
}, featureStep: import("@haibun/core/lib/defs.js").TFeatureStep) => Promise<import("@haibun/core/
|
|
99
|
+
}, featureStep: import("@haibun/core/build/lib/defs.js").TFeatureStep) => Promise<import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult>;
|
|
101
100
|
};
|
|
102
101
|
readonly restLastStatusIs: {
|
|
103
102
|
readonly gwta: "HTTP status is {status}";
|
|
104
103
|
readonly action: ({ status }: {
|
|
105
104
|
status: string;
|
|
106
|
-
}) => import("@haibun/core/
|
|
105
|
+
}) => import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult;
|
|
107
106
|
};
|
|
108
107
|
readonly restResponsePropertyIs: {
|
|
109
108
|
readonly gwta: "HTTP response property {property} is {value}";
|
|
110
109
|
readonly action: ({ property, value }: {
|
|
111
110
|
property: string;
|
|
112
111
|
value: string;
|
|
113
|
-
}) => import("@haibun/core/
|
|
112
|
+
}) => import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult;
|
|
114
113
|
};
|
|
115
114
|
readonly restResponseIs: {
|
|
116
115
|
readonly gwta: "HTTP text response is {value}";
|
|
117
116
|
readonly action: ({ value }: {
|
|
118
117
|
value: string;
|
|
119
|
-
}) => import("@haibun/core/
|
|
118
|
+
}) => import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult;
|
|
120
119
|
};
|
|
121
120
|
};
|
|
121
|
+
/** Record with string keys for JSON objects */
|
|
122
|
+
export type TJsonRecord = Record<string, unknown>;
|
|
123
|
+
/** JSON response can be an array of records or a single record */
|
|
124
|
+
export type TJsonResponse = TJsonRecord | TJsonRecord[];
|
|
122
125
|
export type TCapturedResponse = {
|
|
123
126
|
status: number;
|
|
124
127
|
statusText: string;
|
|
125
|
-
headers:
|
|
128
|
+
headers: Record<string, string>;
|
|
126
129
|
url: string;
|
|
127
|
-
json:
|
|
130
|
+
json: TJsonResponse;
|
|
128
131
|
text: string;
|
|
129
|
-
filtered?:
|
|
132
|
+
filtered?: TJsonRecord[];
|
|
130
133
|
};
|
|
131
134
|
//# sourceMappingURL=rest-playwright.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest-playwright.d.ts","sourceRoot":"","sources":["../src/rest-playwright.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"rest-playwright.d.ts","sourceRoot":"","sources":["../src/rest-playwright.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAQhD,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAI3C,eAAO,MAAM,YAAY,GAAI,wBAAwB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,WACjC,CAAC;AAE3D,eAAO,MAAM,SAAS,GAAI,eAAe,aAAa;;;qCAGhC;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE;;;;kDAOE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE;;;;qCAOnD;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE;;;;wCAOd;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE;;;;wCAUpB;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE;;;;;gDAWZ;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE;;;;;wCAa5D;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE;;;;+CAYnC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE;;;;sCAY5C;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;sCAoClB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;0DAWQ;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE;;;;;iDA0B/D;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE;;;;sCAatD;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE;;;;+CAUT;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE;;;;qCAU7C;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE;;CAQJ,CAAC;AAEpC,+CAA+C;AAC/C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElD,kEAAkE;AAClE,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,WAAW,EAAE,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CACzB,CAAC"}
|
package/build/rest-playwright.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { actionNotOK, actionOK, getStepTerm } from '@haibun/core/lib/util/index.js';
|
|
2
|
-
import { OK } from '@haibun/core/
|
|
3
|
-
import { EExecutionMessageType } from '@haibun/core/lib/interfaces/logger.js';
|
|
2
|
+
import { OK } from '@haibun/core/schema/protocol.js';
|
|
4
3
|
const PAYLOAD_METHODS = ['post', 'put', 'patch'];
|
|
5
4
|
const NO_PAYLOAD_METHODS = ['get', 'delete', 'head'];
|
|
6
5
|
export const AUTHORIZATION = 'Authorization';
|
|
@@ -33,7 +32,7 @@ export const restSteps = (webPlaywright) => ({
|
|
|
33
32
|
gwta: `request OAuth 2.0 access token from {endpoint}`,
|
|
34
33
|
action: async ({ endpoint }, featureStep) => {
|
|
35
34
|
const serialized = await webPlaywright.withPageFetch(endpoint);
|
|
36
|
-
const accessToken = serialized.json[ACCESS_TOKEN];
|
|
35
|
+
const accessToken = !Array.isArray(serialized.json) ? serialized.json[ACCESS_TOKEN] : undefined;
|
|
37
36
|
await webPlaywright.setExtraHTTPHeaders({ [AUTHORIZATION]: `Bearer ${accessToken}` });
|
|
38
37
|
webPlaywright.setLastResponse(serialized, featureStep);
|
|
39
38
|
return OK;
|
|
@@ -52,7 +51,7 @@ export const restSteps = (webPlaywright) => ({
|
|
|
52
51
|
gwta: `accept {accept} using ${HTTP} {method} to {endpoint}`,
|
|
53
52
|
handlesUndefined: ['method'],
|
|
54
53
|
action: async ({ accept, endpoint }, featureStep) => {
|
|
55
|
-
const method = getStepTerm(featureStep, 'method')
|
|
54
|
+
const method = getStepTerm(featureStep, 'method')?.toLowerCase() ?? '';
|
|
56
55
|
if (!NO_PAYLOAD_METHODS.includes(method)) {
|
|
57
56
|
return actionNotOK(`Method ${method} not supported`);
|
|
58
57
|
}
|
|
@@ -65,7 +64,7 @@ export const restSteps = (webPlaywright) => ({
|
|
|
65
64
|
gwta: `make an ${HTTP} {method} to {endpoint}`,
|
|
66
65
|
handlesUndefined: ['method'],
|
|
67
66
|
action: async ({ endpoint }, featureStep) => {
|
|
68
|
-
const method = getStepTerm(featureStep, 'method')
|
|
67
|
+
const method = getStepTerm(featureStep, 'method')?.toLowerCase() ?? '';
|
|
69
68
|
if (!NO_PAYLOAD_METHODS.includes(method)) {
|
|
70
69
|
return actionNotOK(`Method ${method} not supported`);
|
|
71
70
|
}
|
|
@@ -81,7 +80,7 @@ export const restSteps = (webPlaywright) => ({
|
|
|
81
80
|
if (!lastResponse?.json || !Array.isArray(lastResponse.json)) {
|
|
82
81
|
return actionNotOK(`No JSON or array from ${JSON.stringify(lastResponse)}`);
|
|
83
82
|
}
|
|
84
|
-
const filtered = lastResponse.json.filter((item) => item[property]
|
|
83
|
+
const filtered = lastResponse.json.filter((item) => item[property]?.match?.(match));
|
|
85
84
|
webPlaywright.setLastResponse({ ...lastResponse, filtered }, featureStep);
|
|
86
85
|
return OK;
|
|
87
86
|
},
|
|
@@ -104,9 +103,9 @@ export const restSteps = (webPlaywright) => ({
|
|
|
104
103
|
console.debug(lastResponse);
|
|
105
104
|
return actionNotOK(`No last response to count`);
|
|
106
105
|
}
|
|
107
|
-
webPlaywright.getWorld().
|
|
108
|
-
const
|
|
109
|
-
return actionOK({
|
|
106
|
+
webPlaywright.getWorld().eventLogger.info(`lastResponse JSON count is ${lastResponse.json.length}`);
|
|
107
|
+
const topics = { summary: 'options', details: { count: lastResponse.json.length } };
|
|
108
|
+
return actionOK({ topics });
|
|
110
109
|
},
|
|
111
110
|
},
|
|
112
111
|
showFilteredLength: {
|
|
@@ -117,9 +116,9 @@ export const restSteps = (webPlaywright) => ({
|
|
|
117
116
|
console.debug(lastResponse);
|
|
118
117
|
return actionNotOK(`No filtered response to count`);
|
|
119
118
|
}
|
|
120
|
-
webPlaywright.getWorld().
|
|
121
|
-
const
|
|
122
|
-
return actionOK({
|
|
119
|
+
webPlaywright.getWorld().eventLogger.info(`lastResponse filtered count is ${lastResponse.filtered.length}`);
|
|
120
|
+
const topics = { summary: 'options', count: lastResponse.filtered.length };
|
|
121
|
+
return actionOK({ topics });
|
|
123
122
|
},
|
|
124
123
|
},
|
|
125
124
|
responseJsonLengthIs: {
|
|
@@ -132,11 +131,11 @@ export const restSteps = (webPlaywright) => ({
|
|
|
132
131
|
return OK;
|
|
133
132
|
},
|
|
134
133
|
},
|
|
135
|
-
|
|
134
|
+
restFilterPropertyRequest: {
|
|
136
135
|
gwta: `for each filtered {property}, make REST {method} to {endpoint} yielding status {status}`,
|
|
137
136
|
handlesUndefined: ['method'],
|
|
138
137
|
action: async ({ property, endpoint, status }, featureStep) => {
|
|
139
|
-
const method = getStepTerm(featureStep, 'method')
|
|
138
|
+
const method = getStepTerm(featureStep, 'method')?.toLowerCase() ?? '';
|
|
140
139
|
if (!NO_PAYLOAD_METHODS.includes(method)) {
|
|
141
140
|
return actionNotOK(`Method ${method} not supported`);
|
|
142
141
|
}
|
|
@@ -162,7 +161,7 @@ export const restSteps = (webPlaywright) => ({
|
|
|
162
161
|
gwta: `make an ${'HTTP'} {method} to {endpoint} with {payload}`,
|
|
163
162
|
handlesUndefined: ['method'],
|
|
164
163
|
action: async ({ endpoint, payload }, featureStep) => {
|
|
165
|
-
const method = getStepTerm(featureStep, 'method')
|
|
164
|
+
const method = getStepTerm(featureStep, 'method')?.toLowerCase() ?? '';
|
|
166
165
|
if (!PAYLOAD_METHODS.includes(method)) {
|
|
167
166
|
return actionNotOK(`Method ${method} (${method}) does not support payload`);
|
|
168
167
|
}
|
|
@@ -186,10 +185,10 @@ export const restSteps = (webPlaywright) => ({
|
|
|
186
185
|
gwta: `${HTTP} response property {property} is {value}`,
|
|
187
186
|
action: ({ property, value }) => {
|
|
188
187
|
const lastResponse = webPlaywright.getLastResponse();
|
|
189
|
-
if (lastResponse && lastResponse.json && lastResponse.json[property] === value) {
|
|
188
|
+
if (lastResponse && lastResponse.json && !Array.isArray(lastResponse.json) && lastResponse.json[property] === value) {
|
|
190
189
|
return OK;
|
|
191
190
|
}
|
|
192
|
-
return actionNotOK(`Expected lastResponse.json.${property} to be ${value}, got ${JSON.stringify(lastResponse?.json[property])}`);
|
|
191
|
+
return actionNotOK(`Expected lastResponse.json.${property} to be ${value}, got ${JSON.stringify(!Array.isArray(lastResponse?.json) ? lastResponse?.json?.[property] : undefined)}`);
|
|
193
192
|
},
|
|
194
193
|
},
|
|
195
194
|
restResponseIs: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest-playwright.js","sourceRoot":"","sources":["../src/rest-playwright.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAEpF,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"rest-playwright.js","sourceRoot":"","sources":["../src/rest-playwright.ts"],"names":[],"mappings":"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"}
|
package/build/twin-page.d.ts
CHANGED
|
@@ -19,6 +19,6 @@ export declare class TwinPage {
|
|
|
19
19
|
__instrumented?: boolean;
|
|
20
20
|
}): Promise<void>;
|
|
21
21
|
writePage(): Promise<void>;
|
|
22
|
-
duplicateTwinElement: (locator:
|
|
22
|
+
duplicateTwinElement: (locator: import("playwright").Locator) => Promise<void>;
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=twin-page.d.ts.map
|
package/build/twin-page.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twin-page.d.ts","sourceRoot":"","sources":["../src/twin-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAYlD,qBAAa,QAAQ;IAOR,OAAO,CAAC,EAAE;IAAiB,OAAO,CAAC,OAAO;IAAY,OAAO,CAAC,QAAQ;IANlF,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,SAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,UAAS;gBAED,EAAE,EAAE,aAAa,EAAU,OAAO,EAAE,QAAQ,EAAU,QAAQ,GAAE,OAAc;IAClG,WAAW,CAAC,KAAK,EAAE,MAAM;IAInB,QAAQ;IAMR,gBAAgB,CAAC,UAAU,EAAE,MAAM;IAKnC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE;IAgCnD,SAAS;
|
|
1
|
+
{"version":3,"file":"twin-page.d.ts","sourceRoot":"","sources":["../src/twin-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAYlD,qBAAa,QAAQ;IAOR,OAAO,CAAC,EAAE;IAAiB,OAAO,CAAC,OAAO;IAAY,OAAO,CAAC,QAAQ;IANlF,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,SAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,UAAS;gBAED,EAAE,EAAE,aAAa,EAAU,OAAO,EAAE,QAAQ,EAAU,QAAQ,GAAE,OAAc;IAClG,WAAW,CAAC,KAAK,EAAE,MAAM;IAInB,QAAQ;IAMR,gBAAgB,CAAC,UAAU,EAAE,MAAM;IAKnC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE;IAgCnD,SAAS;IAWf,oBAAoB,GAAU,SAAS,OAAO,YAAY,EAAE,OAAO,mBA2FjE;CACF"}
|
package/build/twin-page.js
CHANGED
|
@@ -2,7 +2,6 @@ import { chromium } from "playwright";
|
|
|
2
2
|
import { EMediaTypes } from "@haibun/domain-storage/media-types.js";
|
|
3
3
|
import { join } from "path";
|
|
4
4
|
import { actualURI } from "@haibun/core/lib/util/actualURI.js";
|
|
5
|
-
import { EExecutionMessageType } from "@haibun/core/lib/interfaces/logger.js";
|
|
6
5
|
export class TwinPage {
|
|
7
6
|
wp;
|
|
8
7
|
storage;
|
|
@@ -48,8 +47,8 @@ export class TwinPage {
|
|
|
48
47
|
page[method] = (...args) => {
|
|
49
48
|
const patched = originalMethod.apply(page, args);
|
|
50
49
|
this.duplicateTwinElement(patched).catch(error => {
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
this.world.eventLogger.error(`Error duplicating element for ${String(method)} with args: ${JSON.stringify(args)}`);
|
|
51
|
+
// Could emit error artifact if needed
|
|
53
52
|
});
|
|
54
53
|
return patched;
|
|
55
54
|
};
|
|
@@ -65,15 +64,12 @@ export class TwinPage {
|
|
|
65
64
|
const content = await this.twinPage.content();
|
|
66
65
|
const fn = `twinned-${this.sequence}.html`;
|
|
67
66
|
const outHtmlFile = join(twinLoc, fn);
|
|
68
|
-
|
|
69
|
-
incident: EExecutionMessageType.ACTION, artifacts: [{ artifactType: 'html', path: fn }], tag: this.world.tag
|
|
70
|
-
};
|
|
71
|
-
this.world.logger.info(`Writing twin HTML to ${actualURI(outHtmlFile)}`, context);
|
|
67
|
+
this.world.eventLogger.info(`Writing twin HTML to ${actualURI(outHtmlFile)}`);
|
|
72
68
|
await this.storage.writeFile(outHtmlFile, content, EMediaTypes.html);
|
|
73
69
|
void this.twinPage.evaluate(() => document.body.innerHTML = '');
|
|
74
70
|
}
|
|
75
71
|
duplicateTwinElement = async (locator) => {
|
|
76
|
-
const elementData = await locator.evaluate(element => {
|
|
72
|
+
const elementData = await locator.evaluate((element) => {
|
|
77
73
|
if (!element) {
|
|
78
74
|
return null;
|
|
79
75
|
}
|
package/build/twin-page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twin-page.js","sourceRoot":"","sources":["../src/twin-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAQ,MAAM,YAAY,CAAC;AAK5C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"twin-page.js","sourceRoot":"","sources":["../src/twin-page.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import { Page, Download, Locator } from 'playwright';
|
|
2
|
-
import { TWorld,
|
|
2
|
+
import { TWorld, TFeatureStep } from '@haibun/core/lib/defs.js';
|
|
3
|
+
import { TStepResult } from '@haibun/core/schema/protocol.js';
|
|
3
4
|
import { BrowserFactory, TTaggedBrowserFactoryOptions } from './BrowserFactory.js';
|
|
4
5
|
import { AStorage } from '@haibun/domain-storage/AStorage.js';
|
|
5
|
-
import { EExecutionMessageType, TMessageContext } from '@haibun/core/lib/interfaces/logger.js';
|
|
6
|
-
import { MonitorHandler } from './monitor/MonitorHandler.js';
|
|
7
|
-
import { TAnyFixme } from '@haibun/core/lib/fixme.js';
|
|
8
6
|
import { AStepper, IHasCycles, IHasOptions } from '@haibun/core/lib/astepper.js';
|
|
9
|
-
import {
|
|
10
|
-
import { restSteps, TCapturedResponse } from './rest-playwright.js';
|
|
7
|
+
import { TCapturedResponse } from './rest-playwright.js';
|
|
11
8
|
import { TwinPage } from './twin-page.js';
|
|
12
|
-
|
|
13
|
-
type TWebPlaywrightTypedSteps = ReturnType<typeof interactionSteps> & ReturnType<typeof restSteps>;
|
|
9
|
+
import { TStepperSteps } from '@haibun/core/lib/astepper.js';
|
|
14
10
|
export declare const WEB_PAGE = "webpage";
|
|
15
11
|
/**
|
|
16
12
|
* This is the infrastructure for web-playwright.
|
|
@@ -19,17 +15,15 @@ export declare const WEB_PAGE = "webpage";
|
|
|
19
15
|
* @see {@link restSteps} for rest steps
|
|
20
16
|
*/
|
|
21
17
|
export declare const LAST_REST_RESPONSE = "LAST_REST_RESPONSE";
|
|
22
|
-
export declare const VISITED_PAGES = "Visited pages";
|
|
23
|
-
export declare enum EMonitoringTypes {
|
|
24
|
-
MONITOR_ALL = "all",
|
|
25
|
-
MONITOR_EACH = "each"
|
|
26
|
-
}
|
|
27
18
|
type TRequestOptions = {
|
|
28
19
|
headers?: Record<string, string>;
|
|
29
20
|
postData?: string | URLSearchParams | FormData | Blob | ArrayBuffer | ArrayBufferView;
|
|
30
21
|
userAgent?: string;
|
|
31
22
|
};
|
|
23
|
+
/** Callback function type for withPage - takes Page or Locator and returns TReturn */
|
|
24
|
+
export type TWithPageCallback<TReturn> = (pageOrLocator: Page | Locator) => TReturn | Promise<TReturn>;
|
|
32
25
|
export declare class WebPlaywright extends AStepper implements IHasOptions, IHasCycles {
|
|
26
|
+
description: string;
|
|
33
27
|
cycles: import("@haibun/core/lib/defs.js").IStepperCycles;
|
|
34
28
|
cyclesWhen: {
|
|
35
29
|
startExecution: number;
|
|
@@ -57,16 +51,6 @@ export declare class WebPlaywright extends AStepper implements IHasOptions, IHas
|
|
|
57
51
|
parseError?: undefined;
|
|
58
52
|
};
|
|
59
53
|
};
|
|
60
|
-
MONITOR: {
|
|
61
|
-
desc: string;
|
|
62
|
-
parse: (input: string) => {
|
|
63
|
-
parseError: string;
|
|
64
|
-
result?: undefined;
|
|
65
|
-
} | {
|
|
66
|
-
result: string;
|
|
67
|
-
parseError?: undefined;
|
|
68
|
-
};
|
|
69
|
-
};
|
|
70
54
|
HEADLESS: {
|
|
71
55
|
desc: string;
|
|
72
56
|
parse: (input: string) => {
|
|
@@ -127,7 +111,6 @@ export declare class WebPlaywright extends AStepper implements IHasOptions, IHas
|
|
|
127
111
|
result: string;
|
|
128
112
|
parseError?: undefined;
|
|
129
113
|
};
|
|
130
|
-
required: boolean;
|
|
131
114
|
};
|
|
132
115
|
};
|
|
133
116
|
hasFactory: boolean;
|
|
@@ -138,9 +121,7 @@ export declare class WebPlaywright extends AStepper implements IHasOptions, IHas
|
|
|
138
121
|
downloaded: string[];
|
|
139
122
|
captureVideo: boolean;
|
|
140
123
|
closers: Array<() => void>;
|
|
141
|
-
monitor: EMonitoringTypes;
|
|
142
124
|
twin: boolean;
|
|
143
|
-
monitorHandler?: MonitorHandler;
|
|
144
125
|
twinPage?: TwinPage;
|
|
145
126
|
apiUserAgent: string;
|
|
146
127
|
extraHTTPHeaders: {
|
|
@@ -150,38 +131,38 @@ export declare class WebPlaywright extends AStepper implements IHasOptions, IHas
|
|
|
150
131
|
headless: boolean;
|
|
151
132
|
inContainer: Locator;
|
|
152
133
|
steppers: AStepper[];
|
|
134
|
+
private videoStartEmitted;
|
|
135
|
+
resetVideoStartEmitted(): void;
|
|
153
136
|
setWorld(world: TWorld, steppers: AStepper[]): Promise<void>;
|
|
154
137
|
getCaptureDir(type?: string): Promise<string>;
|
|
155
138
|
getBrowserFactory(): Promise<BrowserFactory>;
|
|
156
139
|
getExistingBrowserContext(tag?: import("@haibun/core/build/lib/ttag.js").TTag): Promise<import("playwright").BrowserContext>;
|
|
157
140
|
getPage(): Promise<Page>;
|
|
158
|
-
withPage<TReturn>(f:
|
|
159
|
-
sees(text: string, selector: string): Promise<import("@haibun/core/
|
|
141
|
+
withPage<TReturn>(f: TWithPageCallback<TReturn>): Promise<TReturn>;
|
|
142
|
+
sees(text: string, selector: string): Promise<import("@haibun/core/schema/protocol.js").TOKActionResult | import("@haibun/core/schema/protocol.js").TNotOKActionResult>;
|
|
160
143
|
getCookies(): Promise<import("playwright").Cookie[]>;
|
|
161
|
-
get typedSteps():
|
|
162
|
-
steps:
|
|
163
|
-
setBrowser(browser: string): import("@haibun/core/
|
|
144
|
+
get typedSteps(): TStepperSteps;
|
|
145
|
+
steps: TStepperSteps;
|
|
146
|
+
setBrowser(browser: string): import("@haibun/core/schema/protocol.js").TOKActionResult;
|
|
164
147
|
newTab(): void;
|
|
165
|
-
captureFailureScreenshot(event:
|
|
166
|
-
captureScreenshotAndLog(event:
|
|
148
|
+
captureFailureScreenshot(event: string, step: TStepResult): Promise<void>;
|
|
149
|
+
captureScreenshotAndLog(event: string, details: {
|
|
167
150
|
seq?: number;
|
|
168
151
|
step?: TStepResult;
|
|
169
152
|
}): Promise<void>;
|
|
170
|
-
captureScreenshot(event:
|
|
153
|
+
captureScreenshot(event: string, details: {
|
|
171
154
|
seq?: number;
|
|
172
155
|
step?: TStepResult;
|
|
173
156
|
}): Promise<{
|
|
174
|
-
context: TMessageContext;
|
|
175
157
|
path: string;
|
|
176
158
|
}>;
|
|
177
|
-
captureAccessibilitySnapshot(): Promise<
|
|
159
|
+
captureAccessibilitySnapshot(): Promise<any>;
|
|
178
160
|
setExtraHTTPHeaders(headers: {
|
|
179
161
|
[name: string]: string;
|
|
180
162
|
}): Promise<void>;
|
|
181
163
|
withPageFetch(endpoint: string, method?: string, requestOptions?: TRequestOptions): Promise<TCapturedResponse>;
|
|
182
164
|
callClosers(): Promise<void>;
|
|
183
165
|
createTwin(): Promise<void>;
|
|
184
|
-
createMonitor(): Promise<import("@haibun/core/lib/defs.js").TOKActionResult>;
|
|
185
166
|
getLastResponse(): TCapturedResponse;
|
|
186
167
|
setLastResponse(serialized: TCapturedResponse, featureStep: TFeatureStep): void;
|
|
187
168
|
locateByDomain(page: Page, featureStep: TFeatureStep, where: string): Locator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-playwright.d.ts","sourceRoot":"","sources":["../src/web-playwright.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"web-playwright.d.ts","sourceRoot":"","sources":["../src/web-playwright.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrD,OAAO,EAAE,MAAM,EAAE,YAAY,EAA0B,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAM,WAAW,EAAU,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAA2B,MAAM,qBAAqB,CAAC;AAE5G,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAM9D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAgB,MAAM,8BAA8B,CAAC;AAK/F,OAAO,EAAa,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,eAAO,MAAM,QAAQ,YAAY,CAAC;AAClC;;;;;GAKG;AAGH,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAGvD,KAAK,eAAe,GAAG;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,GAAG,QAAQ,GAAG,IAAI,GAAG,WAAW,GAAG,eAAe,CAAC;IACtF,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAC;AAEF,sFAAsF;AACtF,MAAM,MAAM,iBAAiB,CAAC,OAAO,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvG,qBAAa,aAAc,SAAQ,QAAS,YAAW,WAAW,EAAE,UAAU;IAC7E,WAAW,SAA8F;IAEzG,MAAM,oDAAgB;IACtB,UAAU;;;MAGR;IACF,MAAM,CAAC,oBAAoB,SAA0B;IACrD,OAAO;QAcN,CAAC,aAAa,CAAC,oBAAoB,CAAC;;2BAEpB,MAAM;;;;;;;UACrB;;;2BAde,MAAM;;;;;;;;;;2BAKN,MAAM;;;;;;;;;;2BAIN,MAAM;;;;;;;;;;2BAQN,MAAM;;;;;;;;;;2BAIN,MAAM;;;;;;;;;;;2BAKN,MAAM;;;;;;;;;;2BAIN,MAAM;;;;;;;;MAErB;IACF,UAAU,UAAS;IACnB,EAAE,CAAC,EAAE,cAAc,CAAC;IACpB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,cAAc,CAAC,EAAE,4BAA4B,CAAC;IAC9C,GAAG,SAAK;IACR,UAAU,EAAE,MAAM,EAAE,CAAM;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAM;IAEhC,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,CAAM;IACnD,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,OAAO,CAAC,iBAAiB,CAAS;IAElC,sBAAsB;IAIhB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAmC5C,aAAa,CAAC,IAAI,SAAK;IAMvB,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAQ5C,yBAAyB,CAAC,GAAG,gDAAsB;IAKnD,OAAO;IAoCP,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAWlE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAYnC,UAAU;IAKhB,IAAI,UAAU,IAAI,aAAa,CAE9B;IAED,KAAK,EAAE,aAAa,CAGlB;IACF,UAAU,CAAC,OAAO,EAAE,MAAM;IAI1B,MAAM;IAGA,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;IAQzD,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,WAAW,CAAA;KAAE;IAKpF,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,WAAW,CAAA;KAAE;;;IA2B9E,4BAA4B;IAU5B,mBAAmB,CAAC,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE;IAQxD,aAAa,CAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,SAAQ,EACd,cAAc,GAAE,eAAoB,GAClC,OAAO,CAAC,iBAAiB,CAAC;IAmDvB,WAAW;IAQX,UAAU;IAKhB,eAAe,IAAI,iBAAiB;IAGpC,eAAe,CAAC,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY;IAGxE,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM;CAKnE;AAED,eAAe,aAAa,CAAC"}
|