serverless-spy 0.0.11 → 0.0.12
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/.jsii +3 -3
- package/lib/{cjs/cli → cli}/cli.d.ts +0 -0
- package/lib/cli/cli.js +87 -0
- package/lib/cli/cli.mjs +85 -0
- package/lib/{cjs/cli → cli}/ws.d.ts +0 -0
- package/lib/cli/ws.js +68 -0
- package/lib/cli/ws.mjs +66 -0
- package/lib/{cjs/common → common}/getWebSocketUrl.d.ts +0 -0
- package/lib/common/getWebSocketUrl.js +57 -0
- package/lib/common/getWebSocketUrl.mjs +53 -0
- package/lib/common/spyEvents/DynamoDBSpyEvent.d.ts +10 -0
- package/lib/common/spyEvents/DynamoDBSpyEvent.js +3 -0
- package/lib/common/spyEvents/DynamoDBSpyEvent.mjs +2 -0
- package/lib/common/spyEvents/EventBridgeRuleSpyEvent.d.ts +9 -0
- package/lib/common/spyEvents/EventBridgeRuleSpyEvent.js +3 -0
- package/lib/common/spyEvents/EventBridgeRuleSpyEvent.mjs +2 -0
- package/lib/common/spyEvents/EventBridgeSpyEvent.d.ts +9 -0
- package/lib/common/spyEvents/EventBridgeSpyEvent.js +3 -0
- package/lib/common/spyEvents/EventBridgeSpyEvent.mjs +2 -0
- package/lib/common/spyEvents/FunctionConsoleSpyEvent.d.ts +10 -0
- package/lib/common/spyEvents/FunctionConsoleSpyEvent.js +3 -0
- package/lib/common/spyEvents/FunctionConsoleSpyEvent.mjs +2 -0
- package/lib/common/spyEvents/FunctionContext.d.ts +7 -0
- package/lib/common/spyEvents/FunctionContext.js +3 -0
- package/lib/common/spyEvents/FunctionContext.mjs +2 -0
- package/lib/common/spyEvents/FunctionErrorSpyEvent.d.ts +8 -0
- package/lib/common/spyEvents/FunctionErrorSpyEvent.js +3 -0
- package/lib/common/spyEvents/FunctionErrorSpyEvent.mjs +2 -0
- package/lib/common/spyEvents/FunctionRequestSpyEvent.d.ts +7 -0
- package/lib/common/spyEvents/FunctionRequestSpyEvent.js +3 -0
- package/lib/common/spyEvents/FunctionRequestSpyEvent.mjs +2 -0
- package/lib/common/spyEvents/FunctionResponseSpyEvent.d.ts +8 -0
- package/lib/common/spyEvents/FunctionResponseSpyEvent.js +3 -0
- package/lib/common/spyEvents/FunctionResponseSpyEvent.mjs +2 -0
- package/lib/common/spyEvents/S3SpyEvent.d.ts +8 -0
- package/lib/common/spyEvents/S3SpyEvent.js +3 -0
- package/lib/common/spyEvents/S3SpyEvent.mjs +2 -0
- package/lib/common/spyEvents/SnsSubscriptionSpyEvent.d.ts +11 -0
- package/lib/common/spyEvents/SnsSubscriptionSpyEvent.js +3 -0
- package/lib/common/spyEvents/SnsSubscriptionSpyEvent.mjs +2 -0
- package/lib/common/spyEvents/SnsTopicSpyEvent.d.ts +11 -0
- package/lib/common/spyEvents/SnsTopicSpyEvent.js +3 -0
- package/lib/common/spyEvents/SnsTopicSpyEvent.mjs +2 -0
- package/lib/common/spyEvents/SpyEvent.d.ts +3 -0
- package/lib/common/spyEvents/SpyEvent.js +3 -0
- package/lib/common/spyEvents/SpyEvent.mjs +2 -0
- package/lib/common/spyEvents/SpyMessage.d.ts +6 -0
- package/lib/common/spyEvents/SpyMessage.js +3 -0
- package/lib/common/spyEvents/SpyMessage.mjs +2 -0
- package/lib/common/spyEvents/SqsSpyEvent.d.ts +7 -0
- package/lib/common/spyEvents/SqsSpyEvent.js +3 -0
- package/lib/common/spyEvents/SqsSpyEvent.mjs +2 -0
- package/lib/{cjs/index.d.ts → index.d.ts} +0 -0
- package/lib/{cjs/index.js → index.js} +1 -1
- package/lib/index.mjs +3 -0
- package/lib/{cjs/listener → listener}/PrettifyForDisplay.d.ts +0 -0
- package/lib/listener/PrettifyForDisplay.js +3 -0
- package/lib/listener/PrettifyForDisplay.mjs +2 -0
- package/lib/{cjs/listener → listener}/RecursivePartial.d.ts +0 -0
- package/lib/listener/RecursivePartial.js +3 -0
- package/lib/listener/RecursivePartial.mjs +2 -0
- package/lib/{cjs/listener → listener}/SpyHandlers.ts.d.ts +0 -0
- package/lib/listener/SpyHandlers.ts.js +3 -0
- package/lib/listener/SpyHandlers.ts.mjs +2 -0
- package/lib/{cjs/listener → listener}/SpyListener.d.ts +0 -0
- package/lib/listener/SpyListener.js +3 -0
- package/lib/listener/SpyListener.mjs +2 -0
- package/lib/{cjs/listener → listener}/createServerlessSpyListener.d.ts +0 -0
- package/lib/listener/createServerlessSpyListener.js +167 -0
- package/lib/listener/createServerlessSpyListener.mjs +163 -0
- package/lib/{cjs/listener → listener}/index.d.ts +0 -0
- package/lib/{cjs/listener → listener}/index.js +1 -1
- package/lib/listener/index.mjs +3 -0
- package/lib/{cjs/listener → listener}/matchers.d.ts +0 -0
- package/lib/listener/matchers.js +55 -0
- package/lib/listener/matchers.mjs +55 -0
- package/lib/{cjs/listener → listener}/setup.d.ts +0 -0
- package/lib/listener/setup.js +21 -0
- package/lib/listener/setup.mjs +21 -0
- package/lib/{cjs/src → src}/ServerlessSpy.d.ts +0 -0
- package/lib/{cjs/src → src}/ServerlessSpy.js +1 -1
- package/lib/src/ServerlessSpy.mjs +293 -0
- package/lib/{cjs/src → src}/index.d.ts +0 -0
- package/lib/{cjs/src → src}/index.js +0 -0
- package/lib/src/index.mjs +2 -0
- package/package.json +5 -5
- package/tsconfig.npm.json +1 -0
- package/lib/cjs/cli/cli.js +0 -87
- package/lib/cjs/cli/ws.js +0 -68
- package/lib/cjs/common/getWebSocketUrl.js +0 -57
- package/lib/cjs/listener/PrettifyForDisplay.js +0 -3
- package/lib/cjs/listener/RecursivePartial.js +0 -3
- package/lib/cjs/listener/SpyHandlers.ts.js +0 -3
- package/lib/cjs/listener/SpyListener.js +0 -3
- package/lib/cjs/listener/createServerlessSpyListener.js +0 -167
- package/lib/cjs/listener/matchers.js +0 -55
- package/lib/cjs/listener/setup.js +0 -21
- package/lib/mjs/cli/cli.d.ts +0 -1
- package/lib/mjs/cli/cli.js +0 -85
- package/lib/mjs/cli/ws.d.ts +0 -1
- package/lib/mjs/cli/ws.js +0 -66
- package/lib/mjs/common/getWebSocketUrl.d.ts +0 -2
- package/lib/mjs/common/getWebSocketUrl.js +0 -53
- package/lib/mjs/index.d.ts +0 -2
- package/lib/mjs/index.js +0 -3
- package/lib/mjs/listener/PrettifyForDisplay.d.ts +0 -3
- package/lib/mjs/listener/PrettifyForDisplay.js +0 -2
- package/lib/mjs/listener/RecursivePartial.d.ts +0 -4
- package/lib/mjs/listener/RecursivePartial.js +0 -2
- package/lib/mjs/listener/SpyHandlers.ts.d.ts +0 -109
- package/lib/mjs/listener/SpyHandlers.ts.js +0 -2
- package/lib/mjs/listener/SpyListener.d.ts +0 -40
- package/lib/mjs/listener/SpyListener.js +0 -2
- package/lib/mjs/listener/createServerlessSpyListener.d.ts +0 -13
- package/lib/mjs/listener/createServerlessSpyListener.js +0 -163
- package/lib/mjs/listener/index.d.ts +0 -2
- package/lib/mjs/listener/index.js +0 -3
- package/lib/mjs/listener/matchers.d.ts +0 -0
- package/lib/mjs/listener/matchers.js +0 -55
- package/lib/mjs/listener/setup.d.ts +0 -0
- package/lib/mjs/listener/setup.js +0 -21
- package/lib/mjs/src/ServerlessSpy.d.ts +0 -27
- package/lib/mjs/src/ServerlessSpy.js +0 -293
- package/lib/mjs/src/index.d.ts +0 -1
- package/lib/mjs/src/index.js +0 -2
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getWebSocketUrl = void 0;
|
|
4
|
-
const credential_providers_1 = require("@aws-sdk/credential-providers");
|
|
5
|
-
const aws4 = require("aws4");
|
|
6
|
-
// ""wss://m6g3w6ttdh.execute-api.eu-west-1.amazonaws.com/prod";"
|
|
7
|
-
async function getWebSocketUrl(url, credentials) {
|
|
8
|
-
const urlParsed = parseUrl(url);
|
|
9
|
-
const hostParts = urlParsed.host.split('.');
|
|
10
|
-
console.log('urlParsed', urlParsed);
|
|
11
|
-
if (!credentials) {
|
|
12
|
-
const credentialsProvider = (0, credential_providers_1.fromNodeProviderChain)();
|
|
13
|
-
credentials = await credentialsProvider();
|
|
14
|
-
}
|
|
15
|
-
const AWS_REGION = hostParts[2]; // The region of your API-gateway
|
|
16
|
-
const SOCKET_HOST = hostParts[0]; // Your API-gateway ID
|
|
17
|
-
const ENV = urlParsed.pathname.replace(/^\//, ''); // The stage of your target deployment
|
|
18
|
-
const WEBSOCKET_URL = `${SOCKET_HOST}.execute-api.${AWS_REGION}.amazonaws.com`; // Don't prepend with wss!
|
|
19
|
-
// const AWS_REGION = "eu-west-1"; // The region of your API-gateway
|
|
20
|
-
// const SOCKET_HOST = "m6g3w6ttdh"; // Your API-gateway ID
|
|
21
|
-
// const ENV = "prod"; // The stage of your target deployment
|
|
22
|
-
// const WEBSOCKET_URL = `${SOCKET_HOST}.execute-api.${AWS_REGION}.amazonaws.com`; // Don't prepend with wss!
|
|
23
|
-
// Get a signed path
|
|
24
|
-
const { path } = aws4.sign({
|
|
25
|
-
method: 'GET',
|
|
26
|
-
host: WEBSOCKET_URL,
|
|
27
|
-
// path: `/${ENV}?X-Amz-Security-Token=${encodeURIComponent(
|
|
28
|
-
// credentials!.SessionToken!
|
|
29
|
-
// )}`,
|
|
30
|
-
path: `/${ENV}`,
|
|
31
|
-
service: 'execute-api',
|
|
32
|
-
region: AWS_REGION,
|
|
33
|
-
signQuery: true,
|
|
34
|
-
}, {
|
|
35
|
-
accessKeyId: credentials.accessKeyId,
|
|
36
|
-
secretAccessKey: credentials.secretAccessKey,
|
|
37
|
-
sessionToken: credentials.sessionToken,
|
|
38
|
-
});
|
|
39
|
-
const url2 = `wss://${WEBSOCKET_URL}${path}`;
|
|
40
|
-
console.log('path', url2);
|
|
41
|
-
return url2;
|
|
42
|
-
}
|
|
43
|
-
exports.getWebSocketUrl = getWebSocketUrl;
|
|
44
|
-
function parseUrl(href) {
|
|
45
|
-
const match = href.match(/^(wss?:)\/\/(([^:/?#]*)(?::([0-9]+))?)([/]{0,1}[^?#]*)(\?[^#]*|)(#.*|)$/);
|
|
46
|
-
return (match && {
|
|
47
|
-
href,
|
|
48
|
-
protocol: match[1],
|
|
49
|
-
host: match[2],
|
|
50
|
-
hostname: match[3],
|
|
51
|
-
port: match[4],
|
|
52
|
-
pathname: match[5],
|
|
53
|
-
search: match[6],
|
|
54
|
-
hash: match[7],
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0V2ViU29ja2V0VXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tbW9uL2dldFdlYlNvY2tldFVybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3RUFBc0U7QUFFdEUsNkJBQTZCO0FBRTdCLGlFQUFpRTtBQUUxRCxLQUFLLFVBQVUsZUFBZSxDQUFDLEdBQVcsRUFBRSxXQUF5QjtJQUMxRSxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsTUFBTSxTQUFTLEdBQUcsU0FBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFFcEMsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNoQixNQUFNLG1CQUFtQixHQUFHLElBQUEsNENBQXFCLEdBQUUsQ0FBQztRQUNwRCxXQUFXLEdBQUcsTUFBTSxtQkFBbUIsRUFBRSxDQUFDO0tBQzNDO0lBRUQsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUNBQWlDO0lBQ2xFLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFzQjtJQUN4RCxNQUFNLEdBQUcsR0FBRyxTQUFVLENBQUMsUUFBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxzQ0FBc0M7SUFDM0YsTUFBTSxhQUFhLEdBQUcsR0FBRyxXQUFXLGdCQUFnQixVQUFVLGdCQUFnQixDQUFDLENBQUMsMEJBQTBCO0lBQzFHLG9FQUFvRTtJQUNwRSwyREFBMkQ7SUFDM0QsNkRBQTZEO0lBQzdELDZHQUE2RztJQUU3RyxvQkFBb0I7SUFDcEIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQ3hCO1FBQ0UsTUFBTSxFQUFFLEtBQUs7UUFDYixJQUFJLEVBQUUsYUFBYTtRQUNuQiw0REFBNEQ7UUFDNUQsK0JBQStCO1FBQy9CLE9BQU87UUFDUCxJQUFJLEVBQUUsSUFBSSxHQUFHLEVBQUU7UUFDZixPQUFPLEVBQUUsYUFBYTtRQUN0QixNQUFNLEVBQUUsVUFBVTtRQUNsQixTQUFTLEVBQUUsSUFBSTtLQUNoQixFQUNEO1FBQ0UsV0FBVyxFQUFFLFdBQVcsQ0FBQyxXQUFXO1FBQ3BDLGVBQWUsRUFBRSxXQUFXLENBQUMsZUFBZTtRQUM1QyxZQUFZLEVBQUUsV0FBVyxDQUFDLFlBQVk7S0FDdkMsQ0FDRixDQUFDO0lBRUYsTUFBTSxJQUFJLEdBQUcsU0FBUyxhQUFhLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBM0NELDBDQTJDQztBQUVELFNBQVMsUUFBUSxDQUFDLElBQVk7SUFDNUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDdEIseUVBQXlFLENBQzFFLENBQUM7SUFDRixPQUFPLENBQ0wsS0FBSyxJQUFJO1FBQ1AsSUFBSTtRQUNKLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2QsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDZCxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsQixNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoQixJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztLQUNmLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tTm9kZVByb3ZpZGVyQ2hhaW4gfSBmcm9tICdAYXdzLXNkay9jcmVkZW50aWFsLXByb3ZpZGVycyc7XG5pbXBvcnQgeyBDcmVkZW50aWFscyB9IGZyb20gJ0Bhd3Mtc2RrL3R5cGVzJztcbmltcG9ydCAqIGFzIGF3czQgZnJvbSAnYXdzNCc7XG5cbi8vIFwiXCJ3c3M6Ly9tNmczdzZ0dGRoLmV4ZWN1dGUtYXBpLmV1LXdlc3QtMS5hbWF6b25hd3MuY29tL3Byb2RcIjtcIlxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0V2ViU29ja2V0VXJsKHVybDogc3RyaW5nLCBjcmVkZW50aWFscz86IENyZWRlbnRpYWxzKSB7XG4gIGNvbnN0IHVybFBhcnNlZCA9IHBhcnNlVXJsKHVybCk7XG4gIGNvbnN0IGhvc3RQYXJ0cyA9IHVybFBhcnNlZCEuaG9zdC5zcGxpdCgnLicpO1xuXG4gIGNvbnNvbGUubG9nKCd1cmxQYXJzZWQnLCB1cmxQYXJzZWQpO1xuXG4gIGlmICghY3JlZGVudGlhbHMpIHtcbiAgICBjb25zdCBjcmVkZW50aWFsc1Byb3ZpZGVyID0gZnJvbU5vZGVQcm92aWRlckNoYWluKCk7XG4gICAgY3JlZGVudGlhbHMgPSBhd2FpdCBjcmVkZW50aWFsc1Byb3ZpZGVyKCk7XG4gIH1cblxuICBjb25zdCBBV1NfUkVHSU9OID0gaG9zdFBhcnRzWzJdOyAvLyBUaGUgcmVnaW9uIG9mIHlvdXIgQVBJLWdhdGV3YXlcbiAgY29uc3QgU09DS0VUX0hPU1QgPSBob3N0UGFydHNbMF07IC8vIFlvdXIgQVBJLWdhdGV3YXkgSURcbiAgY29uc3QgRU5WID0gdXJsUGFyc2VkIS5wYXRobmFtZSEucmVwbGFjZSgvXlxcLy8sICcnKTsgLy8gVGhlIHN0YWdlIG9mIHlvdXIgdGFyZ2V0IGRlcGxveW1lbnRcbiAgY29uc3QgV0VCU09DS0VUX1VSTCA9IGAke1NPQ0tFVF9IT1NUfS5leGVjdXRlLWFwaS4ke0FXU19SRUdJT059LmFtYXpvbmF3cy5jb21gOyAvLyBEb24ndCBwcmVwZW5kIHdpdGggd3NzIVxuICAvLyBjb25zdCBBV1NfUkVHSU9OID0gXCJldS13ZXN0LTFcIjsgLy8gVGhlIHJlZ2lvbiBvZiB5b3VyIEFQSS1nYXRld2F5XG4gIC8vIGNvbnN0IFNPQ0tFVF9IT1NUID0gXCJtNmczdzZ0dGRoXCI7IC8vIFlvdXIgQVBJLWdhdGV3YXkgSURcbiAgLy8gY29uc3QgRU5WID0gXCJwcm9kXCI7IC8vIFRoZSBzdGFnZSBvZiB5b3VyIHRhcmdldCBkZXBsb3ltZW50XG4gIC8vIGNvbnN0IFdFQlNPQ0tFVF9VUkwgPSBgJHtTT0NLRVRfSE9TVH0uZXhlY3V0ZS1hcGkuJHtBV1NfUkVHSU9OfS5hbWF6b25hd3MuY29tYDsgLy8gRG9uJ3QgcHJlcGVuZCB3aXRoIHdzcyFcblxuICAvLyBHZXQgYSBzaWduZWQgcGF0aFxuICBjb25zdCB7IHBhdGggfSA9IGF3czQuc2lnbihcbiAgICB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgaG9zdDogV0VCU09DS0VUX1VSTCxcbiAgICAgIC8vIHBhdGg6IGAvJHtFTlZ9P1gtQW16LVNlY3VyaXR5LVRva2VuPSR7ZW5jb2RlVVJJQ29tcG9uZW50KFxuICAgICAgLy8gICBjcmVkZW50aWFscyEuU2Vzc2lvblRva2VuIVxuICAgICAgLy8gKX1gLFxuICAgICAgcGF0aDogYC8ke0VOVn1gLFxuICAgICAgc2VydmljZTogJ2V4ZWN1dGUtYXBpJyxcbiAgICAgIHJlZ2lvbjogQVdTX1JFR0lPTixcbiAgICAgIHNpZ25RdWVyeTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGFjY2Vzc0tleUlkOiBjcmVkZW50aWFscy5hY2Nlc3NLZXlJZCxcbiAgICAgIHNlY3JldEFjY2Vzc0tleTogY3JlZGVudGlhbHMuc2VjcmV0QWNjZXNzS2V5LFxuICAgICAgc2Vzc2lvblRva2VuOiBjcmVkZW50aWFscy5zZXNzaW9uVG9rZW4sXG4gICAgfVxuICApO1xuXG4gIGNvbnN0IHVybDIgPSBgd3NzOi8vJHtXRUJTT0NLRVRfVVJMfSR7cGF0aH1gO1xuICBjb25zb2xlLmxvZygncGF0aCcsIHVybDIpO1xuICByZXR1cm4gdXJsMjtcbn1cblxuZnVuY3Rpb24gcGFyc2VVcmwoaHJlZjogc3RyaW5nKSB7XG4gIGNvbnN0IG1hdGNoID0gaHJlZi5tYXRjaChcbiAgICAvXih3c3M/OilcXC9cXC8oKFteOi8/I10qKSg/OjooWzAtOV0rKSk/KShbL117MCwxfVtePyNdKikoXFw/W14jXSp8KSgjLip8KSQvXG4gICk7XG4gIHJldHVybiAoXG4gICAgbWF0Y2ggJiYge1xuICAgICAgaHJlZixcbiAgICAgIHByb3RvY29sOiBtYXRjaFsxXSxcbiAgICAgIGhvc3Q6IG1hdGNoWzJdLFxuICAgICAgaG9zdG5hbWU6IG1hdGNoWzNdLFxuICAgICAgcG9ydDogbWF0Y2hbNF0sXG4gICAgICBwYXRobmFtZTogbWF0Y2hbNV0sXG4gICAgICBzZWFyY2g6IG1hdGNoWzZdLFxuICAgICAgaGFzaDogbWF0Y2hbN10sXG4gICAgfVxuICApO1xufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJldHRpZnlGb3JEaXNwbGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGlzdGVuZXIvUHJldHRpZnlGb3JEaXNwbGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBQcmV0dGlmeUZvckRpc3BsYXk8VD4gPSBUIGV4dGVuZHMgRnVuY3Rpb25cbiAgPyBUXG4gIDoge1xuICAgICAgW0sgaW4ga2V5b2YgVF06IFRbS107XG4gICAgfTtcbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjdXJzaXZlUGFydGlhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpc3RlbmVyL1JlY3Vyc2l2ZVBhcnRpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByZXR0aWZ5Rm9yRGlzcGxheSB9IGZyb20gJy4vUHJldHRpZnlGb3JEaXNwbGF5JztcblxuZXhwb3J0IHR5cGUgUmVjdXJzaXZlUGFydGlhbDxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0/OiBUW1BdIGV4dGVuZHMgKGluZmVyIFUpW11cbiAgICA/IFByZXR0aWZ5Rm9yRGlzcGxheTxSZWN1cnNpdmVQYXJ0aWFsPFU+PltdXG4gICAgOiBUW1BdIGV4dGVuZHMgb2JqZWN0XG4gICAgPyBQcmV0dGlmeUZvckRpc3BsYXk8UmVjdXJzaXZlUGFydGlhbDxUW1BdPj5cbiAgICA6IFRbUF07XG59O1xuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3B5SGFuZGxlcnMudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saXN0ZW5lci9TcHlIYW5kbGVycy50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHluYW1vREJTcHlFdmVudCB9IGZyb20gJ3NlcnZlcmxlc3Mtc3B5LWNvbW1vbi9zcHlFdmVudHMvRHluYW1vREJTcHlFdmVudCc7XG5pbXBvcnQgeyBFdmVudEJyaWRnZVJ1bGVTcHlFdmVudCB9IGZyb20gJ3NlcnZlcmxlc3Mtc3B5LWNvbW1vbi9zcHlFdmVudHMvRXZlbnRCcmlkZ2VSdWxlU3B5RXZlbnQnO1xuaW1wb3J0IHsgRXZlbnRCcmlkZ2VTcHlFdmVudCB9IGZyb20gJ3NlcnZlcmxlc3Mtc3B5LWNvbW1vbi9zcHlFdmVudHMvRXZlbnRCcmlkZ2VTcHlFdmVudCc7XG5pbXBvcnQgeyBGdW5jdGlvbkNvbnNvbGVTcHlFdmVudCB9IGZyb20gJ3NlcnZlcmxlc3Mtc3B5LWNvbW1vbi9zcHlFdmVudHMvRnVuY3Rpb25Db25zb2xlU3B5RXZlbnQnO1xuaW1wb3J0IHsgRnVuY3Rpb25Db250ZXh0IH0gZnJvbSAnc2VydmVybGVzcy1zcHktY29tbW9uL3NweUV2ZW50cy9GdW5jdGlvbkNvbnRleHQnO1xuaW1wb3J0IHsgRnVuY3Rpb25SZXF1ZXN0U3B5RXZlbnQgfSBmcm9tICdzZXJ2ZXJsZXNzLXNweS1jb21tb24vc3B5RXZlbnRzL0Z1bmN0aW9uUmVxdWVzdFNweUV2ZW50JztcbmltcG9ydCB7IEZ1bmN0aW9uUmVzcG9uc2VTcHlFdmVudCB9IGZyb20gJ3NlcnZlcmxlc3Mtc3B5LWNvbW1vbi9zcHlFdmVudHMvRnVuY3Rpb25SZXNwb25zZVNweUV2ZW50JztcbmltcG9ydCB7IFMzU3B5RXZlbnQgfSBmcm9tICdzZXJ2ZXJsZXNzLXNweS1jb21tb24vc3B5RXZlbnRzL1MzU3B5RXZlbnQnO1xuaW1wb3J0IHsgU25zU3Vic2NyaXB0aW9uU3B5RXZlbnQgfSBmcm9tICdzZXJ2ZXJsZXNzLXNweS1jb21tb24vc3B5RXZlbnRzL1Nuc1N1YnNjcmlwdGlvblNweUV2ZW50JztcbmltcG9ydCB7IFNuc1RvcGljU3B5RXZlbnQgfSBmcm9tICdzZXJ2ZXJsZXNzLXNweS1jb21tb24vc3B5RXZlbnRzL1Nuc1RvcGljU3B5RXZlbnQnO1xuaW1wb3J0IHsgU3FzU3B5RXZlbnQgfSBmcm9tICdzZXJ2ZXJsZXNzLXNweS1jb21tb24vc3B5RXZlbnRzL1Nxc1NweUV2ZW50JztcbmltcG9ydCB7IFByZXR0aWZ5Rm9yRGlzcGxheSB9IGZyb20gJy4vUHJldHRpZnlGb3JEaXNwbGF5JztcbmltcG9ydCB7IFJlY3Vyc2l2ZVBhcnRpYWwgfSBmcm9tICcuL1JlY3Vyc2l2ZVBhcnRpYWwnO1xuXG50eXBlIE15SmVzdE1hdGNoZXJzID0gUmV0dXJuVHlwZTx0eXBlb2YgZXhwZWN0PjtcbnR5cGUgTXlKZXN0TWF0Y2hlcnNXaXRPbmx5RnVuY3Rpb25zID0gUGljazxcbiAgTXlKZXN0TWF0Y2hlcnMsXG4gIHtcbiAgICBbUCBpbiBrZXlvZiBNeUplc3RNYXRjaGVyc106IE15SmVzdE1hdGNoZXJzW1BdIGV4dGVuZHMgKC4uLmFyZ3M6IGFueSkgPT4gYW55XG4gICAgICA/IFBcbiAgICAgIDogbmV2ZXI7XG4gIH1ba2V5b2YgTXlKZXN0TWF0Y2hlcnNdXG4+O1xudHlwZSBKZXN0RXhwZWN0V2l0aFNweU1ldGhvZHM8VFNweUV2ZW50LCBUU3B5SGFuZGxlcj4gPSBPbWl0PFxuICB7XG4gICAgLy8gdG9NYXRjaE9iamVjdDogKGV4cGVjdGVkOiBSZWN1cnNpdmVQYXJ0aWFsPFRTcHlFdmVudD4pID0+IFRTcHlIYW5kbGVyO1xuICAgIFtLIGluIGtleW9mIE15SmVzdE1hdGNoZXJzV2l0T25seUZ1bmN0aW9uc106IChcbiAgICAgIC4uLmFyZ3M6IFBhcmFtZXRlcnM8TXlKZXN0TWF0Y2hlcnNXaXRPbmx5RnVuY3Rpb25zW0tdPlxuICAgICkgPT4gVFNweUhhbmRsZXI7XG4gIH0sXG4gICd0b0NvbnRhaW5FcXVhbCcgfCAndG9FcXVhbCcgfCAndG9NYXRjaE9iamVjdCcgfCAndG9TdHJpY3RFcXVhbCdcbj4gJiB7XG4gIC8qKlxuICAgKiBVc2VkIHdoZW4geW91IHdhbnQgdG8gY2hlY2sgdGhhdCBhbiBpdGVtIGlzIGluIGEgbGlzdC5cbiAgICogRm9yIHRlc3RpbmcgdGhlIGl0ZW1zIGluIHRoZSBsaXN0LCB0aGlzIG1hdGNoZXIgcmVjdXJzaXZlbHkgY2hlY2tzIHRoZVxuICAgKiBlcXVhbGl0eSBvZiBhbGwgZmllbGRzLCByYXRoZXIgdGhhbiBjaGVja2luZyBmb3Igb2JqZWN0IGlkZW50aXR5LlxuICAgKlxuICAgKiBPcHRpb25hbGx5LCB5b3UgY2FuIHByb3ZpZGUgYSB0eXBlIGZvciB0aGUgZXhwZWN0ZWQgdmFsdWUgdmlhIGEgZ2VuZXJpYy5cbiAgICogVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciBlbnN1cmluZyBleHBlY3RlZCBvYmplY3RzIGhhdmUgdGhlIHJpZ2h0IHN0cnVjdHVyZS5cbiAgICovXG5cbiAgdG9Db250YWluRXF1YWwoZXhwZWN0ZWQ6IFRTcHlFdmVudCk6IFRTcHlIYW5kbGVyO1xuICAvKipcbiAgICogVXNlZCB3aGVuIHlvdSB3YW50IHRvIGNoZWNrIHRoYXQgdHdvIG9iamVjdHMgaGF2ZSB0aGUgc2FtZSB2YWx1ZS5cbiAgICogVGhpcyBtYXRjaGVyIHJlY3Vyc2l2ZWx5IGNoZWNrcyB0aGUgZXF1YWxpdHkgb2YgYWxsIGZpZWxkcywgcmF0aGVyIHRoYW4gY2hlY2tpbmcgZm9yIG9iamVjdCBpZGVudGl0eS5cbiAgICpcbiAgICogT3B0aW9uYWxseSwgeW91IGNhbiBwcm92aWRlIGEgdHlwZSBmb3IgdGhlIGV4cGVjdGVkIHZhbHVlIHZpYSBhIGdlbmVyaWMuXG4gICAqIFRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCBmb3IgZW5zdXJpbmcgZXhwZWN0ZWQgb2JqZWN0cyBoYXZlIHRoZSByaWdodCBzdHJ1Y3R1cmUuXG4gICAqL1xuXG4gIHRvRXF1YWwoZXhwZWN0ZWQ6IFRTcHlFdmVudCk6IFRTcHlIYW5kbGVyO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGNoZWNrIHRoYXQgYSBKYXZhU2NyaXB0IG9iamVjdCBtYXRjaGVzIGEgc3Vic2V0IG9mIHRoZSBwcm9wZXJ0aWVzIG9mIGFuIG9iamVjdFxuICAgKlxuICAgKiBPcHRpb25hbGx5LCB5b3UgY2FuIHByb3ZpZGUgYW4gb2JqZWN0IHRvIHVzZSBhcyBHZW5lcmljIHR5cGUgZm9yIHRoZSBleHBlY3RlZCB2YWx1ZS5cbiAgICogVGhpcyBlbnN1cmVzIHRoYXQgdGhlIG1hdGNoaW5nIG9iamVjdCBtYXRjaGVzIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIHByb3ZpZGVkIG9iamVjdC1saWtlIHR5cGUuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqXG4gICAqIHR5cGUgSG91c2UgPSB7XG4gICAqICAgYmF0aDogYm9vbGVhbjtcbiAgICogICBiZWRyb29tczogbnVtYmVyO1xuICAgKiAgIGtpdGNoZW46IHtcbiAgICogICAgIGFtZW5pdGllczogc3RyaW5nW107XG4gICAqICAgICBhcmVhOiBudW1iZXI7XG4gICAqICAgICB3YWxsQ29sb3I6IHN0cmluZztcbiAgICogICB9XG4gICAqIH07XG4gICAqXG4gICAqIGV4cGVjdChkZXNpcmVkSG91c2UpLnRvTWF0Y2hPYmplY3Q8SG91c2U+KHsuLi5zdGFuZGFyZEhvdXNlLCBraXRjaGVuOiB7YXJlYTogMjB9fSkgLy8gd2hlcmVpbiBzdGFuZGFyZEhvdXNlIGlzIHNvbWUgYmFzZSBvYmplY3Qgb2YgdHlwZSBIb3VzZVxuICAgKi9cblxuICB0b01hdGNoT2JqZWN0KFxuICAgIGV4cGVjdGVkOiBQcmV0dGlmeUZvckRpc3BsYXk8UmVjdXJzaXZlUGFydGlhbDxUU3B5RXZlbnQ+PlxuICApOiBUU3B5SGFuZGxlcjtcblxuICAvKipcbiAgICogVXNlIHRvIHRlc3QgdGhhdCBvYmplY3RzIGhhdmUgdGhlIHNhbWUgdHlwZXMgYXMgd2VsbCBhcyBzdHJ1Y3R1cmUuXG4gICAqXG4gICAqIE9wdGlvbmFsbHksIHlvdSBjYW4gcHJvdmlkZSBhIHR5cGUgZm9yIHRoZSBleHBlY3RlZCB2YWx1ZSB2aWEgYSBnZW5lcmljLlxuICAgKiBUaGlzIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgZm9yIGVuc3VyaW5nIGV4cGVjdGVkIG9iamVjdHMgaGF2ZSB0aGUgcmlnaHQgc3RydWN0dXJlLlxuICAgKi9cblxuICB0b1N0cmljdEVxdWFsKGV4cGVjdGVkOiBUU3B5RXZlbnQpOiBUU3B5SGFuZGxlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1vREJTcHlIYW5kbGVyPFREYXRhID0gYW55PlxuICBleHRlbmRzIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICBEeW5hbW9EQlNweUV2ZW50PFREYXRhPixcbiAgICBEeW5hbW9EQlNweUhhbmRsZXI8VERhdGE+XG4gID4ge1xuICBnZXREYXRhOiAoKSA9PiBQcmV0dGlmeUZvckRpc3BsYXk8RHluYW1vREJTcHlFdmVudDxURGF0YT4+O1xufVxuZXhwb3J0IGludGVyZmFjZSBFdmVudEJyaWRnZVJ1bGVTcHlIYW5kbGVyPFREYXRhID0gYW55PlxuICBleHRlbmRzIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICBFdmVudEJyaWRnZVJ1bGVTcHlFdmVudDxURGF0YT4sXG4gICAgRHluYW1vREJTcHlIYW5kbGVyPFREYXRhPlxuICA+IHtcbiAgZ2V0RGF0YTogKCkgPT4gUHJldHRpZnlGb3JEaXNwbGF5PEV2ZW50QnJpZGdlUnVsZVNweUV2ZW50PFREYXRhPj47XG59XG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50QnJpZGdlU3B5SGFuZGxlcjxURGF0YSA9IGFueT5cbiAgZXh0ZW5kcyBKZXN0RXhwZWN0V2l0aFNweU1ldGhvZHM8XG4gICAgRXZlbnRCcmlkZ2VTcHlFdmVudDxURGF0YT4sXG4gICAgRHluYW1vREJTcHlIYW5kbGVyPFREYXRhPlxuICA+IHtcbiAgZ2V0RGF0YTogKCkgPT4gUHJldHRpZnlGb3JEaXNwbGF5PEV2ZW50QnJpZGdlU3B5RXZlbnQ8VERhdGE+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbkJhc2VTcHlIYW5kbGVyPFREYXRhID0gYW55PlxuICBleHRlbmRzIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICBGdW5jdGlvblJlcXVlc3RTcHlFdmVudDxURGF0YT4sXG4gICAgRnVuY3Rpb25SZXF1ZXN0U3B5SGFuZGxlcjxURGF0YT5cbiAgPiB7XG4gIC8vIGZvbGx3ZWRCeUNvbnNvbGVMb2c6ICgpID0+IFByb21pc2U8XG4gIC8vICAgRnVuY3Rpb25CYXNlU3B5SGFuZGxlcjxURGF0YT4gJlxuICAvLyAgICAgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFxuICAvLyAgICAgICBGdW5jdGlvblJlcXVlc3RTcHlFdmVudDxURGF0YT4sXG4gIC8vICAgICAgIEZ1bmN0aW9uUmVxdWVzdFNweUhhbmRsZXI8VERhdGE+XG4gIC8vICAgICA+XG4gIC8vID47XG4gIGZvbGxvd2VkQnlSZXNwb25zZTogPFREYXRhUmVzcG9uc2UgPSBhbnk+KFxuICAgIC8vIFRoaXMgaW1wbGVtZW50YXRpb24gY29uZnVzZXMgVHlwZVNjcmlwdCB3aGljaCBkb2VzIG5vdCBhY2N1cmF0ZWx5IGRpc3BsYXkgdGhlIHR5cGUuXG4gICAgLy8gTGVhdmUgaXQgZm9yIHJlZmVyZW5jZSFcbiAgICAvLyBwYXJhbTogUHJldHRpZnlGb3JEaXNwbGF5PFxuICAgIC8vICAgV2FpdEZvclBhcmFtczxcbiAgICAvLyAgICAgUHJldHRpZnlGb3JEaXNwbGF5PEZ1bmN0aW9uUmVzcG9uc2VTcHlFdmVudDxURGF0YSwgVERhdGFSZXNwb25zZT4+XG4gICAgLy8gICA+XG4gICAgLy8gPlxuICAgIHBhcmFtOiB7XG4gICAgICBjb25kaXRpb24/OiAoZXZlbnQ6IHtcbiAgICAgICAgc3B5RXZlbnRUeXBlOiAnRnVuY3Rpb25SZXNwb25zZSc7XG4gICAgICAgIHJlcXVlc3Q6IFREYXRhO1xuICAgICAgICBjb250ZXh0OiBGdW5jdGlvbkNvbnRleHQ7XG4gICAgICAgIHJlc3BvbnNlOiBURGF0YVJlc3BvbnNlO1xuICAgICAgfSkgPT4gYm9vbGVhbjtcbiAgICAgIHRpbW91dE1zPzogbnVtYmVyO1xuICAgIH1cbiAgKSA9PiBQcm9taXNlPFxuICAgIEZ1bmN0aW9uUmVzcG9uc2VTcHlIYW5kbGVyICZcbiAgICAgIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICAgICAgRnVuY3Rpb25SZXF1ZXN0U3B5RXZlbnQ8VERhdGE+LFxuICAgICAgICBGdW5jdGlvblJlcXVlc3RTcHlIYW5kbGVyPFREYXRhPlxuICAgICAgPlxuICA+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uUmVxdWVzdFNweUhhbmRsZXI8VERhdGEgPSBhbnk+XG4gIGV4dGVuZHMgRnVuY3Rpb25CYXNlU3B5SGFuZGxlcjxURGF0YT4ge1xuICBnZXREYXRhOiAoKSA9PiBQcmV0dGlmeUZvckRpc3BsYXk8RnVuY3Rpb25SZXF1ZXN0U3B5RXZlbnQ8VERhdGE+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbkNvbnNvbGVTcHlIYW5kbGVyPFREYXRhID0gYW55PlxuICBleHRlbmRzIEZ1bmN0aW9uQmFzZVNweUhhbmRsZXI8VERhdGE+IHtcbiAgZ2V0RGF0YTogKCkgPT4gUHJldHRpZnlGb3JEaXNwbGF5PEZ1bmN0aW9uQ29uc29sZVNweUV2ZW50PFREYXRhPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25SZXNwb25zZVNweUhhbmRsZXI8VERhdGEgPSBhbnk+XG4gIGV4dGVuZHMgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFxuICAgIEZ1bmN0aW9uUmVzcG9uc2VTcHlFdmVudDxURGF0YT4sXG4gICAgRnVuY3Rpb25SZXNwb25zZVNweUhhbmRsZXI8VERhdGE+XG4gID4ge1xuICBnZXREYXRhOiAoKSA9PiBQcmV0dGlmeUZvckRpc3BsYXk8RnVuY3Rpb25SZXNwb25zZVNweUV2ZW50PFREYXRhPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUzNTcHlIYW5kbGVyXG4gIGV4dGVuZHMgSmVzdEV4cGVjdFdpdGhTcHlNZXRob2RzPFMzU3B5RXZlbnQsIER5bmFtb0RCU3B5SGFuZGxlcj4ge1xuICBnZXREYXRhOiAoKSA9PiBTM1NweUV2ZW50O1xufVxuZXhwb3J0IGludGVyZmFjZSBTbnNTdWJzY3JpcHRpb25TcHlIYW5kbGVyPFREYXRhID0gYW55PlxuICBleHRlbmRzIEplc3RFeHBlY3RXaXRoU3B5TWV0aG9kczxcbiAgICBTbnNTdWJzY3JpcHRpb25TcHlFdmVudDxURGF0YT4sXG4gICAgRHluYW1vREJTcHlIYW5kbGVyPFREYXRhPlxuICA+IHtcbiAgZ2V0RGF0YTogKCkgPT4gUHJldHRpZnlGb3JEaXNwbGF5PFNuc1N1YnNjcmlwdGlvblNweUV2ZW50PFREYXRhPj47XG59XG5leHBvcnQgaW50ZXJmYWNlIFNuc1RvcGljU3B5SGFuZGxlcjxURGF0YSA9IGFueT5cbiAgZXh0ZW5kcyBKZXN0RXhwZWN0V2l0aFNweU1ldGhvZHM8XG4gICAgU25zVG9waWNTcHlFdmVudDxURGF0YT4sXG4gICAgRHluYW1vREJTcHlIYW5kbGVyPFREYXRhPlxuICA+IHtcbiAgZ2V0RGF0YTogKCkgPT4gUHJldHRpZnlGb3JEaXNwbGF5PFNuc1RvcGljU3B5RXZlbnQ8VERhdGE+Pjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3FzU3B5SGFuZGxlcjxURGF0YSA9IGFueT5cbiAgZXh0ZW5kcyBKZXN0RXhwZWN0V2l0aFNweU1ldGhvZHM8XG4gICAgU3FzU3B5RXZlbnQ8VERhdGE+LFxuICAgIER5bmFtb0RCU3B5SGFuZGxlcjxURGF0YT5cbiAgPiB7XG4gIGdldERhdGE6ICgpID0+IFByZXR0aWZ5Rm9yRGlzcGxheTxTcXNTcHlFdmVudDxURGF0YT4+O1xufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3B5TGlzdGVuZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saXN0ZW5lci9TcHlMaXN0ZW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHluYW1vREJTcHlFdmVudCB9IGZyb20gJ3NlcnZlcmxlc3Mtc3B5LWNvbW1vbi9zcHlFdmVudHMvRHluYW1vREJTcHlFdmVudCc7XG5pbXBvcnQgeyBFdmVudEJyaWRnZVJ1bGVTcHlFdmVudCB9IGZyb20gJ3NlcnZlcmxlc3Mtc3B5LWNvbW1vbi9zcHlFdmVudHMvRXZlbnRCcmlkZ2VSdWxlU3B5RXZlbnQnO1xuaW1wb3J0IHsgRXZlbnRCcmlkZ2VTcHlFdmVudCB9IGZyb20gJ3NlcnZlcmxlc3Mtc3B5LWNvbW1vbi9zcHlFdmVudHMvRXZlbnRCcmlkZ2VTcHlFdmVudCc7XG5pbXBvcnQgeyBGdW5jdGlvbkNvbnNvbGVTcHlFdmVudCB9IGZyb20gJ3NlcnZlcmxlc3Mtc3B5LWNvbW1vbi9zcHlFdmVudHMvRnVuY3Rpb25Db25zb2xlU3B5RXZlbnQnO1xuaW1wb3J0IHsgRnVuY3Rpb25SZXF1ZXN0U3B5RXZlbnQgfSBmcm9tICdzZXJ2ZXJsZXNzLXNweS1jb21tb24vc3B5RXZlbnRzL0Z1bmN0aW9uUmVxdWVzdFNweUV2ZW50JztcbmltcG9ydCB7IEZ1bmN0aW9uUmVzcG9uc2VTcHlFdmVudCB9IGZyb20gJ3NlcnZlcmxlc3Mtc3B5LWNvbW1vbi9zcHlFdmVudHMvRnVuY3Rpb25SZXNwb25zZVNweUV2ZW50JztcbmltcG9ydCB7IFMzU3B5RXZlbnQgfSBmcm9tICdzZXJ2ZXJsZXNzLXNweS1jb21tb24vc3B5RXZlbnRzL1MzU3B5RXZlbnQnO1xuaW1wb3J0IHsgU25zU3Vic2NyaXB0aW9uU3B5RXZlbnQgfSBmcm9tICdzZXJ2ZXJsZXNzLXNweS1jb21tb24vc3B5RXZlbnRzL1Nuc1N1YnNjcmlwdGlvblNweUV2ZW50JztcbmltcG9ydCB7IFNuc1RvcGljU3B5RXZlbnQgfSBmcm9tICdzZXJ2ZXJsZXNzLXNweS1jb21tb24vc3B5RXZlbnRzL1Nuc1RvcGljU3B5RXZlbnQnO1xuaW1wb3J0IHsgU3FzU3B5RXZlbnQgfSBmcm9tICdzZXJ2ZXJsZXNzLXNweS1jb21tb24vc3B5RXZlbnRzL1Nxc1NweUV2ZW50JztcblxuaW1wb3J0IHsgV2FpdEZvclBhcmFtcyB9IGZyb20gJy4vY3JlYXRlU2VydmVybGVzc1NweUxpc3RlbmVyJztcbmltcG9ydCB7IFByZXR0aWZ5Rm9yRGlzcGxheSB9IGZyb20gJy4vUHJldHRpZnlGb3JEaXNwbGF5JztcbmltcG9ydCB7XG4gIER5bmFtb0RCU3B5SGFuZGxlcixcbiAgRXZlbnRCcmlkZ2VTcHlIYW5kbGVyLFxuICBFdmVudEJyaWRnZVJ1bGVTcHlIYW5kbGVyLFxuICBTM1NweUhhbmRsZXIsXG4gIFNuc1N1YnNjcmlwdGlvblNweUhhbmRsZXIsXG4gIFNuc1RvcGljU3B5SGFuZGxlcixcbiAgU3FzU3B5SGFuZGxlcixcbiAgRnVuY3Rpb25SZXF1ZXN0U3B5SGFuZGxlcixcbiAgRnVuY3Rpb25Db25zb2xlU3B5SGFuZGxlcixcbiAgRnVuY3Rpb25SZXNwb25zZVNweUhhbmRsZXIsXG59IGZyb20gJy4vU3B5SGFuZGxlcnMudHMnO1xuXG5leHBvcnQgdHlwZSBTcHlMaXN0ZW5lcjxUU3B5RXZlbnRzPiA9IHtcbiAgW1AgaW4ga2V5b2YgRmlsdGVyQ29uZGl0aW9uYWxseTxUU3B5RXZlbnRzLCBgRHluYW1vREIjJHthbnl9YD4gJlxuICAgIHN0cmluZyBhcyBgd2FpdEZvciR7UH1gXTogPFQgPSBhbnk+KFxuICAgIHBhcmFtPzogUHJldHRpZnlGb3JEaXNwbGF5PFxuICAgICAgV2FpdEZvclBhcmFtczxQcmV0dGlmeUZvckRpc3BsYXk8RHluYW1vREJTcHlFdmVudD4+XG4gICAgPlxuICApID0+IER5bmFtb0RCU3B5SGFuZGxlcjxUPjtcbn0gJiB7XG4gIFtQIGluIGtleW9mIEZpbHRlckNvbmRpdGlvbmFsbHk8VFNweUV2ZW50cywgYEV2ZW50QnJpZGdlIyR7YW55fWA+ICZcbiAgICBzdHJpbmcgYXMgYHdhaXRGb3Ike1B9YF06IDxUID0gYW55PihcbiAgICBwYXJhbT86IFByZXR0aWZ5Rm9yRGlzcGxheTxcbiAgICAgIFdhaXRGb3JQYXJhbXM8UHJldHRpZnlGb3JEaXNwbGF5PEV2ZW50QnJpZGdlU3B5RXZlbnQ8VD4+PlxuICAgID5cbiAgKSA9PiBFdmVudEJyaWRnZVNweUhhbmRsZXI8VD47XG59ICYge1xuICBbUCBpbiBrZXlvZiBGaWx0ZXJDb25kaXRpb25hbGx5PFRTcHlFdmVudHMsIGBFdmVudEJyaWRnZVJ1bGUjJHthbnl9YD4gJlxuICAgIHN0cmluZyBhcyBgd2FpdEZvciR7UH1gXTogPFQgPSBhbnk+KFxuICAgIHBhcmFtPzogUHJldHRpZnlGb3JEaXNwbGF5PFxuICAgICAgV2FpdEZvclBhcmFtczxQcmV0dGlmeUZvckRpc3BsYXk8RXZlbnRCcmlkZ2VSdWxlU3B5RXZlbnQ8VD4+PlxuICAgID5cbiAgKSA9PiBFdmVudEJyaWRnZVJ1bGVTcHlIYW5kbGVyPFQ+O1xufSAmIHtcbiAgW1AgaW4ga2V5b2YgRmlsdGVyQ29uZGl0aW9uYWxseTxUU3B5RXZlbnRzLCBgUzMjJHthbnl9YD4gJlxuICAgIHN0cmluZyBhcyBgd2FpdEZvciR7UH1gXTogKFxuICAgIHBhcmFtPzogUHJldHRpZnlGb3JEaXNwbGF5PFdhaXRGb3JQYXJhbXM8UHJldHRpZnlGb3JEaXNwbGF5PFMzU3B5RXZlbnQ+Pj5cbiAgKSA9PiBTM1NweUhhbmRsZXI7XG59ICYge1xuICBbUCBpbiBrZXlvZiBGaWx0ZXJDb25kaXRpb25hbGx5PFRTcHlFdmVudHMsIGBTbnNTdWJzY3JpcHRpb24jJHthbnl9YD4gJlxuICAgIHN0cmluZyBhcyBgd2FpdEZvciR7UH1gXTogPFQgPSBhbnk+KFxuICAgIHBhcmFtPzogUHJldHRpZnlGb3JEaXNwbGF5PFxuICAgICAgV2FpdEZvclBhcmFtczxQcmV0dGlmeUZvckRpc3BsYXk8U25zU3Vic2NyaXB0aW9uU3B5RXZlbnQ8VD4+PlxuICAgID5cbiAgKSA9PiBTbnNTdWJzY3JpcHRpb25TcHlIYW5kbGVyPFQ+O1xufSAmIHtcbiAgW1AgaW4ga2V5b2YgRmlsdGVyQ29uZGl0aW9uYWxseTxUU3B5RXZlbnRzLCBgU25zVG9waWMjJHthbnl9YD4gJlxuICAgIHN0cmluZyBhcyBgd2FpdEZvciR7UH1gXTogPFQgPSBhbnk+KFxuICAgIHBhcmFtPzogUHJldHRpZnlGb3JEaXNwbGF5PFxuICAgICAgV2FpdEZvclBhcmFtczxQcmV0dGlmeUZvckRpc3BsYXk8U25zVG9waWNTcHlFdmVudDxUPj4+XG4gICAgPlxuICApID0+IFNuc1RvcGljU3B5SGFuZGxlcjxUPjtcbn0gJiB7XG4gIFtQIGluIGtleW9mIEZpbHRlckNvbmRpdGlvbmFsbHk8VFNweUV2ZW50cywgYFNxcyMke2FueX1gPiAmXG4gICAgc3RyaW5nIGFzIGB3YWl0Rm9yJHtQfWBdOiA8VCA9IGFueT4oXG4gICAgcGFyYW0/OiBQcmV0dGlmeUZvckRpc3BsYXk8XG4gICAgICBXYWl0Rm9yUGFyYW1zPFByZXR0aWZ5Rm9yRGlzcGxheTxTcXNTcHlFdmVudDxUPj4+XG4gICAgPlxuICApID0+IFNxc1NweUhhbmRsZXI8VD47XG59ICYge1xuICBbUCBpbiBrZXlvZiBGaWx0ZXJDb25kaXRpb25hbGx5PFRTcHlFdmVudHMsIGBGdW5jdGlvbiMke2FueX0jUmVxdWVzdGA+ICZcbiAgICBzdHJpbmcgYXMgYHdhaXRGb3Ike1B9YF06IDxUID0gYW55PihcbiAgICBwYXJhbT86IFByZXR0aWZ5Rm9yRGlzcGxheTxcbiAgICAgIFdhaXRGb3JQYXJhbXM8UHJldHRpZnlGb3JEaXNwbGF5PEZ1bmN0aW9uUmVxdWVzdFNweUV2ZW50PFQ+Pj5cbiAgICA+XG4gICkgPT4gRnVuY3Rpb25SZXF1ZXN0U3B5SGFuZGxlcjxUPjtcbn0gJiB7XG4gIFtQIGluIGtleW9mIEZpbHRlckNvbmRpdGlvbmFsbHk8VFNweUV2ZW50cywgYEZ1bmN0aW9uIyR7YW55fSNDb25zb2xlYD4gJlxuICAgIHN0cmluZyBhcyBgd2FpdEZvciR7UH1gXTogPFQgPSBhbnk+KFxuICAgIHBhcmFtPzogUHJldHRpZnlGb3JEaXNwbGF5PFxuICAgICAgV2FpdEZvclBhcmFtczxQcmV0dGlmeUZvckRpc3BsYXk8RnVuY3Rpb25Db25zb2xlU3B5RXZlbnQ8VD4+PlxuICAgID5cbiAgKSA9PiBGdW5jdGlvbkNvbnNvbGVTcHlIYW5kbGVyPFQ+O1xufSAmIHtcbiAgW1AgaW4ga2V5b2YgRmlsdGVyQ29uZGl0aW9uYWxseTxUU3B5RXZlbnRzLCBgRnVuY3Rpb24jJHthbnl9I1Jlc3BvbnNlYD4gJlxuICAgIHN0cmluZyBhcyBgd2FpdEZvciR7UH1gXTogPFQgPSBhbnk+KFxuICAgIHBhcmFtPzogUHJldHRpZnlGb3JEaXNwbGF5PFxuICAgICAgV2FpdEZvclBhcmFtczxQcmV0dGlmeUZvckRpc3BsYXk8RnVuY3Rpb25SZXNwb25zZVNweUV2ZW50PFQ+Pj5cbiAgICA+IC8vICAgICAgZmlsdGVyPzogKGV2ZW50OiBGdW5jdGlvblJlc3BvbnNlU3B5RXZlbnQ8VD4pID0+IGJvb2xlYW5cbiAgKSA9PiBGdW5jdGlvblJlc3BvbnNlU3B5SGFuZGxlcjxUPjtcbn0gJiB7XG4gIHN0b3A6ICgpID0+IHZvaWQ7XG59O1xuXG50eXBlIEZpbHRlckNvbmRpdGlvbmFsbHk8U291cmNlLCBDb25kaXRpb24+ID0gUGljazxcbiAgU291cmNlLFxuICB7XG4gICAgW0sgaW4ga2V5b2YgU291cmNlXTogU291cmNlW0tdIGV4dGVuZHMgQ29uZGl0aW9uID8gSyA6IG5ldmVyO1xuICB9W2tleW9mIFNvdXJjZV1cbj47XG4iXX0=
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createServerlessSpyListener = void 0;
|
|
4
|
-
const getWebSocketUrl_1 = require("serverless-spy-common/getWebSocketUrl");
|
|
5
|
-
const ws_1 = require("ws");
|
|
6
|
-
async function createServerlessSpyListener(params) {
|
|
7
|
-
const urlSigned = await (0, getWebSocketUrl_1.getWebSocketUrl)(params.serverlessSpyWsUrl, params.credentials);
|
|
8
|
-
const ws = new ws_1.default(urlSigned);
|
|
9
|
-
const messages = [];
|
|
10
|
-
let trackers = [];
|
|
11
|
-
let closed = false;
|
|
12
|
-
const functionPrefix = 'waitFor';
|
|
13
|
-
let connectionOpenResolve;
|
|
14
|
-
let waitForConnection = new Promise((resolve) => {
|
|
15
|
-
connectionOpenResolve = resolve;
|
|
16
|
-
});
|
|
17
|
-
ws.on('open', () => {
|
|
18
|
-
console.log('connected ' + new Date().toISOString());
|
|
19
|
-
connectionOpenResolve(undefined);
|
|
20
|
-
});
|
|
21
|
-
ws.on('message', (data) => {
|
|
22
|
-
if (closed)
|
|
23
|
-
return;
|
|
24
|
-
console.log(`From server: ${data}`);
|
|
25
|
-
const message = JSON.parse(data.toString());
|
|
26
|
-
message.serviceKeyForFunction = message.serviceKey.replace(/#/g, '');
|
|
27
|
-
if (message.serviceKey.startsWith('Function')) {
|
|
28
|
-
message.functionContextAwsRequestId = message.data.context.awsRequestId;
|
|
29
|
-
}
|
|
30
|
-
messages.push(message);
|
|
31
|
-
resolveOldTrackerWithNewMessage(message);
|
|
32
|
-
});
|
|
33
|
-
ws.on('close', () => {
|
|
34
|
-
closed = true;
|
|
35
|
-
// console.log("disconnected " + new Date().toISOString());
|
|
36
|
-
});
|
|
37
|
-
const trackerMatchMessage = (tracker, message) => {
|
|
38
|
-
if (tracker.finished)
|
|
39
|
-
return;
|
|
40
|
-
if ((tracker.serviceKey && tracker.serviceKey === message.serviceKey) ||
|
|
41
|
-
(tracker.serviceKeyForFunction &&
|
|
42
|
-
tracker.serviceKeyForFunction === message.serviceKeyForFunction)) {
|
|
43
|
-
if (trackerMatchCondition(tracker, message)) {
|
|
44
|
-
tracker.finished = true;
|
|
45
|
-
const spyAndJestMatchers = {
|
|
46
|
-
getData: () => message.data,
|
|
47
|
-
};
|
|
48
|
-
const serviceKeyForFunction = tracker.serviceKeyForFunction;
|
|
49
|
-
if (serviceKeyForFunction &&
|
|
50
|
-
serviceKeyForFunction.startsWith('Function') &&
|
|
51
|
-
(serviceKeyForFunction.endsWith('Request') ||
|
|
52
|
-
serviceKeyForFunction.endsWith('Console'))) {
|
|
53
|
-
let serviceKeyForFunctionResponse = serviceKeyForFunction;
|
|
54
|
-
if (serviceKeyForFunctionResponse.endsWith('Request')) {
|
|
55
|
-
serviceKeyForFunctionResponse =
|
|
56
|
-
serviceKeyForFunctionResponse.substring(0, serviceKeyForFunctionResponse.length - 'Request'.length);
|
|
57
|
-
}
|
|
58
|
-
else if (serviceKeyForFunctionResponse.endsWith('Console')) {
|
|
59
|
-
serviceKeyForFunctionResponse =
|
|
60
|
-
serviceKeyForFunctionResponse.substring(0, serviceKeyForFunctionResponse.length - 'Console'.length);
|
|
61
|
-
}
|
|
62
|
-
serviceKeyForFunctionResponse += 'Response';
|
|
63
|
-
spyAndJestMatchers.followedByResponse = (paramsW) => {
|
|
64
|
-
return createWaitForXXXFunc(serviceKeyForFunctionResponse, paramsW, message.data.context.awsRequestId)();
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
const proxy = new Proxy(spyAndJestMatchers, {
|
|
68
|
-
get: function (target, objectKey) {
|
|
69
|
-
if (target.hasOwnProperty(objectKey)) {
|
|
70
|
-
return target[objectKey];
|
|
71
|
-
}
|
|
72
|
-
else if (objectKey !== 'then') {
|
|
73
|
-
return function () {
|
|
74
|
-
const jestFunctionToExecute = expect(message.data)[objectKey];
|
|
75
|
-
jestFunctionToExecute.apply(undefined, arguments);
|
|
76
|
-
return proxy;
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
});
|
|
81
|
-
tracker.promiseResolve(proxy);
|
|
82
|
-
return true;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return false;
|
|
86
|
-
};
|
|
87
|
-
const resolveTrackerInOldMessages = (tracker) => {
|
|
88
|
-
for (const message of messages) {
|
|
89
|
-
if (trackerMatchMessage(tracker, message)) {
|
|
90
|
-
return true;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return false;
|
|
94
|
-
};
|
|
95
|
-
const resolveOldTrackerWithNewMessage = (message) => {
|
|
96
|
-
for (let index = 0; index < trackers.length; index++) {
|
|
97
|
-
const tracker = trackers[index];
|
|
98
|
-
if (trackerMatchMessage(tracker, message)) {
|
|
99
|
-
trackers = trackers.splice(index, 1);
|
|
100
|
-
return true;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
return false;
|
|
104
|
-
};
|
|
105
|
-
const spyListener = {};
|
|
106
|
-
spyListener.stop = () => {
|
|
107
|
-
closed = true;
|
|
108
|
-
ws.close();
|
|
109
|
-
};
|
|
110
|
-
const proxy = new Proxy(spyListener, {
|
|
111
|
-
get: function (target, objectKey) {
|
|
112
|
-
if (target.hasOwnProperty(objectKey)) {
|
|
113
|
-
return target[objectKey];
|
|
114
|
-
}
|
|
115
|
-
else if (typeof objectKey === 'string' &&
|
|
116
|
-
objectKey.startsWith(functionPrefix)) {
|
|
117
|
-
const paramsW = arguments[0];
|
|
118
|
-
const serviceKeyForFunction = objectKey.substring(functionPrefix.length);
|
|
119
|
-
return createWaitForXXXFunc(serviceKeyForFunction, paramsW);
|
|
120
|
-
}
|
|
121
|
-
},
|
|
122
|
-
});
|
|
123
|
-
await waitForConnection;
|
|
124
|
-
return proxy;
|
|
125
|
-
function trackerMatchCondition(tracker, message) {
|
|
126
|
-
const matchCondition = (tracker.condition && tracker.condition(message.data)) ||
|
|
127
|
-
!tracker.condition;
|
|
128
|
-
const matchRequestId = (tracker.functionContextAwsRequestId &&
|
|
129
|
-
tracker.functionContextAwsRequestId ===
|
|
130
|
-
message.functionContextAwsRequestId) ||
|
|
131
|
-
!tracker.functionContextAwsRequestId;
|
|
132
|
-
if (tracker.functionContextAwsRequestId) {
|
|
133
|
-
console.log(`${tracker.functionContextAwsRequestId} - ${message.functionContextAwsRequestId}`);
|
|
134
|
-
}
|
|
135
|
-
return matchCondition && matchRequestId;
|
|
136
|
-
}
|
|
137
|
-
function createWaitForXXXFunc(serviceKeyForFunction, paramsW, functionContextAwsRequestId) {
|
|
138
|
-
let tracker;
|
|
139
|
-
const promise = new Promise((resolve, reject) => {
|
|
140
|
-
tracker = {
|
|
141
|
-
finished: false,
|
|
142
|
-
promiseResolve: resolve,
|
|
143
|
-
promiseReject: reject,
|
|
144
|
-
serviceKeyForFunction,
|
|
145
|
-
functionContextAwsRequestId,
|
|
146
|
-
};
|
|
147
|
-
});
|
|
148
|
-
return function waitForXXXFunc() {
|
|
149
|
-
tracker.condition = paramsW?.condition;
|
|
150
|
-
const timer = setTimeout(() => {
|
|
151
|
-
if (tracker.finished)
|
|
152
|
-
return;
|
|
153
|
-
tracker.finished = true;
|
|
154
|
-
tracker.promiseReject(new Error(`Timeout waiting for Serverless Spy message ${serviceKeyForFunction}`));
|
|
155
|
-
}, paramsW?.timoutMs || 10000);
|
|
156
|
-
promise.finally(() => {
|
|
157
|
-
clearTimeout(timer);
|
|
158
|
-
});
|
|
159
|
-
if (!resolveTrackerInOldMessages(tracker)) {
|
|
160
|
-
trackers.push(tracker);
|
|
161
|
-
}
|
|
162
|
-
return promise;
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
exports.createServerlessSpyListener = createServerlessSpyListener;
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlU2VydmVybGVzc1NweUxpc3RlbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGlzdGVuZXIvY3JlYXRlU2VydmVybGVzc1NweUxpc3RlbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLDJFQUF3RTtBQUl4RSwyQkFBMkI7QUFRcEIsS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxNQUFtQztJQUVuQyxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsaUNBQWUsRUFDckMsTUFBTSxDQUFDLGtCQUFrQixFQUN6QixNQUFNLENBQUMsV0FBVyxDQUNuQixDQUFDO0lBQ0YsTUFBTSxFQUFFLEdBQUcsSUFBSSxZQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsTUFBTSxRQUFRLEdBQXdCLEVBQUUsQ0FBQztJQUN6QyxJQUFJLFFBQVEsR0FBYyxFQUFFLENBQUM7SUFDN0IsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ25CLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQztJQUNqQyxJQUFJLHFCQUErQyxDQUFDO0lBRXBELElBQUksaUJBQWlCLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUM5QyxxQkFBcUIsR0FBRyxPQUFPLENBQUM7SUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7UUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ0gsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN4QixJQUFJLE1BQU07WUFBRSxPQUFPO1FBRW5CLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JB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LENBQUM7WUFFSCxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDeEI7WUFFRCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQXhPRCxrRUF3T0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wcm90b3R5cGUtYnVpbHRpbnMgKi9cbmltcG9ydCB7IENyZWRlbnRpYWxzIH0gZnJvbSAnQGF3cy1zZGsvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0V2ViU29ja2V0VXJsIH0gZnJvbSAnc2VydmVybGVzcy1zcHktY29tbW9uL2dldFdlYlNvY2tldFVybCc7XG5pbXBvcnQgeyBGdW5jdGlvblJlcXVlc3RTcHlFdmVudCB9IGZyb20gJ3NlcnZlcmxlc3Mtc3B5LWNvbW1vbi9zcHlFdmVudHMvRnVuY3Rpb25SZXF1ZXN0U3B5RXZlbnQnO1xuaW1wb3J0IHsgU3B5RXZlbnQgfSBmcm9tICdzZXJ2ZXJsZXNzLXNweS1jb21tb24vc3B5RXZlbnRzL1NweUV2ZW50JztcbmltcG9ydCB7IFNweU1lc3NhZ2UgfSBmcm9tICdzZXJ2ZXJsZXNzLXNweS1jb21tb24vc3B5RXZlbnRzL1NweU1lc3NhZ2UnO1xuaW1wb3J0IFdlYlNvY2tldCBmcm9tICd3cyc7XG5pbXBvcnQgeyBTcHlMaXN0ZW5lciB9IGZyb20gJy4vU3B5TGlzdGVuZXInO1xuXG50eXBlIFNlcnZlcmxlc3NTcHlMaXN0ZW5lclBhcmFtcyA9IHtcbiAgc2VydmVybGVzc1NweVdzVXJsOiBzdHJpbmc7XG4gIGNyZWRlbnRpYWxzPzogQ3JlZGVudGlhbHM7XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlU2VydmVybGVzc1NweUxpc3RlbmVyPFRTcHlFdmVudHM+KFxuICBwYXJhbXM6IFNlcnZlcmxlc3NTcHlMaXN0ZW5lclBhcmFtc1xuKSB7XG4gIGNvbnN0IHVybFNpZ25lZCA9IGF3YWl0IGdldFdlYlNvY2tldFVybChcbiAgICBwYXJhbXMuc2VydmVybGVzc1NweVdzVXJsLFxuICAgIHBhcmFtcy5jcmVkZW50aWFsc1xuICApO1xuICBjb25zdCB3cyA9IG5ldyBXZWJTb2NrZXQodXJsU2lnbmVkKTtcbiAgY29uc3QgbWVzc2FnZXM6IFNweU1lc3NhZ2VTdG9yYWdlW10gPSBbXTtcbiAgbGV0IHRyYWNrZXJzOiBUcmFja2VyW10gPSBbXTtcbiAgbGV0IGNsb3NlZCA9IGZhbHNlO1xuICBjb25zdCBmdW5jdGlvblByZWZpeCA9ICd3YWl0Rm9yJztcbiAgbGV0IGNvbm5lY3Rpb25PcGVuUmVzb2x2ZTogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkO1xuXG4gIGxldCB3YWl0Rm9yQ29ubmVjdGlvbiA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgY29ubmVjdGlvbk9wZW5SZXNvbHZlID0gcmVzb2x2ZTtcbiAgfSk7XG5cbiAgd3Mub24oJ29wZW4nLCAoKSA9PiB7XG4gICAgY29uc29sZS5sb2coJ2Nvbm5lY3RlZCAnICsgbmV3IERhdGUoKS50b0lTT1N0cmluZygpKTtcbiAgICBjb25uZWN0aW9uT3BlblJlc29sdmUodW5kZWZpbmVkKTtcbiAgfSk7XG4gIHdzLm9uKCdtZXNzYWdlJywgKGRhdGEpID0+IHtcbiAgICBpZiAoY2xvc2VkKSByZXR1cm47XG5cbiAgICBjb25zb2xlLmxvZyhgRnJvbSBzZXJ2ZXI6ICR7ZGF0YX1gKTtcblxuICAgIGNvbnN0IG1lc3NhZ2UgPSBKU09OLnBhcnNlKGRhdGEudG9TdHJpbmcoKSkgYXMgU3B5TWVzc2FnZVN0b3JhZ2U7XG5cbiAgICBtZXNzYWdlLnNlcnZpY2VLZXlGb3JGdW5jdGlvbiA9IG1lc3NhZ2Uuc2VydmljZUtleS5yZXBsYWNlKC8jL2csICcnKTtcblxuICAgIGlmIChtZXNzYWdlLnNlcnZpY2VLZXkuc3RhcnRzV2l0aCgnRnVuY3Rpb24nKSkge1xuICAgICAgbWVzc2FnZS5mdW5jdGlvbkNvbnRleHRBd3NSZXF1ZXN0SWQgPSAoXG4gICAgICAgIG1lc3NhZ2UuZGF0YSBhcyBGdW5jdGlvblJlcXVlc3RTcHlFdmVudFxuICAgICAgKS5jb250ZXh0LmF3c1JlcXVlc3RJZDtcbiAgICB9XG5cbiAgICBtZXNzYWdlcy5wdXNoKG1lc3NhZ2UpO1xuICAgIHJlc29sdmVPbGRUcmFja2VyV2l0aE5ld01lc3NhZ2UobWVzc2FnZSk7XG4gIH0pO1xuICB3cy5vbignY2xvc2UnLCAoKSA9PiB7XG4gICAgY2xvc2VkID0gdHJ1ZTtcbiAgICAvLyBjb25zb2xlLmxvZyhcImRpc2Nvbm5lY3RlZCBcIiArIG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSk7XG4gIH0pO1xuXG4gIGNvbnN0IHRyYWNrZXJNYXRjaE1lc3NhZ2UgPSAoXG4gICAgdHJhY2tlcjogVHJhY2tlcixcbiAgICBtZXNzYWdlOiBTcHlNZXNzYWdlU3RvcmFnZVxuICApID0+IHtcbiAgICBpZiAodHJhY2tlci5maW5pc2hlZCkgcmV0dXJuO1xuXG4gICAgaWYgKFxuICAgICAgKHRyYWNrZXIuc2VydmljZUtleSAmJiB0cmFja2VyLnNlcnZpY2VLZXkgPT09IG1lc3NhZ2Uuc2VydmljZUtleSkgfHxcbiAgICAgICh0cmFja2VyLnNlcnZpY2VLZXlGb3JGdW5jdGlvbiAmJlxuICAgICAgICB0cmFja2VyLnNlcnZpY2VLZXlGb3JGdW5jdGlvbiA9PT0gbWVzc2FnZS5zZXJ2aWNlS2V5Rm9yRnVuY3Rpb24pXG4gICAgKSB7XG4gICAgICBpZiAodHJhY2tlck1hdGNoQ29uZGl0aW9uKHRyYWNrZXIsIG1lc3NhZ2UpKSB7XG4gICAgICAgIHRyYWNrZXIuZmluaXNoZWQgPSB0cnVlO1xuXG4gICAgICAgIGNvbnN0IHNweUFuZEplc3RNYXRjaGVyczogYW55ID0ge1xuICAgICAgICAgIGdldERhdGE6ICgpID0+IG1lc3NhZ2UuZGF0YSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzZXJ2aWNlS2V5Rm9yRnVuY3Rpb24gPSB0cmFja2VyLnNlcnZpY2VLZXlGb3JGdW5jdGlvbjtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNlcnZpY2VLZXlGb3JGdW5jdGlvbiAmJlxuICAgICAgICAgIHNlcnZpY2VLZXlGb3JGdW5jdGlvbi5zdGFydHNXaXRoKCdGdW5jdGlvbicpICYmXG4gICAgICAgICAgKHNlcnZpY2VLZXlGb3JGdW5jdGlvbi5lbmRzV2l0aCgnUmVxdWVzdCcpIHx8XG4gICAgICAgICAgICBzZXJ2aWNlS2V5Rm9yRnVuY3Rpb24uZW5kc1dpdGgoJ0NvbnNvbGUnKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgbGV0IHNlcnZpY2VLZXlGb3JGdW5jdGlvblJlc3BvbnNlID0gc2VydmljZUtleUZvckZ1bmN0aW9uO1xuXG4gICAgICAgICAgaWYgKHNlcnZpY2VLZXlGb3JGdW5jdGlvblJlc3BvbnNlLmVuZHNXaXRoKCdSZXF1ZXN0JykpIHtcbiAgICAgICAgICAgIHNlcnZpY2VLZXlGb3JGdW5jdGlvblJlc3BvbnNlID1cbiAgICAgICAgICAgICAgc2VydmljZUtleUZvckZ1bmN0aW9uUmVzcG9uc2Uuc3Vic3RyaW5nKFxuICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgc2VydmljZUtleUZvckZ1bmN0aW9uUmVzcG9uc2UubGVuZ3RoIC0gJ1JlcXVlc3QnLmxlbmd0aFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSBpZiAoc2VydmljZUtleUZvckZ1bmN0aW9uUmVzcG9uc2UuZW5kc1dpdGgoJ0NvbnNvbGUnKSkge1xuICAgICAgICAgICAgc2VydmljZUtleUZvckZ1bmN0aW9uUmVzcG9uc2UgPVxuICAgICAgICAgICAgICBzZXJ2aWNlS2V5Rm9yRnVuY3Rpb25SZXNwb25zZS5zdWJzdHJpbmcoXG4gICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICBzZXJ2aWNlS2V5Rm9yRnVuY3Rpb25SZXNwb25zZS5sZW5ndGggLSAnQ29uc29sZScubGVuZ3RoXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2VydmljZUtleUZvckZ1bmN0aW9uUmVzcG9uc2UgKz0gJ1Jlc3BvbnNlJztcblxuICAgICAgICAgIHNweUFuZEplc3RNYXRjaGVycy5mb2xsb3dlZEJ5UmVzcG9uc2UgPSAocGFyYW1zVzogV2FpdEZvclBhcmFtcykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVdhaXRGb3JYWFhGdW5jKFxuICAgICAgICAgICAgICBzZXJ2aWNlS2V5Rm9yRnVuY3Rpb25SZXNwb25zZSxcbiAgICAgICAgICAgICAgcGFyYW1zVyxcbiAgICAgICAgICAgICAgKG1lc3NhZ2UuZGF0YSBhcyBGdW5jdGlvblJlcXVlc3RTcHlFdmVudCkuY29udGV4dC5hd3NSZXF1ZXN0SWRcbiAgICAgICAgICAgICkoKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJveHkgPSBuZXcgUHJveHkoc3B5QW5kSmVzdE1hdGNoZXJzLCB7XG4gICAgICAgICAgZ2V0OiBmdW5jdGlvbiAodGFyZ2V0OiBhbnksIG9iamVjdEtleTogc3RyaW5nKSB7XG4gICAgICAgICAgICBpZiAodGFyZ2V0Lmhhc093blByb3BlcnR5KG9iamVjdEtleSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldFtvYmplY3RLZXldO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChvYmplY3RLZXkgIT09ICd0aGVuJykge1xuICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGplc3RGdW5jdGlvblRvRXhlY3V0ZSA9IChleHBlY3QobWVzc2FnZS5kYXRhKSBhcyBhbnkpW1xuICAgICAgICAgICAgICAgICAgb2JqZWN0S2V5XG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICBqZXN0RnVuY3Rpb25Ub0V4ZWN1dGUuYXBwbHkodW5kZWZpbmVkLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgIHJldHVybiBwcm94eTtcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICB0cmFja2VyLnByb21pc2VSZXNvbHZlKHByb3h5KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICBjb25zdCByZXNvbHZlVHJhY2tlckluT2xkTWVzc2FnZXMgPSAodHJhY2tlcjogVHJhY2tlcikgPT4ge1xuICAgIGZvciAoY29uc3QgbWVzc2FnZSBvZiBtZXNzYWdlcykge1xuICAgICAgaWYgKHRyYWNrZXJNYXRjaE1lc3NhZ2UodHJhY2tlciwgbWVzc2FnZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIGNvbnN0IHJlc29sdmVPbGRUcmFja2VyV2l0aE5ld01lc3NhZ2UgPSAobWVzc2FnZTogU3B5TWVzc2FnZVN0b3JhZ2UpID0+IHtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdHJhY2tlcnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCB0cmFja2VyID0gdHJhY2tlcnNbaW5kZXhdO1xuICAgICAgaWYgKHRyYWNrZXJNYXRjaE1lc3NhZ2UodHJhY2tlciwgbWVzc2FnZSkpIHtcbiAgICAgICAgdHJhY2tlcnMgPSB0cmFja2Vycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgY29uc3Qgc3B5TGlzdGVuZXIgPSB7fSBhcyBTcHlMaXN0ZW5lcjxUU3B5RXZlbnRzPjtcblxuICBzcHlMaXN0ZW5lci5zdG9wID0gKCkgPT4ge1xuICAgIGNsb3NlZCA9IHRydWU7XG4gICAgd3MuY2xvc2UoKTtcbiAgfTtcblxuICBjb25zdCBwcm94eSA9IG5ldyBQcm94eShzcHlMaXN0ZW5lciwge1xuICAgIGdldDogZnVuY3Rpb24gKHRhcmdldDogYW55LCBvYmplY3RLZXk6IHN0cmluZykge1xuICAgICAgaWYgKHRhcmdldC5oYXNPd25Qcm9wZXJ0eShvYmplY3RLZXkpKSB7XG4gICAgICAgIHJldHVybiB0YXJnZXRbb2JqZWN0S2V5XTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHR5cGVvZiBvYmplY3RLZXkgPT09ICdzdHJpbmcnICYmXG4gICAgICAgIG9iamVjdEtleS5zdGFydHNXaXRoKGZ1bmN0aW9uUHJlZml4KVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtc1cgPSBhcmd1bWVudHNbMF0gYXMgV2FpdEZvclBhcmFtcztcbiAgICAgICAgY29uc3Qgc2VydmljZUtleUZvckZ1bmN0aW9uID0gb2JqZWN0S2V5LnN1YnN0cmluZyhcbiAgICAgICAgICBmdW5jdGlvblByZWZpeC5sZW5ndGhcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gY3JlYXRlV2FpdEZvclhYWEZ1bmMoc2VydmljZUtleUZvckZ1bmN0aW9uLCBwYXJhbXNXKTtcbiAgICAgIH1cbiAgICB9LFxuICB9KTtcblxuICBhd2FpdCB3YWl0Rm9yQ29ubmVjdGlvbjtcblxuICByZXR1cm4gcHJveHkgYXMgU3B5TGlzdGVuZXI8VFNweUV2ZW50cz47XG5cbiAgZnVuY3Rpb24gdHJhY2tlck1hdGNoQ29uZGl0aW9uKHRyYWNrZXI6IFRyYWNrZXIsIG1lc3NhZ2U6IFNweU1lc3NhZ2VTdG9yYWdlKSB7XG4gICAgY29uc3QgbWF0Y2hDb25kaXRpb24gPVxuICAgICAgKHRyYWNrZXIuY29uZGl0aW9uICYmIHRyYWNrZXIuY29uZGl0aW9uKG1lc3NhZ2UuZGF0YSkpIHx8XG4gICAgICAhdHJhY2tlci5jb25kaXRpb247XG5cbiAgICBjb25zdCBtYXRjaFJlcXVlc3RJZCA9XG4gICAgICAodHJhY2tlci5mdW5jdGlvbkNvbnRleHRBd3NSZXF1ZXN0SWQgJiZcbiAgICAgICAgdHJhY2tlci5mdW5jdGlvbkNvbnRleHRBd3NSZXF1ZXN0SWQgPT09XG4gICAgICAgICAgbWVzc2FnZS5mdW5jdGlvbkNvbnRleHRBd3NSZXF1ZXN0SWQpIHx8XG4gICAgICAhdHJhY2tlci5mdW5jdGlvbkNvbnRleHRBd3NSZXF1ZXN0SWQ7XG5cbiAgICBpZiAodHJhY2tlci5mdW5jdGlvbkNvbnRleHRBd3NSZXF1ZXN0SWQpIHtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgJHt0cmFja2VyLmZ1bmN0aW9uQ29udGV4dEF3c1JlcXVlc3RJZH0gLSAke21lc3NhZ2UuZnVuY3Rpb25Db250ZXh0QXdzUmVxdWVzdElkfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hdGNoQ29uZGl0aW9uICYmIG1hdGNoUmVxdWVzdElkO1xuICB9XG5cbiAgZnVuY3Rpb24gY3JlYXRlV2FpdEZvclhYWEZ1bmMoXG4gICAgc2VydmljZUtleUZvckZ1bmN0aW9uOiBzdHJpbmcsXG4gICAgcGFyYW1zVzogV2FpdEZvclBhcmFtczxTcHlFdmVudD4sXG4gICAgZnVuY3Rpb25Db250ZXh0QXdzUmVxdWVzdElkPzogc3RyaW5nXG4gICkge1xuICAgIGxldCB0cmFja2VyOiBUcmFja2VyO1xuXG4gICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyYWNrZXIgPSB7XG4gICAgICAgIGZpbmlzaGVkOiBmYWxzZSxcbiAgICAgICAgcHJvbWlzZVJlc29sdmU6IHJlc29sdmUsXG4gICAgICAgIHByb21pc2VSZWplY3Q6IHJlamVjdCxcbiAgICAgICAgc2VydmljZUtleUZvckZ1bmN0aW9uLFxuICAgICAgICBmdW5jdGlvbkNvbnRleHRBd3NSZXF1ZXN0SWQsXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIHdhaXRGb3JYWFhGdW5jKCkge1xuICAgICAgdHJhY2tlci5jb25kaXRpb24gPSBwYXJhbXNXPy5jb25kaXRpb247XG5cbiAgICAgIGNvbnN0IHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0cmFja2VyLmZpbmlzaGVkKSByZXR1cm47XG4gICAgICAgIHRyYWNrZXIuZmluaXNoZWQgPSB0cnVlO1xuICAgICAgICB0cmFja2VyLnByb21pc2VSZWplY3QoXG4gICAgICAgICAgbmV3IEVycm9yKFxuICAgICAgICAgICAgYFRpbWVvdXQgd2FpdGluZyBmb3IgU2VydmVybGVzcyBTcHkgbWVzc2FnZSAke3NlcnZpY2VLZXlGb3JGdW5jdGlvbn1gXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgfSwgcGFyYW1zVz8udGltb3V0TXMgfHwgMTAwMDApO1xuXG4gICAgICBwcm9taXNlLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmICghcmVzb2x2ZVRyYWNrZXJJbk9sZE1lc3NhZ2VzKHRyYWNrZXIpKSB7XG4gICAgICAgIHRyYWNrZXJzLnB1c2godHJhY2tlcik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwcm9taXNlO1xuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWl0Rm9yUGFyYW1zPFRTcHlFdmVudCBleHRlbmRzIFNweUV2ZW50ID0gU3B5RXZlbnQ+IHtcbiAgY29uZGl0aW9uPzogKGV2ZW50OiBUU3B5RXZlbnQpID0+IGJvb2xlYW47XG4gIHRpbW91dE1zPzogbnVtYmVyO1xufVxuXG50eXBlIFRyYWNrZXIgPSB7XG4gIHByb21pc2VSZXNvbHZlOiAoZGF0YTogYW55KSA9PiB2b2lkO1xuICBwcm9taXNlUmVqZWN0OiAoZGF0YTogYW55KSA9PiB2b2lkO1xuICBmaW5pc2hlZDogYm9vbGVhbjtcbiAgc2VydmljZUtleT86IHN0cmluZztcbiAgc2VydmljZUtleUZvckZ1bmN0aW9uPzogc3RyaW5nO1xuICBjb25kaXRpb24/OiAoZGF0YTogYW55KSA9PiBib29sZWFuO1xuICB0aW1vdXRNcz86IG51bWJlcjtcbiAgZnVuY3Rpb25Db250ZXh0QXdzUmVxdWVzdElkPzogc3RyaW5nO1xufTtcblxudHlwZSBTcHlNZXNzYWdlU3RvcmFnZSA9IFNweU1lc3NhZ2UgJiB7XG4gIHNlcnZpY2VLZXlGb3JGdW5jdGlvbjogc3RyaW5nO1xuICBmdW5jdGlvbkNvbnRleHRBd3NSZXF1ZXN0SWQ/OiBzdHJpbmc7XG59O1xuIl19
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
// import { ServerlessSpyListener } from "./ServerlessSpyListener";
|
|
4
|
-
|
|
5
|
-
type CustomMatcherResult = {
|
|
6
|
-
message: () => string;
|
|
7
|
-
pass: boolean;
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export const toReceiveEvent = async (
|
|
11
|
-
spy: any,
|
|
12
|
-
serviceKey: string,
|
|
13
|
-
condition?: (data: any) => boolean
|
|
14
|
-
): Promise<CustomMatcherResult> => {
|
|
15
|
-
console.log('NOTRI');
|
|
16
|
-
|
|
17
|
-
await sleep(3000);
|
|
18
|
-
|
|
19
|
-
// console.log("SPY", spy);
|
|
20
|
-
// const events = await spy.awaitEvents((events) => {
|
|
21
|
-
// return events.some((event) => event["detail-type"] === expected);
|
|
22
|
-
// });
|
|
23
|
-
|
|
24
|
-
// const pass = events.some((event) => event["detail-type"] === expected);
|
|
25
|
-
|
|
26
|
-
// const message = pass
|
|
27
|
-
// ? () => {
|
|
28
|
-
// return (
|
|
29
|
-
// matcherHint("toHaveEventWithDetailType", "eventsSpy", "detail-type") +
|
|
30
|
-
// "\n\n" +
|
|
31
|
-
// `Expected: not ${printExpected(expected)}\n` +
|
|
32
|
-
// `Number of events: ${printReceived(events.length)}`
|
|
33
|
-
// );
|
|
34
|
-
// }
|
|
35
|
-
// : () => {
|
|
36
|
-
// return (
|
|
37
|
-
// matcherHint("toHaveEventWithDetailType", "eventsSpy", "detail-type") +
|
|
38
|
-
// "\n\n" +
|
|
39
|
-
// `Expected: ${printExpected(expected)}\n` +
|
|
40
|
-
// (events.length > 0
|
|
41
|
-
// ? `Received: ${printReceived(events[0]?.["detail-type"])}`
|
|
42
|
-
// : `Number of events: ${printReceived(events.length)}`)
|
|
43
|
-
// );
|
|
44
|
-
// };
|
|
45
|
-
|
|
46
|
-
return { message: () => 'OK', pass: true };
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
function sleep(ms: number) {
|
|
50
|
-
return new Promise((resolve) => {
|
|
51
|
-
setTimeout(resolve, ms);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
*/
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2hlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saXN0ZW5lci9tYXRjaGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFvREUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuLy8gaW1wb3J0IHsgU2VydmVybGVzc1NweUxpc3RlbmVyIH0gZnJvbSBcIi4vU2VydmVybGVzc1NweUxpc3RlbmVyXCI7XG5cbnR5cGUgQ3VzdG9tTWF0Y2hlclJlc3VsdCA9IHtcbiAgbWVzc2FnZTogKCkgPT4gc3RyaW5nO1xuICBwYXNzOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IHRvUmVjZWl2ZUV2ZW50ID0gYXN5bmMgKFxuICBzcHk6IGFueSxcbiAgc2VydmljZUtleTogc3RyaW5nLFxuICBjb25kaXRpb24/OiAoZGF0YTogYW55KSA9PiBib29sZWFuXG4pOiBQcm9taXNlPEN1c3RvbU1hdGNoZXJSZXN1bHQ+ID0+IHtcbiAgY29uc29sZS5sb2coJ05PVFJJJyk7XG5cbiAgYXdhaXQgc2xlZXAoMzAwMCk7XG5cbiAgLy8gY29uc29sZS5sb2coXCJTUFlcIiwgc3B5KTtcbiAgLy8gY29uc3QgZXZlbnRzID0gYXdhaXQgc3B5LmF3YWl0RXZlbnRzKChldmVudHMpID0+IHtcbiAgLy8gICByZXR1cm4gZXZlbnRzLnNvbWUoKGV2ZW50KSA9PiBldmVudFtcImRldGFpbC10eXBlXCJdID09PSBleHBlY3RlZCk7XG4gIC8vIH0pO1xuXG4gIC8vIGNvbnN0IHBhc3MgPSBldmVudHMuc29tZSgoZXZlbnQpID0+IGV2ZW50W1wiZGV0YWlsLXR5cGVcIl0gPT09IGV4cGVjdGVkKTtcblxuICAvLyBjb25zdCBtZXNzYWdlID0gcGFzc1xuICAvLyAgID8gKCkgPT4ge1xuICAvLyAgICAgICByZXR1cm4gKFxuICAvLyAgICAgICAgIG1hdGNoZXJIaW50KFwidG9IYXZlRXZlbnRXaXRoRGV0YWlsVHlwZVwiLCBcImV2ZW50c1NweVwiLCBcImRldGFpbC10eXBlXCIpICtcbiAgLy8gICAgICAgICBcIlxcblxcblwiICtcbiAgLy8gICAgICAgICBgRXhwZWN0ZWQ6IG5vdCAke3ByaW50RXhwZWN0ZWQoZXhwZWN0ZWQpfVxcbmAgK1xuICAvLyAgICAgICAgIGBOdW1iZXIgb2YgZXZlbnRzOiAke3ByaW50UmVjZWl2ZWQoZXZlbnRzLmxlbmd0aCl9YFxuICAvLyAgICAgICApO1xuICAvLyAgICAgfVxuICAvLyAgIDogKCkgPT4ge1xuICAvLyAgICAgICByZXR1cm4gKFxuICAvLyAgICAgICAgIG1hdGNoZXJIaW50KFwidG9IYXZlRXZlbnRXaXRoRGV0YWlsVHlwZVwiLCBcImV2ZW50c1NweVwiLCBcImRldGFpbC10eXBlXCIpICtcbiAgLy8gICAgICAgICBcIlxcblxcblwiICtcbiAgLy8gICAgICAgICBgRXhwZWN0ZWQ6ICR7cHJpbnRFeHBlY3RlZChleHBlY3RlZCl9XFxuYCArXG4gIC8vICAgICAgICAgKGV2ZW50cy5sZW5ndGggPiAwXG4gIC8vICAgICAgICAgICA/IGBSZWNlaXZlZDogJHtwcmludFJlY2VpdmVkKGV2ZW50c1swXT8uW1wiZGV0YWlsLXR5cGVcIl0pfWBcbiAgLy8gICAgICAgICAgIDogYE51bWJlciBvZiBldmVudHM6ICR7cHJpbnRSZWNlaXZlZChldmVudHMubGVuZ3RoKX1gKVxuICAvLyAgICAgICApO1xuICAvLyAgICAgfTtcblxuICByZXR1cm4geyBtZXNzYWdlOiAoKSA9PiAnT0snLCBwYXNzOiB0cnVlIH07XG59O1xuXG5mdW5jdGlvbiBzbGVlcChtczogbnVtYmVyKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpO1xuICB9KTtcbn1cbiovXG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// import * as matchers from './matchers';
|
|
3
|
-
// if (expect !== undefined) {
|
|
4
|
-
// expect.extend(matchers);
|
|
5
|
-
// } else {
|
|
6
|
-
// /* eslint-disable no-console */
|
|
7
|
-
// console.error(
|
|
8
|
-
// "Unable to find Jest's global expect." +
|
|
9
|
-
// '\nPlease check you have added jest-extended correctly to your jest configuration.' +
|
|
10
|
-
// '\nSee https://github.com/jest-community/jest-extended#setup for help.'
|
|
11
|
-
// );
|
|
12
|
-
// /* eslint-enable no-console */
|
|
13
|
-
// }
|
|
14
|
-
// declare global {
|
|
15
|
-
// namespace jest {
|
|
16
|
-
// interface Matchers<R> {
|
|
17
|
-
// toReceiveEvent(serviceKey: string, condition?: (data: any) => boolean): R;
|
|
18
|
-
// }
|
|
19
|
-
// }
|
|
20
|
-
// }
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saXN0ZW5lci9zZXR1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMENBQTBDO0FBRTFDLDhCQUE4QjtBQUM5Qiw2QkFBNkI7QUFDN0IsV0FBVztBQUNYLG9DQUFvQztBQUNwQyxtQkFBbUI7QUFDbkIsK0NBQStDO0FBQy9DLDhGQUE4RjtBQUM5RixnRkFBZ0Y7QUFDaEYsT0FBTztBQUNQLG1DQUFtQztBQUNuQyxJQUFJO0FBRUosbUJBQW1CO0FBQ25CLHFCQUFxQjtBQUNyQiw4QkFBOEI7QUFDOUIsbUZBQW1GO0FBQ25GLFFBQVE7QUFDUixNQUFNO0FBQ04sSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCAqIGFzIG1hdGNoZXJzIGZyb20gJy4vbWF0Y2hlcnMnO1xuXG4vLyBpZiAoZXhwZWN0ICE9PSB1bmRlZmluZWQpIHtcbi8vICAgZXhwZWN0LmV4dGVuZChtYXRjaGVycyk7XG4vLyB9IGVsc2Uge1xuLy8gICAvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG4vLyAgIGNvbnNvbGUuZXJyb3IoXG4vLyAgICAgXCJVbmFibGUgdG8gZmluZCBKZXN0J3MgZ2xvYmFsIGV4cGVjdC5cIiArXG4vLyAgICAgICAnXFxuUGxlYXNlIGNoZWNrIHlvdSBoYXZlIGFkZGVkIGplc3QtZXh0ZW5kZWQgY29ycmVjdGx5IHRvIHlvdXIgamVzdCBjb25maWd1cmF0aW9uLicgK1xuLy8gICAgICAgJ1xcblNlZSBodHRwczovL2dpdGh1Yi5jb20vamVzdC1jb21tdW5pdHkvamVzdC1leHRlbmRlZCNzZXR1cCBmb3IgaGVscC4nXG4vLyAgICk7XG4vLyAgIC8qIGVzbGludC1lbmFibGUgbm8tY29uc29sZSAqL1xuLy8gfVxuXG4vLyBkZWNsYXJlIGdsb2JhbCB7XG4vLyAgIG5hbWVzcGFjZSBqZXN0IHtcbi8vICAgICBpbnRlcmZhY2UgTWF0Y2hlcnM8Uj4ge1xuLy8gICAgICAgdG9SZWNlaXZlRXZlbnQoc2VydmljZUtleTogc3RyaW5nLCBjb25kaXRpb24/OiAoZGF0YTogYW55KSA9PiBib29sZWFuKTogUjtcbi8vICAgICB9XG4vLyAgIH1cbi8vIH1cbiJdfQ==
|
package/lib/mjs/cli/cli.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/lib/mjs/cli/cli.js
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import * as fs from 'fs';
|
|
2
|
-
import * as http from 'http';
|
|
3
|
-
import * as path from 'path';
|
|
4
|
-
import { getWebSocketUrl } from '../common/getWebSocketUrl';
|
|
5
|
-
async function run() {
|
|
6
|
-
const cdkExportFileName = '../.spy/cdkExports.json';
|
|
7
|
-
let serverlessSpyWsUrl;
|
|
8
|
-
if (fs.existsSync(cdkExportFileName)) {
|
|
9
|
-
const rawdata = fs.readFileSync(cdkExportFileName);
|
|
10
|
-
const config = JSON.parse(rawdata.toString());
|
|
11
|
-
if (config && config[Object.keys(config)[0]]) {
|
|
12
|
-
// get first ServerlessSpyWsUrl
|
|
13
|
-
// {
|
|
14
|
-
// "my-stack": {
|
|
15
|
-
// "ServerlessSpyWsUrl": "xxx"
|
|
16
|
-
// }
|
|
17
|
-
// }
|
|
18
|
-
serverlessSpyWsUrl = config[Object.keys(config)[0]].ServerlessSpyWsUrl;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
serverlessSpyWsUrl =
|
|
22
|
-
'wss://preh1xo1xh.execute-api.eu-west-1.amazonaws.com/prod';
|
|
23
|
-
if (!serverlessSpyWsUrl) {
|
|
24
|
-
throw new Error('Missing WS url');
|
|
25
|
-
}
|
|
26
|
-
console.log('serverlessSpyWsUrl', serverlessSpyWsUrl);
|
|
27
|
-
const wsUrl = await getWebSocketUrl(serverlessSpyWsUrl);
|
|
28
|
-
// source https://developer.mozilla.org/en-US/docs/Learn/Server-side/Node_server_without_framework
|
|
29
|
-
http
|
|
30
|
-
.createServer((request, response) => {
|
|
31
|
-
console.log('request ', request.url);
|
|
32
|
-
let filePath = `.${request.url}`;
|
|
33
|
-
if (filePath === './') {
|
|
34
|
-
filePath = './index.html';
|
|
35
|
-
}
|
|
36
|
-
const extname = String(path.extname(filePath)).toLowerCase();
|
|
37
|
-
const mimeTypes = {
|
|
38
|
-
'.html': 'text/html',
|
|
39
|
-
'.js': 'text/javascript',
|
|
40
|
-
'.css': 'text/css',
|
|
41
|
-
'.json': 'application/json',
|
|
42
|
-
'.png': 'image/png',
|
|
43
|
-
'.jpg': 'image/jpg',
|
|
44
|
-
'.gif': 'image/gif',
|
|
45
|
-
'.svg': 'image/svg+xml',
|
|
46
|
-
'.wav': 'audio/wav',
|
|
47
|
-
'.mp4': 'video/mp4',
|
|
48
|
-
'.woff': 'application/font-woff',
|
|
49
|
-
'.ttf': 'application/font-ttf',
|
|
50
|
-
'.eot': 'application/vnd.ms-fontobject',
|
|
51
|
-
'.otf': 'application/font-otf',
|
|
52
|
-
'.wasm': 'application/wasm',
|
|
53
|
-
};
|
|
54
|
-
const contentType = mimeTypes[extname] || 'application/octet-stream';
|
|
55
|
-
fs.readFile(filePath, (error, content) => {
|
|
56
|
-
if (error) {
|
|
57
|
-
if (error.code === 'ENOENT') {
|
|
58
|
-
fs.readFile('./404.html', (_err, cont) => {
|
|
59
|
-
response.writeHead(404, { 'Content-Type': 'text/html' });
|
|
60
|
-
response.end(cont, 'utf-8');
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
response.writeHead(500);
|
|
65
|
-
response.end(`Sorry, check with the site admin for error: ${error.code} ..\n`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
response.writeHead(200, { 'Content-Type': contentType });
|
|
70
|
-
if (request.url === '/serverlessSpy.js') {
|
|
71
|
-
const contentNew = content
|
|
72
|
-
.toString()
|
|
73
|
-
.replace('SERVERLESS_SPY_WS_URL', wsUrl);
|
|
74
|
-
response.end(contentNew, 'utf-8');
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
response.end(content, 'utf-8');
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
})
|
|
82
|
-
.listen(8125);
|
|
83
|
-
}
|
|
84
|
-
run().catch(console.error);
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY2xpL2NsaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsS0FBSyxVQUFVLEdBQUc7SUFDaEIsTUFBTSxpQkFBaUIsR0FBRyx5QkFBeUIsQ0FBQztJQUVwRCxJQUFJLGtCQUFzQyxDQUFDO0lBQzNDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNuRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRTlDLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDNUMsK0JBQStCO1lBQy9CLElBQUk7WUFDSixrQkFBa0I7WUFDbEIsa0NBQWtDO1lBQ2xDLE1BQU07WUFDTixJQUFJO1lBRUosa0JBQWtCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztTQUN4RTtLQUNGO0lBRUQsa0JBQWtCO1FBQ2hCLDJEQUEyRCxDQUFDO0lBRTlELElBQUksQ0FBQyxrQkFBa0IsRUFBRTtRQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FDbkM7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUFD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cyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBodHRwIGZyb20gJ2h0dHAnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGdldFdlYlNvY2tldFVybCB9IGZyb20gJy4uL2NvbW1vbi9nZXRXZWJTb2NrZXRVcmwnO1xuXG5hc3luYyBmdW5jdGlvbiBydW4oKSB7XG4gIGNvbnN0IGNka0V4cG9ydEZpbGVOYW1lID0gJy4uLy5zcHkvY2RrRXhwb3J0cy5qc29uJztcblxuICBsZXQgc2VydmVybGVzc1NweVdzVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGlmIChmcy5leGlzdHNTeW5jKGNka0V4cG9ydEZpbGVOYW1lKSkge1xuICAgIGNvbnN0IHJhd2RhdGEgPSBmcy5yZWFkRmlsZVN5bmMoY2RrRXhwb3J0RmlsZU5hbWUpO1xuICAgIGNvbnN0IGNvbmZpZyA9IEpTT04ucGFyc2UocmF3ZGF0YS50b1N0cmluZygpKTtcblxuICAgIGlmIChjb25maWcgJiYgY29uZmlnW09iamVjdC5rZXlzKGNvbmZpZylbMF1dKSB7XG4gICAgICAvLyBnZXQgZmlyc3QgU2VydmVybGVzc1NweVdzVXJsXG4gICAgICAvLyB7XG4gICAgICAvLyAgIFwibXktc3RhY2tcIjoge1xuICAgICAgLy8gICAgIFwiU2VydmVybGVzc1NweVdzVXJsXCI6IFwieHh4XCJcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuXG4gICAgICBzZXJ2ZXJsZXNzU3B5V3NVcmwgPSBjb25maWdbT2JqZWN0LmtleXMoY29uZmlnKVswXV0uU2VydmVybGVzc1NweVdzVXJsO1xuICAgIH1cbiAgfVxuXG4gIHNlcnZlcmxlc3NTcHlXc1VybCA9XG4gICAgJ3dzczovL3ByZWgxeG8xeGguZXhlY3V0ZS1hcGkuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vcHJvZCc7XG5cbiAgaWYgKCFzZXJ2ZXJsZXNzU3B5V3NVcmwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgV1MgdXJsJyk7XG4gIH1cblxuICBjb25zb2xlLmxvZygnc2VydmVybGVzc1NweVdzVXJsJywgc2VydmVybGVzc1NweVdzVXJsKTtcblxuICBjb25zdCB3c1VybCA9IGF3YWl0IGdldFdlYlNvY2tldFVybChzZXJ2ZXJsZXNzU3B5V3NVcmwpO1xuXG4gIC8vIHNvdXJjZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL0xlYXJuL1NlcnZlci1zaWRlL05vZGVfc2VydmVyX3dpdGhvdXRfZnJhbWV3b3JrXG4gIGh0dHBcbiAgICAuY3JlYXRlU2VydmVyKChyZXF1ZXN0LCByZXNwb25zZSkgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ3JlcXVlc3QgJywgcmVxdWVzdC51cmwpO1xuXG4gICAgICBsZXQgZmlsZVBhdGggPSBgLiR7cmVxdWVzdC51cmx9YDtcbiAgICAgIGlmIChmaWxlUGF0aCA9PT0gJy4vJykge1xuICAgICAgICBmaWxlUGF0aCA9ICcuL2luZGV4Lmh0bWwnO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBleHRuYW1lID0gU3RyaW5nKHBhdGguZXh0bmFtZShmaWxlUGF0aCkpLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBtaW1lVHlwZXM6IGFueSA9IHtcbiAgICAgICAgJy5odG1sJzogJ3RleHQvaHRtbCcsXG4gICAgICAgICcuanMnOiAndGV4dC9qYXZhc2NyaXB0JyxcbiAgICAgICAgJy5jc3MnOiAndGV4dC9jc3MnLFxuICAgICAgICAnLmpzb24nOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICcucG5nJzogJ2ltYWdlL3BuZycsXG4gICAgICAgICcuanBnJzogJ2ltYWdlL2pwZycsXG4gICAgICAgICcuZ2lmJzogJ2ltYWdlL2dpZicsXG4gICAgICAgICcuc3ZnJzogJ2ltYWdlL3N2Zyt4bWwnLFxuICAgICAgICAnLndhdic6ICdhdWRpby93YXYnLFxuICAgICAgICAnLm1wNCc6ICd2aWRlby9tcDQnLFxuICAgICAgICAnLndvZmYnOiAnYXBwbGljYXRpb24vZm9udC13b2ZmJyxcbiAgICAgICAgJy50dGYnOiAnYXBwbGljYXRpb24vZm9udC10dGYnLFxuICAgICAgICAnLmVvdCc6ICdhcHBsaWNhdGlvbi92bmQubXMtZm9udG9iamVjdCcsXG4gICAgICAgICcub3RmJzogJ2FwcGxpY2F0aW9uL2ZvbnQtb3RmJyxcbiAgICAgICAgJy53YXNtJzogJ2FwcGxpY2F0aW9uL3dhc20nLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgY29udGVudFR5cGUgPSBtaW1lVHlwZXNbZXh0bmFtZV0gfHwgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc7XG5cbiAgICAgIGZzLnJlYWRGaWxlKGZpbGVQYXRoLCAoZXJyb3IsIGNvbnRlbnQpID0+IHtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgaWYgKGVycm9yLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICAgICAgICBmcy5yZWFkRmlsZSgnLi80MDQuaHRtbCcsIChfZXJyLCBjb250KSA9PiB7XG4gICAgICAgICAgICAgIHJlc3BvbnNlLndyaXRlSGVhZCg0MDQsIHsgJ0NvbnRlbnQtVHlwZSc6ICd0ZXh0L2h0bWwnIH0pO1xuICAgICAgICAgICAgICByZXNwb25zZS5lbmQoY29udCwgJ3V0Zi04Jyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzcG9uc2Uud3JpdGVIZWFkKDUwMCk7XG4gICAgICAgICAgICByZXNwb25zZS5lbmQoXG4gICAgICAgICAgICAgIGBTb3JyeSwgY2hlY2sgd2l0aCB0aGUgc2l0ZSBhZG1pbiBmb3IgZXJyb3I6ICR7ZXJyb3IuY29kZX0gLi5cXG5gXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNwb25zZS53cml0ZUhlYWQoMjAwLCB7ICdDb250ZW50LVR5cGUnOiBjb250ZW50VHlwZSB9KTtcbiAgICAgICAgICBpZiAocmVxdWVzdC51cmwgPT09ICcvc2VydmVybGVzc1NweS5qcycpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnROZXcgPSBjb250ZW50XG4gICAgICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgICAgIC5yZXBsYWNlKCdTRVJWRVJMRVNTX1NQWV9XU19VUkwnLCB3c1VybCk7XG4gICAgICAgICAgICByZXNwb25zZS5lbmQoY29udGVudE5ldywgJ3V0Zi04Jyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3BvbnNlLmVuZChjb250ZW50LCAndXRmLTgnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pXG4gICAgLmxpc3Rlbig4MTI1KTtcbn1cblxucnVuKCkuY2F0Y2goY29uc29sZS5lcnJvcik7XG4iXX0=
|
package/lib/mjs/cli/ws.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/lib/mjs/cli/ws.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import * as fs from 'fs';
|
|
2
|
-
import * as readline from 'readline';
|
|
3
|
-
import WebSocket from 'ws';
|
|
4
|
-
import { getWebSocketUrl } from '../common/getWebSocketUrl';
|
|
5
|
-
async function run() {
|
|
6
|
-
// var credentialsProvider = awsCp.fromTemporaryCredentials();
|
|
7
|
-
// const credentials = await credentialsProvider();
|
|
8
|
-
// const client = new STSClient({});
|
|
9
|
-
// client.send()
|
|
10
|
-
// const command = new GetSessionTokenCommand({});
|
|
11
|
-
// const { Credentials: credentials } = await client.send(command);
|
|
12
|
-
// //const credentials = s.Credentials;
|
|
13
|
-
// console.log("credentials", credentials);
|
|
14
|
-
// const url = process.argv[2];
|
|
15
|
-
const url = 'wss://preh1xo1xh.execute-api.eu-west-1.amazonaws.com/prod';
|
|
16
|
-
// https://medium.com/@o.bredenberg/iam-sign-your-api-gateway-websocket-connection-request-no-custom-auth-from-your-frontend-65451166757d
|
|
17
|
-
const url2 = await getWebSocketUrl(url);
|
|
18
|
-
const ws = new WebSocket(url2);
|
|
19
|
-
const fileDescriptor = fs.openSync('spy_log.json', 'w');
|
|
20
|
-
// 📢📁⚡️💾 💽 💾 💿 📀🛢🪣📑🔊
|
|
21
|
-
ws.on('open', () => console.log(`connected ${new Date().toISOString()}`));
|
|
22
|
-
ws.on('message', (data) => {
|
|
23
|
-
// console.log(`From server: ${data}`);
|
|
24
|
-
let parsed;
|
|
25
|
-
try {
|
|
26
|
-
parsed = JSON.parse(data);
|
|
27
|
-
}
|
|
28
|
-
catch (err) {
|
|
29
|
-
console.error(`Can not parse ${data}`);
|
|
30
|
-
}
|
|
31
|
-
if (parsed) {
|
|
32
|
-
console.log(`\x1b[47m\x1b[34m${parsed.timestamp} \x1b[31m🍕 ${parsed.serviceKey}\x1b[0m\x1b[32m\n${JSON.stringify(parsed.data, null, 2)}\x1b[0m`);
|
|
33
|
-
}
|
|
34
|
-
fs.write(fileDescriptor, data, (error) => {
|
|
35
|
-
if (!error) {
|
|
36
|
-
// fs.close(fileDescriptor);
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
console.error(error);
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
fs.write(fileDescriptor, '\n', (error) => {
|
|
43
|
-
if (!error) {
|
|
44
|
-
// fs.close(fileDescriptor);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
console.error(error);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
ws.on('close', () => {
|
|
52
|
-
console.log(`disconnected ${new Date().toISOString()}`);
|
|
53
|
-
fs.close(fileDescriptor, () => undefined);
|
|
54
|
-
process.exit();
|
|
55
|
-
});
|
|
56
|
-
readline
|
|
57
|
-
.createInterface({
|
|
58
|
-
input: process.stdin,
|
|
59
|
-
output: process.stdout,
|
|
60
|
-
})
|
|
61
|
-
.on('line', (data) => {
|
|
62
|
-
ws.send(data);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
run().catch(console.error);
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jbGkvd3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFDckMsT0FBTyxTQUFTLE1BQU0sSUFBSSxDQUFDO0FBQzNCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RCxLQUFLLFVBQVUsR0FBRztJQUNoQiw4REFBOEQ7SUFDOUQsbURBQW1EO0lBRW5ELG9DQUFvQztJQUNwQyxnQkFBZ0I7SUFFaEIsa0RBQWtEO0lBQ2xELG1FQUFtRTtJQUNuRSx1Q0FBdUM7SUFFdkMsMkNBQTJDO0lBRTNDLCtCQUErQjtJQUMvQixNQUFNLEdBQUcsR0FBRywyREFBMkQsQ0FBQztJQUV4RSx5SUFBeUk7SUFDekksTUFBTSxJQUFJLEdBQUcsTUFBTSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFeEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFL0IsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEQsK0JBQStCO0lBRS9CLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUU7UUFDN0IsdUNBQXVDO1FBRXZDLElBQUksTUFBTSxDQUFDO1FBQ1gsSUFBSTtZQUNGLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNCO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxNQUFNLEVBQUU7WUFDVixPQUFPLENBQUMsR0FBRyxDQUNULG1CQUFtQixNQUFNLENBQUMsU0FBUyxlQUNqQyxNQUFNLENBQUMsVUFDVCxvQkFBb0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxDQUNsRSxDQUFDO1NBQ0g7UUFFRCxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLDRCQUE0QjthQUM3QjtpQkFBTTtnQkFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLDRCQUE0QjthQUM3QjtpQkFBTTtnQkFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4RCxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakIsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRO1NBQ0wsZUFBZSxDQUFDO1FBQ2YsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ3BCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtLQUN2QixDQUFDO1NBQ0QsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ25CLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEIsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBQ0QsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHJlYWRsaW5lIGZyb20gJ3JlYWRsaW5lJztcbmltcG9ydCBXZWJTb2NrZXQgZnJvbSAnd3MnO1xuaW1wb3J0IHsgZ2V0V2ViU29ja2V0VXJsIH0gZnJvbSAnLi4vY29tbW9uL2dldFdlYlNvY2tldFVybCc7XG5cbmFzeW5jIGZ1bmN0aW9uIHJ1bigpIHtcbiAgLy8gdmFyIGNyZWRlbnRpYWxzUHJvdmlkZXIgPSBhd3NDcC5mcm9tVGVtcG9yYXJ5Q3JlZGVudGlhbHMoKTtcbiAgLy8gY29uc3QgY3JlZGVudGlhbHMgPSBhd2FpdCBjcmVkZW50aWFsc1Byb3ZpZGVyKCk7XG5cbiAgLy8gY29uc3QgY2xpZW50ID0gbmV3IFNUU0NsaWVudCh7fSk7XG4gIC8vIGNsaWVudC5zZW5kKClcblxuICAvLyBjb25zdCBjb21tYW5kID0gbmV3IEdldFNlc3Npb25Ub2tlbkNvbW1hbmQoe30pO1xuICAvLyBjb25zdCB7IENyZWRlbnRpYWxzOiBjcmVkZW50aWFscyB9ID0gYXdhaXQgY2xpZW50LnNlbmQoY29tbWFuZCk7XG4gIC8vIC8vY29uc3QgY3JlZGVudGlhbHMgPSBzLkNyZWRlbnRpYWxzO1xuXG4gIC8vIGNvbnNvbGUubG9nKFwiY3JlZGVudGlhbHNcIiwgY3JlZGVudGlhbHMpO1xuXG4gIC8vIGNvbnN0IHVybCA9IHByb2Nlc3MuYXJndlsyXTtcbiAgY29uc3QgdXJsID0gJ3dzczovL3ByZWgxeG8xeGguZXhlY3V0ZS1hcGkuZXUtd2VzdC0xLmFtYXpvbmF3cy5jb20vcHJvZCc7XG5cbiAgLy8gaHR0cHM6Ly9tZWRpdW0uY29tL0BvLmJyZWRlbmJlcmcvaWFtLXNpZ24teW91ci1hcGktZ2F0ZXdheS13ZWJzb2NrZXQtY29ubmVjdGlvbi1yZXF1ZXN0LW5vLWN1c3RvbS1hdXRoLWZyb20teW91ci1mcm9udGVuZC02NTQ1MTE2Njc1N2RcbiAgY29uc3QgdXJsMiA9IGF3YWl0IGdldFdlYlNvY2tldFVybCh1cmwpO1xuXG4gIGNvbnN0IHdzID0gbmV3IFdlYlNvY2tldCh1cmwyKTtcblxuICBjb25zdCBmaWxlRGVzY3JpcHRvciA9IGZzLm9wZW5TeW5jKCdzcHlfbG9nLmpzb24nLCAndycpO1xuICAvLyDwn5Oi8J+TgeKaoe+4j/Cfkr4g8J+SvSDwn5K+IPCfkr8g8J+TgPCfm6Lwn6qj8J+TkfCflIpcblxuICB3cy5vbignb3BlbicsICgpID0+IGNvbnNvbGUubG9nKGBjb25uZWN0ZWQgJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9YCkpO1xuICB3cy5vbignbWVzc2FnZScsIChkYXRhOiBhbnkpID0+IHtcbiAgICAvLyBjb25zb2xlLmxvZyhgRnJvbSBzZXJ2ZXI6ICR7ZGF0YX1gKTtcblxuICAgIGxldCBwYXJzZWQ7XG4gICAgdHJ5IHtcbiAgICAgIHBhcnNlZCA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBDYW4gbm90IHBhcnNlICR7ZGF0YX1gKTtcbiAgICB9XG5cbiAgICBpZiAocGFyc2VkKSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYFxceDFiWzQ3bVxceDFiWzM0bSR7cGFyc2VkLnRpbWVzdGFtcH0gXFx4MWJbMzFt8J+NlSAke1xuICAgICAgICAgIHBhcnNlZC5zZXJ2aWNlS2V5XG4gICAgICAgIH1cXHgxYlswbVxceDFiWzMybVxcbiR7SlNPTi5zdHJpbmdpZnkocGFyc2VkLmRhdGEsIG51bGwsIDIpfVxceDFiWzBtYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBmcy53cml0ZShmaWxlRGVzY3JpcHRvciwgZGF0YSwgKGVycm9yKSA9PiB7XG4gICAgICBpZiAoIWVycm9yKSB7XG4gICAgICAgIC8vIGZzLmNsb3NlKGZpbGVEZXNjcmlwdG9yKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGZzLndyaXRlKGZpbGVEZXNjcmlwdG9yLCAnXFxuJywgKGVycm9yKSA9PiB7XG4gICAgICBpZiAoIWVycm9yKSB7XG4gICAgICAgIC8vIGZzLmNsb3NlKGZpbGVEZXNjcmlwdG9yKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgd3Mub24oJ2Nsb3NlJywgKCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKGBkaXNjb25uZWN0ZWQgJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9YCk7XG4gICAgZnMuY2xvc2UoZmlsZURlc2NyaXB0b3IsICgpID0+IHVuZGVmaW5lZCk7XG4gICAgcHJvY2Vzcy5leGl0KCk7XG4gIH0pO1xuXG4gIHJlYWRsaW5lXG4gICAgLmNyZWF0ZUludGVyZmFjZSh7XG4gICAgICBpbnB1dDogcHJvY2Vzcy5zdGRpbixcbiAgICAgIG91dHB1dDogcHJvY2Vzcy5zdGRvdXQsXG4gICAgfSlcbiAgICAub24oJ2xpbmUnLCAoZGF0YSkgPT4ge1xuICAgICAgd3Muc2VuZChkYXRhKTtcbiAgICB9KTtcbn1cbnJ1bigpLmNhdGNoKGNvbnNvbGUuZXJyb3IpO1xuIl19
|