@sdkgen/node-runtime 0.0.0-dev.20230110171718 → 0.0.0-dev.20230120140203
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/spec/error.spec.js +4 -3
- package/dist/spec/rest/rest.spec.js +24 -24
- package/dist/spec/runtime/errors.spec.js +14 -15
- package/dist/spec/runtime/middleware.spec.js +14 -15
- package/dist/spec/simple/legacyNodeClient.js +32 -6
- package/dist/spec/simple/simple.spec.js +28 -27
- package/dist/spec/types.js +28 -27
- package/dist/spec/types.spec.js +55 -54
- package/dist/src/api-config.d.ts +4 -3
- package/dist/src/api-config.js +8 -4
- package/dist/src/context.d.ts +3 -3
- package/dist/src/context.js +2 -2
- package/dist/src/encode-decode.d.ts +2 -2
- package/dist/src/encode-decode.js +50 -12
- package/dist/src/error.js +9 -4
- package/dist/src/execute.d.ts +2 -2
- package/dist/src/execute.js +14 -12
- package/dist/src/http-client.d.ts +3 -3
- package/dist/src/http-client.js +27 -25
- package/dist/src/http-server.d.ts +3 -3
- package/dist/src/http-server.js +182 -168
- package/dist/src/index.d.ts +7 -11
- package/dist/src/index.js +18 -8
- package/dist/src/swagger.d.ts +1 -1
- package/dist/src/swagger.js +159 -146
- package/dist/src/test-wrapper.d.ts +2 -2
- package/dist/src/test-wrapper.js +23 -25
- package/dist/src/utils.js +5 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +22 -26
- package/dist/src/new-interface.d.ts +0 -156
- package/dist/src/new-interface.js +0 -200
package/dist/spec/error.spec.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
3
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
2
4
|
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
3
|
-
|
|
4
|
-
class TestError extends SdkgenError {
|
|
5
|
+
const src_1 = require("../src");
|
|
6
|
+
class TestError extends src_1.SdkgenError {
|
|
5
7
|
}
|
|
6
8
|
describe("Error", () => {
|
|
7
9
|
test("SdkgenError behaves as expected", () => {
|
|
@@ -11,4 +13,3 @@ describe("Error", () => {
|
|
|
11
13
|
expect(JSON.parse(JSON.stringify(err1))).toEqual({ message: "the error message", type: "TestError" });
|
|
12
14
|
});
|
|
13
15
|
});
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Iuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NwZWMvZXJyb3Iuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrREFBK0Q7QUFDL0Qsc0RBQXNEO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU5QyxNQUFNLFNBQVUsU0FBUSxXQUFXO0NBQUc7QUFFdEMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7SUFDckIsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLEdBQUcsRUFBRTtRQUMzQyxNQUFNLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRWhELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbEQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3hHLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3MgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtY2FsbCAqL1xuaW1wb3J0IHsgU2RrZ2VuRXJyb3IgfSBmcm9tIFwiLi4vc3JjL2luZGV4LmpzXCI7XG5cbmNsYXNzIFRlc3RFcnJvciBleHRlbmRzIFNka2dlbkVycm9yIHt9XG5cbmRlc2NyaWJlKFwiRXJyb3JcIiwgKCkgPT4ge1xuICB0ZXN0KFwiU2RrZ2VuRXJyb3IgYmVoYXZlcyBhcyBleHBlY3RlZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgZXJyMSA9IG5ldyBUZXN0RXJyb3IoXCJ0aGUgZXJyb3IgbWVzc2FnZVwiKTtcblxuICAgIGV4cGVjdChlcnIxLm1lc3NhZ2UpLnRvRXF1YWwoXCJ0aGUgZXJyb3IgbWVzc2FnZVwiKTtcbiAgICBleHBlY3QoZXJyMS50eXBlKS50b0VxdWFsKFwiVGVzdEVycm9yXCIpO1xuICAgIGV4cGVjdChKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGVycjEpKSkudG9FcXVhbCh7IG1lc3NhZ2U6IFwidGhlIGVycm9yIG1lc3NhZ2VcIiwgdHlwZTogXCJUZXN0RXJyb3JcIiB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
6
|
/* eslint-disable @typescript-eslint/require-await */
|
|
2
7
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
3
8
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
@@ -6,18 +11,16 @@
|
|
|
6
11
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
7
12
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
8
13
|
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
const { api, TestError } = await import(`${__dirname}/api.ts`);
|
|
20
|
-
unlinkSync(`${__dirname}/api.ts`);
|
|
14
|
+
const fs_1 = require("fs");
|
|
15
|
+
const parser_1 = require("@sdkgen/parser");
|
|
16
|
+
const typescript_generator_1 = require("@sdkgen/typescript-generator");
|
|
17
|
+
const axios_1 = __importDefault(require("axios"));
|
|
18
|
+
const form_data_1 = __importDefault(require("form-data"));
|
|
19
|
+
const src_1 = require("../../src");
|
|
20
|
+
const ast = new parser_1.Parser(`${__dirname}/api.sdkgen`).parse();
|
|
21
|
+
(0, fs_1.writeFileSync)(`${__dirname}/api.ts`, (0, typescript_generator_1.generateNodeServerSource)(ast).replace(/@sdkgen\/node-runtime/gu, "../../src"));
|
|
22
|
+
const { api, TestError } = require(`${__dirname}/api.ts`);
|
|
23
|
+
(0, fs_1.unlinkSync)(`${__dirname}/api.ts`);
|
|
21
24
|
api.fn.add = async (_ctx, { first, second }) => {
|
|
22
25
|
return `${first}${second}`;
|
|
23
26
|
};
|
|
@@ -65,11 +68,11 @@ api.fn.getHtml = async () => {
|
|
|
65
68
|
api.fn.getXml = async () => {
|
|
66
69
|
return "<h1>Hello world!</h1>";
|
|
67
70
|
};
|
|
68
|
-
writeFileSync(`${__dirname}/nodeClient.ts`, generateNodeClientSource(ast).replace(/@sdkgen\/node-runtime/gu, "../../src"));
|
|
69
|
-
const { ApiClient: NodeApiClient } =
|
|
70
|
-
unlinkSync(`${__dirname}/nodeClient.ts`);
|
|
71
|
+
(0, fs_1.writeFileSync)(`${__dirname}/nodeClient.ts`, (0, typescript_generator_1.generateNodeClientSource)(ast).replace(/@sdkgen\/node-runtime/gu, "../../src"));
|
|
72
|
+
const { ApiClient: NodeApiClient } = require(`${__dirname}/nodeClient.ts`);
|
|
73
|
+
(0, fs_1.unlinkSync)(`${__dirname}/nodeClient.ts`);
|
|
71
74
|
const nodeClient = new NodeApiClient("http://localhost:8001");
|
|
72
|
-
const server = new SdkgenHttpServer(api, {});
|
|
75
|
+
const server = new src_1.SdkgenHttpServer(api, {});
|
|
73
76
|
describe("Rest API", () => {
|
|
74
77
|
beforeAll(async () => {
|
|
75
78
|
await server.listen(8001);
|
|
@@ -317,13 +320,11 @@ describe("Rest API", () => {
|
|
|
317
320
|
result: "barbar",
|
|
318
321
|
},
|
|
319
322
|
(() => {
|
|
320
|
-
const form = new
|
|
323
|
+
const form = new form_data_1.default();
|
|
321
324
|
form.append("file", Buffer.from("Hello"), "test.txt");
|
|
322
325
|
return {
|
|
323
326
|
data: form.getBuffer(),
|
|
324
|
-
headers: {
|
|
325
|
-
...form.getHeaders(),
|
|
326
|
-
},
|
|
327
|
+
headers: Object.assign({}, form.getHeaders()),
|
|
327
328
|
method: "POST",
|
|
328
329
|
path: "/upload",
|
|
329
330
|
result: `[{"name":"test.txt","data":"SGVsbG8="}]`,
|
|
@@ -336,7 +337,7 @@ describe("Rest API", () => {
|
|
|
336
337
|
];
|
|
337
338
|
for (const { method, path, result, headers, data, statusCode, resultHeaders } of table) {
|
|
338
339
|
test(`${method} ${path}${headers ? ` with headers ${JSON.stringify(headers)}` : ""}`, async () => {
|
|
339
|
-
const response = await
|
|
340
|
+
const response = await axios_1.default.request({
|
|
340
341
|
data,
|
|
341
342
|
headers,
|
|
342
343
|
method,
|
|
@@ -345,9 +346,8 @@ describe("Rest API", () => {
|
|
|
345
346
|
validateStatus: () => true,
|
|
346
347
|
});
|
|
347
348
|
expect(response.data).toEqual(result);
|
|
348
|
-
expect(response.status).toEqual(statusCode
|
|
349
|
-
expect(response.headers).toMatchObject(resultHeaders
|
|
349
|
+
expect(response.status).toEqual(statusCode !== null && statusCode !== void 0 ? statusCode : 200);
|
|
350
|
+
expect(response.headers).toMatchObject(resultHeaders !== null && resultHeaders !== void 0 ? resultHeaders : {});
|
|
350
351
|
});
|
|
351
352
|
}
|
|
352
353
|
});
|
|
353
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3BlYy9yZXN0L3Jlc3Quc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFDckQsd0RBQXdEO0FBQ3hELHlEQUF5RDtBQUN6RCwwREFBMEQ7QUFDMUQsdURBQXVEO0FBQ3ZELDREQUE0RDtBQUM1RCwrREFBK0Q7QUFDL0Qsc0RBQXNEO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLElBQUksQ0FBQztBQUU3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXBDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBR2pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRS9ELE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsU0FBUyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7QUFFeEUsYUFBYSxDQUFDLEdBQUcsU0FBUyxTQUFTLEVBQUUsd0JBQXdCLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7QUFDcEgsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLFNBQVMsU0FBUyxDQUFDLENBQUM7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LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXQgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtcmV0dXJuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXMgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGwgKi9cbmltcG9ydCB7IHJlYWRGaWxlU3luYywgdW5saW5rU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHR5cGUgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tIFwidXJsXCI7XG5cbmltcG9ydCB7IFBhcnNlciB9IGZyb20gXCJAc2RrZ2VuL3BhcnNlclwiO1xuaW1wb3J0IHsgZ2VuZXJhdGVOb2RlQ2xpZW50U291cmNlLCBnZW5lcmF0ZU5vZGVTZXJ2ZXJTb3VyY2UgfSBmcm9tIFwiQHNka2dlbi90eXBlc2NyaXB0LWdlbmVyYXRvclwiO1xuaW1wb3J0IGF4aW9zIGZyb20gXCJheGlvc1wiO1xuaW1wb3J0IEZvcm1EYXRhIGZyb20gXCJmb3JtLWRhdGFcIjtcblxuaW1wb3J0IHR5cGUgeyBDb250ZXh0IH0gZnJvbSBcIi4uLy4uL3NyYy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgU2RrZ2VuSHR0cFNlcnZlciB9IGZyb20gXCIuLi8uLi9zcmMvaW5kZXguanNcIjtcblxuY29uc3QgX19kaXJuYW1lID0gZmlsZVVSTFRvUGF0aChuZXcgVVJMKFwiLlwiLCBpbXBvcnQubWV0YS51cmwpKTtcblxuY29uc3QgYXN0ID0gbmV3IFBhcnNlcihgJHtfX2Rpcm5hbWV9L2FwaS5zZGtnZW5gLCByZWFkRmlsZVN5bmMpLnBhcnNlKCk7XG5cbndyaXRlRmlsZVN5bmMoYCR7X19kaXJuYW1lfS9hcGkudHNgLCBnZW5lcmF0ZU5vZGVTZXJ2ZXJTb3VyY2UoYXN0KS5yZXBsYWNlKC9Ac2RrZ2VuXFwvbm9kZS1ydW50aW1lL2d1LCBcIi4uLy4uL3NyY1wiKSk7XG5jb25zdCB7IGFwaSwgVGVzdEVycm9yIH0gPSBhd2FpdCBpbXBvcnQoYCR7X19kaXJuYW1lfS9hcGkudHNgKTtcblxudW5saW5rU3luYyhgJHtfX2Rpcm5hbWV9L2FwaS50c2ApO1xuXG5hcGkuZm4uYWRkID0gYXN5bmMgKF9jdHg6IENvbnRleHQsIHsgZmlyc3QsIHNlY29uZCB9OiB7IGZpcnN0OiBudW1iZXI7IHNlY29uZDogc3RyaW5nIH0pID0+IHtcbiAgcmV0dXJuIGAke2ZpcnN0fSR7c2Vjb25kfWA7XG59O1xuXG5hcGkuZm4ubWF5YmUgPSBhc3luYyAoX2N0eDogQ29udGV4dCwgeyBiaW4gfTogeyBiaW46IHN0cmluZyB8IG51bGwgfSkgPT4ge1xuICByZXR1cm4gYmluID09PSBudWxsID8gbnVsbCA6IEJ1ZmZlci5mcm9tKGJpbiwgXCJoZXhcIik7XG59O1xuXG5hcGkuZm4uaGV4ID0gYXN5bmMgKF9jdHg6IENvbnRleHQsIHsgYmluIH06IHsgYmluOiBCdWZmZXIgfSkgPT4ge1xuICByZXR1cm4gYmluLnRvU3RyaW5nKFwiaGV4XCIpO1xufTtcblxuYXBpLmZuLm9iaiA9IGFzeW5jIChfY3R4OiBDb250ZXh0LCB7IG9iaiB9OiB7IG9iajogeyB2YWw6IG51bWJlciB9IH0pID0+IHtcbiAgaWYgKG9iai52YWwgPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJWYWx1ZSBpcyB6ZXJvIH4gRmF0YWxcIik7XG4gIH1cblxuICBpZiAob2JqLnZhbCA9PT0gLTEwMCkge1xuICAgIHRocm93IG5ldyBUZXN0RXJyb3IoXCJWYWx1ZSBpcyAtMTAwIH4gVGVzdEVycm9yXCIpO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn07XG5cbmFwaS5mbi5yZXR1cm5BcmcgPSBhc3luYyAoX2N0eDogQ29udGV4dCwgeyBhcmcgfTogeyBhcmc6IHN0cmluZyB9KSA9PiB7XG4gIHJldHVybiBhcmc7XG59O1xuXG5hcGkuZm4ucmV0dXJuTm9BcmcgPSBhc3luYyAoX2N0eDogQ29udGV4dCkgPT4ge1xuICByZXR1cm4gXCJuby1hcmdcIjtcbn07XG5cbmFwaS5mbi5yZXR1cm5BcmdDb25jYXQgPSBhc3luYyAoX2N0eDogQ29udGV4dCwgeyBhcmcsIGFyZzIgfTogeyBhcmc6IHN0cmluZzsgYXJnMjogc3RyaW5nIH0pID0+IHtcbiAgcmV0dXJuIGAke2FyZ30ke2FyZzJ9YDtcbn07XG5cbmFzeW5jIGZ1bmN0aW9uIHJlYWRBbGxTdHJlYW0oc3RyZWFtOiBSZWFkYWJsZSkge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGNodW5rczogQnVmZmVyW10gPSBbXTtcblxuICAgIHN0cmVhbS5vbihcImVycm9yXCIsIGVyciA9PiByZWplY3QoZXJyKSk7XG4gICAgc3RyZWFtLm9uKFwiZGF0YVwiLCBkYXRhID0+IGNodW5rcy5wdXNoKEJ1ZmZlci5mcm9tKGRhdGEpKSk7XG4gICAgc3RyZWFtLm9uKFwiZW5kXCIsICgpID0+IHJlc29sdmUoQnVmZmVyLmNvbmNhdChjaHVua3MpKSk7XG4gIH0pO1xufVxuXG5hcGkuZm4udXBsb2FkRmlsZSA9IGFzeW5jIChjdHg6IENvbnRleHQpID0+IHtcbiAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgIGN0eC5yZXF1ZXN0LmZpbGVzLm1hcChhc3luYyAoeyBuYW1lLCBjb250ZW50cyB9KSA9PiAoe1xuICAgICAgZGF0YTogYXdhaXQgcmVhZEFsbFN0cmVhbShjb250ZW50cyksXG4gICAgICBuYW1lLFxuICAgIH0pKSxcbiAgKTtcbn07XG5cbmFwaS5mbi5nZXRIdG1sID0gYXN5bmMgKCkgPT4ge1xuICByZXR1cm4gXCI8aDE+SGVsbG8gd29ybGQhPC9oMT5cIjtcbn07XG5cbmFwaS5mbi5nZXRYbWwgPSBhc3luYyAoKSA9PiB7XG4gIHJldHVybiBcIjxoMT5IZWxsbyB3b3JsZCE8L2gxPlwiO1xufTtcblxud3JpdGVGaWxlU3luYyhgJHtfX2Rpcm5hbWV9L25vZGVDbGllbnQudHNgLCBnZW5lcmF0ZU5vZGVDbGllbnRTb3VyY2UoYXN0KS5yZXBsYWNlKC9Ac2RrZ2VuXFwvbm9kZS1ydW50aW1lL2d1LCBcIi4uLy4uL3NyY1wiKSk7XG5jb25zdCB7IEFwaUNsaWVudDogTm9kZUFwaUNsaWVudCB9ID0gYXdhaXQgaW1wb3J0KGAke19fZGlybmFtZX0vbm9kZUNsaWVudC50c2ApO1xuXG51bmxpbmtTeW5jKGAke19fZGlybmFtZX0vbm9kZUNsaWVudC50c2ApO1xuXG5jb25zdCBub2RlQ2xpZW50ID0gbmV3IE5vZGVBcGlDbGllbnQoXCJodHRwOi8vbG9jYWxob3N0OjgwMDFcIik7XG5cbmNvbnN0IHNlcnZlciA9IG5ldyBTZGtnZW5IdHRwU2VydmVyKGFwaSwge30pO1xuXG5kZXNjcmliZShcIlJlc3QgQVBJXCIsICgpID0+IHtcbiAgYmVmb3JlQWxsKGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBzZXJ2ZXIubGlzdGVuKDgwMDEpO1xuICB9KTtcblxuICBhZnRlckFsbChhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgc2VydmVyLmNsb3NlKCk7XG4gIH0pO1xuXG4gIHRlc3QoXCJhZGQgd2l0aCBzZGtnZW5cIiwgYXN5bmMgKCkgPT4ge1xuICAgIGV4cGVjdChhd2FpdCBub2RlQ2xpZW50LmFkZChudWxsLCB7IGZpcnN0OiAxLCBzZWNvbmQ6IFwiYWFcIiB9KSkudG9FcXVhbChcIjFhYVwiKTtcbiAgfSk7XG5cbiAgY29uc3QgdGFibGU6IEFycmF5PHtcbiAgICBtZXRob2Q6IFwiR0VUXCIgfCBcIlBPU1RcIiB8IFwiREVMRVRFXCIgfCBcIlBVVFwiIHwgXCJQQVRDSFwiO1xuICAgIHBhdGg6IHN0cmluZztcbiAgICByZXN1bHQ6IHN0cmluZztcbiAgICBkYXRhPzogc3RyaW5nIHwgQnVmZmVyO1xuICAgIGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHN0YXR1c0NvZGU/OiBudW1iZXI7XG4gICAgcmVzdWx0SGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIH0+ID0gW1xuICAgIHsgbWV0aG9kOiBcIkdFVFwiLCBwYXRoOiBcIi9hZGQxLzEvYWFcIiwgcmVzdWx0OiBcIjFhYVwiIH0sXG4gICAgeyBtZXRob2Q6IFwiR0VUXCIsIHBhdGg6IFwiL2FkZDEvMS9hYS9cIiwgcmVzdWx0OiBcIjFhYVwiIH0sXG4gICAge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICBhY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgfSxcbiAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgIHBhdGg6IFwiL2FkZDEvMS9hYVwiLFxuICAgICAgcmVzdWx0OiAnXCIxYWFcIicsXG4gICAgfSxcbiAgICB7IG1ldGhvZDogXCJHRVRcIiwgcGF0aDogXCIvYWRkMiZzZWNvbmQ9YWEmZmlyc3Q9MVwiLCByZXN1bHQ6IFwiXCIsIHN0YXR1c0NvZGU6IDQwNCB9LFxuICAgIHsgbWV0aG9kOiBcIkdFVFwiLCBwYXRoOiBcIi9hZGQyP3NlY29uZD1hYSZmaXJzdD0xXCIsIHJlc3VsdDogXCIxYWFcIiB9LFxuICAgIHsgbWV0aG9kOiBcIkdFVFwiLCBwYXRoOiBcIi9hZGQyP2ZpcnN0PTEmc2Vjb25kPWFhXCIsIHJlc3VsdDogXCIxYWFcIiB9LFxuICAgIHtcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgXCJ4LXNlY29uZFwiOiBcImFhXCIsXG4gICAgICB9LFxuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgcGF0aDogXCIvYWRkMz9maXJzdD0xXCIsXG4gICAgICByZXN1bHQ6IFwiMWFhXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIGFjY2VwdDogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgIFwieC1zZWNvbmRcIjogXCJhYVwiLFxuICAgICAgfSxcbiAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgIHBhdGg6IFwiL2FkZDM/Zmlyc3Q9MVwiLFxuICAgICAgcmVzdWx0OiAnXCIxYWFcIicsXG4gICAgfSxcbiAgICB7XG4gICAgICBkYXRhOiBcIjFcIixcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgXCJ4LXNlY29uZFwiOiBcImFhXCIsXG4gICAgICB9LFxuICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgIHBhdGg6IFwiL2FkZDRcIixcbiAgICAgIHJlc3VsdDogXCIxYWFcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGRhdGE6IFwiMVwiLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBhY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICBcIngtc2Vjb25kXCI6IFwiYWFcIixcbiAgICAgIH0sXG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgcGF0aDogXCIvYWRkNFwiLFxuICAgICAgcmVzdWx0OiAnXCIxYWFcIicsXG4gICAgfSxcbiAgICB7XG4gICAgICBkYXRhOiBcImFhXCIsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIFwieC1maXJzdFwiOiBcIjFcIixcbiAgICAgIH0sXG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgcGF0aDogXCIvYWRkNVwiLFxuICAgICAgcmVzdWx0OiBcIjFhYVwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZGF0YTogJ1wiYWFcIicsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICBcIngtZmlyc3RcIjogXCIxXCIsXG4gICAgICB9LFxuICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgIHBhdGg6IFwiL2FkZDVcIixcbiAgICAgIHJlc3VsdDogXCIxYWFcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGRhdGE6ICdcImFhXCInLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBhY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICBcImNvbnRlbnQtdHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgXCJ4LWZpcnN0XCI6IFwiMVwiLFxuICAgICAgfSxcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICBwYXRoOiBcIi9hZGQ1XCIsXG4gICAgICByZXN1bHQ6ICdcIjFhYVwiJyxcbiAgICB9LFxuICAgIHsgbWV0aG9kOiBcIlBPU1RcIiwgcGF0aDogXCIvYWRkNj9zZWNvbmQ9YWEmZmlyc3Q9MVwiLCByZXN1bHQ6IFwiMWFhXCIgfSxcbiAgICB7IG1ldGhvZDogXCJQT1NUXCIsIHBhdGg6IFwiL2FkZDY/Zmlyc3Q9MSZzZWNvbmQ9YWFcIiwgcmVzdWx0OiBcIjFhYVwiIH0sXG4gICAge1xuICAgICAgZGF0YTogXCJzZWNvbmQ9YWEmZmlyc3Q9MVwiLFxuICAgICAgaGVhZGVyczogeyBcImNvbnRlbnQtdHlwZVwiOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiIH0sXG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgcGF0aDogXCIvYWRkNlwiLFxuICAgICAgcmVzdWx0OiBcIjFhYVwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZGF0YTogXCJmaXJzdD0xJnNlY29uZD1hYVwiLFxuICAgICAgaGVhZGVyczogeyBcImNvbnRlbnQtdHlwZVwiOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiIH0sXG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgcGF0aDogXCIvYWRkNlwiLFxuICAgICAgcmVzdWx0OiBcIjFhYVwiLFxuICAgIH0sXG4gICAge1xuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgcGF0aDogXCIvbWF5YmVcIixcbiAgICAgIHJlc3VsdDogXCJcIixcbiAgICAgIHN0YXR1c0NvZGU6IDQwNCxcbiAgICB9LFxuICAgIHtcbiAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgIHBhdGg6IFwiL21heWJlP2Jpbj00ZDU0Njg2NFwiLFxuICAgICAgcmVzdWx0OiBcIk1UaGRcIixcbiAgICAgIHJlc3VsdEhlYWRlcnM6IHtcbiAgICAgICAgXCJjb250ZW50LXR5cGVcIjogXCJhdWRpby9taWRpXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgcGF0aDogXCIvbWF5YmU/YmluPTYxXCIsXG4gICAgICByZXN1bHQ6IFwiYVwiLFxuICAgICAgcmVzdWx0SGVhZGVyczoge1xuICAgICAgICBcImNvbnRlbnQtdHlwZVwiOiBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgYWNjZXB0OiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgIH0sXG4gICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICBwYXRoOiBcIi9tYXliZT9iaW49NjFcIixcbiAgICAgIHJlc3VsdDogJ1wiWVE9PVwiJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICBwYXRoOiBcIi9tYXliZVwiLFxuICAgICAgcmVzdWx0OiBcIlwiLFxuICAgICAgc3RhdHVzQ29kZTogMjA0LFxuICAgIH0sXG4gICAge1xuICAgICAgZGF0YTogXCI2MVwiLFxuICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgIHBhdGg6IFwiL21heWJlXCIsXG4gICAgICByZXN1bHQ6IFwiYVwiLFxuICAgICAgcmVzdWx0SGVhZGVyczoge1xuICAgICAgICBcImNvbnRlbnQtdHlwZVwiOiBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGRhdGE6IFwiYVwiLFxuICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgIHBhdGg6IFwiL2hleFwiLFxuICAgICAgcmVzdWx0OiBcIjYxXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBkYXRhOiBge1widmFsXCI6MTV9YCxcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICBwYXRoOiBcIi9vYmpcIixcbiAgICAgIHJlc3VsdDogYHtcInZhbFwiOjE1fWAsXG4gICAgICByZXN1bHRIZWFkZXJzOiB7XG4gICAgICAgIFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGRhdGE6IGB7XCJ2YWxcIjowfWAsXG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgcGF0aDogXCIvb2JqXCIsXG4gICAgICByZXN1bHQ6IGB7XCJtZXNzYWdlXCI6XCJWYWx1ZSBpcyB6ZXJvIH4gRmF0YWxcIixcInR5cGVcIjpcIkZhdGFsXCJ9YCxcbiAgICAgIHJlc3VsdEhlYWRlcnM6IHtcbiAgICAgICAgXCJjb250ZW50LXR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICB9LFxuICAgICAgc3RhdHVzQ29kZTogNTAwLFxuICAgIH0sXG4gICAge1xuICAgICAgZGF0YTogYHtcInZhbFwiOi0xMDB9YCxcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICBwYXRoOiBcIi9vYmpcIixcbiAgICAgIHJlc3VsdDogYHtcIm1lc3NhZ2VcIjpcIlZhbHVlIGlzIC0xMDAgfiBUZXN0RXJyb3JcIixcInR5cGVcIjpcIlRlc3RFcnJvclwifWAsXG4gICAgICByZXN1bHRIZWFkZXJzOiB7XG4gICAgICAgIFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgfSxcbiAgICAgIHN0YXR1c0NvZGU6IDQwMCxcbiAgICB9LFxuICAgIHtcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICBwYXRoOiBcIi91cGxvYWRcIixcbiAgICAgIHJlc3VsdDogYFtdYCxcbiAgICAgIHJlc3VsdEhlYWRlcnM6IHtcbiAgICAgICAgXCJjb250ZW50LXR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICB9LFxuICAgICAgc3RhdHVzQ29kZTogMjAwLFxuICAgIH0sXG4gICAge1xuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgcGF0aDogXCIvaHRtbFwiLFxuICAgICAgcmVzdWx0OiBcIjxoMT5IZWxsbyB3b3JsZCE8L2gxPlwiLFxuICAgICAgcmVzdWx0SGVhZGVyczoge1xuICAgICAgICBcImNvbnRlbnQtdHlwZVwiOiBcInRleHQvaHRtbFwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgIHBhdGg6IFwiL3htbFwiLFxuICAgICAgcmVzdWx0OiBcIjxoMT5IZWxsbyB3b3JsZCE8L2gxPlwiLFxuICAgICAgcmVzdWx0SGVhZGVyczoge1xuICAgICAgICBcImNvbnRlbnQtdHlwZVwiOiBcInRleHQveG1sXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgcGF0aDogXCIvZm9vL2hhaGEvaGVsbG9cIixcbiAgICAgIHJlc3VsdDogXCJoYWhhXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICBwYXRoOiBcIi9mb28vYmFyaGFoYS9oZWxsb1wiLFxuICAgICAgcmVzdWx0OiBcImhhaGFcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgIHBhdGg6IFwiL2Zvby9iYXIvaGVsbG9cIixcbiAgICAgIHJlc3VsdDogXCJiYXJcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgIHBhdGg6IFwiL2Zvby9iYXovaGVsbG9cIixcbiAgICAgIHJlc3VsdDogXCJuby1hcmdcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgIHBhdGg6IFwiL2Zvby9oYWhhL2hlbGxvL2hlaGUvd29ybGRcIixcbiAgICAgIHJlc3VsdDogXCJoYWhhaGVoZVwiLFxuICAgIH0sXG4gICAge1xuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgcGF0aDogXCIvZm9vL2JhcmhhaGEvaGVsbG8vYmFyaGVoZS93b3JsZFwiLFxuICAgICAgcmVzdWx0OiBcImhhaGFoZWhlXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICBwYXRoOiBcIi9mb28vYmFyL2hlbGxvL2Jhci93b3JsZFwiLFxuICAgICAgcmVzdWx0OiBcImJhcmJhclwiLFxuICAgIH0sXG4gICAgKCgpID0+IHtcbiAgICAgIGNvbnN0IGZvcm0gPSBuZXcgRm9ybURhdGEoKTtcblxuICAgICAgZm9ybS5hcHBlbmQoXCJmaWxlXCIsIEJ1ZmZlci5mcm9tKFwiSGVsbG9cIiksIFwidGVzdC50eHRcIik7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRhOiBmb3JtLmdldEJ1ZmZlcigpLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgLi4uZm9ybS5nZXRIZWFkZXJzKCksXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIgYXMgY29uc3QsXG4gICAgICAgIHBhdGg6IFwiL3VwbG9hZFwiLFxuICAgICAgICByZXN1bHQ6IGBbe1wibmFtZVwiOlwidGVzdC50eHRcIixcImRhdGFcIjpcIlNHVnNiRzg9XCJ9XWAsXG4gICAgICAgIHJlc3VsdEhlYWRlcnM6IHtcbiAgICAgICAgICBcImNvbnRlbnQtdHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgfSxcbiAgICAgICAgc3RhdHVzQ29kZTogMjAwLFxuICAgICAgfTtcbiAgICB9KSgpLFxuICBdO1xuXG4gIGZvciAoY29uc3QgeyBtZXRob2QsIHBhdGgsIHJlc3VsdCwgaGVhZGVycywgZGF0YSwgc3RhdHVzQ29kZSwgcmVzdWx0SGVhZGVycyB9IG9mIHRhYmxlKSB7XG4gICAgdGVzdChgJHttZXRob2R9ICR7cGF0aH0ke2hlYWRlcnMgPyBgIHdpdGggaGVhZGVycyAke0pTT04uc3RyaW5naWZ5KGhlYWRlcnMpfWAgOiBcIlwifWAsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucmVxdWVzdCh7XG4gICAgICAgIGRhdGEsXG4gICAgICAgIGhlYWRlcnMsXG4gICAgICAgIG1ldGhvZCxcbiAgICAgICAgdHJhbnNmb3JtUmVzcG9uc2U6IFt4ID0+IHhdLFxuICAgICAgICB1cmw6IGBodHRwOi8vbG9jYWxob3N0OjgwMDEke3BhdGh9YCxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXM6ICgpID0+IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHJlc3BvbnNlLmRhdGEpLnRvRXF1YWwocmVzdWx0KTtcbiAgICAgIGV4cGVjdChyZXNwb25zZS5zdGF0dXMpLnRvRXF1YWwoc3RhdHVzQ29kZSA/PyAyMDApO1xuICAgICAgZXhwZWN0KHJlc3BvbnNlLmhlYWRlcnMpLnRvTWF0Y2hPYmplY3QocmVzdWx0SGVhZGVycyA/PyB7fSk7XG4gICAgfSk7XG4gIH1cbn0pO1xuIl19
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
3
|
/* eslint-disable @typescript-eslint/require-await */
|
|
2
4
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
3
5
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
@@ -6,24 +8,22 @@
|
|
|
6
8
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
7
9
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
8
10
|
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
const { api, CustomError } = await import(`${__dirname}/errors-api.ts`);
|
|
18
|
-
unlinkSync(`${__dirname}/errors-api.ts`);
|
|
11
|
+
const fs_1 = require("fs");
|
|
12
|
+
const parser_1 = require("@sdkgen/parser");
|
|
13
|
+
const typescript_generator_1 = require("@sdkgen/typescript-generator");
|
|
14
|
+
const src_1 = require("../../src");
|
|
15
|
+
const ast = new parser_1.Parser(`${__dirname}/api.sdkgen`).parse();
|
|
16
|
+
(0, fs_1.writeFileSync)(`${__dirname}/errors-api.ts`, (0, typescript_generator_1.generateNodeServerSource)(ast).replace(/@sdkgen\/node-runtime/gu, "../../src"));
|
|
17
|
+
const { api, CustomError } = require(`${__dirname}/errors-api.ts`);
|
|
18
|
+
(0, fs_1.unlinkSync)(`${__dirname}/errors-api.ts`);
|
|
19
19
|
api.fn.throwCustomError = async (_ctx, args) => {
|
|
20
20
|
throw new CustomError("Some message", args);
|
|
21
21
|
};
|
|
22
|
-
writeFileSync(`${__dirname}/errors-nodeClient.ts`, generateNodeClientSource(ast).replace(/@sdkgen\/node-runtime/gu, "../../src"));
|
|
23
|
-
const { ApiClient: NodeApiClient } =
|
|
24
|
-
unlinkSync(`${__dirname}/errors-nodeClient.ts`);
|
|
22
|
+
(0, fs_1.writeFileSync)(`${__dirname}/errors-nodeClient.ts`, (0, typescript_generator_1.generateNodeClientSource)(ast).replace(/@sdkgen\/node-runtime/gu, "../../src"));
|
|
23
|
+
const { ApiClient: NodeApiClient } = require(`${__dirname}/errors-nodeClient.ts`);
|
|
24
|
+
(0, fs_1.unlinkSync)(`${__dirname}/errors-nodeClient.ts`);
|
|
25
25
|
const nodeClient = new NodeApiClient("http://localhost:35437");
|
|
26
|
-
const server = new SdkgenHttpServer(api, {});
|
|
26
|
+
const server = new src_1.SdkgenHttpServer(api, {});
|
|
27
27
|
describe("Errors", () => {
|
|
28
28
|
beforeAll(async () => {
|
|
29
29
|
await server.listen(35437);
|
|
@@ -41,4 +41,3 @@ describe("Errors", () => {
|
|
|
41
41
|
});
|
|
42
42
|
});
|
|
43
43
|
});
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcGVjL3J1bnRpbWUvZXJyb3JzLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscURBQXFEO0FBQ3JELHdEQUF3RDtBQUN4RCx5REFBeUQ7QUFDekQsMERBQTBEO0FBQzFELHVEQUF1RDtBQUN2RCw0REFBNEQ7QUFDNUQsK0RBQStEO0FBQy9ELHNEQUFzRDtBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUVwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFL0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxTQUFTLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUV4RSxhQUFhLENBQUMsR0FBRyxTQUFTLGdCQUFnQixFQUFFLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0FBQzNILE1BQU0sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxTQUFTLGdCQUFnQixDQUFDLENBQUM7QUFFeEUsVUFBVSxDQUFDLEdBQUcsU0FBUyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRXpDLEdBQUcsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLElBQWEsRUFBRSxJQUF1QixFQUFFLEVBQUU7SUFDekUsTUFBTSxJQUFJLFdBQVcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDO0FBRUYsYUFBYSxDQUFDLEdBQUcsU0FBUyx1QkFBdUIsRUFBRSx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUNsSSxNQUFNLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsU0FBUyx1QkFBdUIsQ0FBQyxDQUFDO0FBRXZGLFVBQVUsQ0FBQyxHQUFHLFNBQVMsdUJBQXVCLENBQUMsQ0FBQztBQUNoRCxNQUFNLFVBQVUsR0FBRyxJQUFJLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBRS9ELE1BQU0sTUFBTSxHQUFHLElBQUksZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRTdDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO0lBQ3RCLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNuQixNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbEIsTUFBTSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDN0MsTUFBTSxNQUFNLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUNwRixJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLEdBQUc7YUFDWDtZQUNELE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLElBQUksRUFBRSxhQUFhO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVxdWlyZS1hd2FpdCAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1yZXR1cm4gKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0cyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3MgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtY2FsbCAqL1xuaW1wb3J0IHsgcmVhZEZpbGVTeW5jLCB1bmxpbmtTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcInVybFwiO1xuXG5pbXBvcnQgeyBQYXJzZXIgfSBmcm9tIFwiQHNka2dlbi9wYXJzZXJcIjtcbmltcG9ydCB7IGdlbmVyYXRlTm9kZUNsaWVudFNvdXJjZSwgZ2VuZXJhdGVOb2RlU2VydmVyU291cmNlIH0gZnJvbSBcIkBzZGtnZW4vdHlwZXNjcmlwdC1nZW5lcmF0b3JcIjtcblxuaW1wb3J0IHR5cGUgeyBDb250ZXh0IH0gZnJvbSBcIi4uLy4uL3NyYy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgU2RrZ2VuSHR0cFNlcnZlciB9IGZyb20gXCIuLi8uLi9zcmMvaW5kZXguanNcIjtcblxuY29uc3QgX19kaXJuYW1lID0gZmlsZVVSTFRvUGF0aChuZXcgVVJMKFwiLlwiLCBpbXBvcnQubWV0YS51cmwpKTtcblxuY29uc3QgYXN0ID0gbmV3IFBhcnNlcihgJHtfX2Rpcm5hbWV9L2FwaS5zZGtnZW5gLCByZWFkRmlsZVN5bmMpLnBhcnNlKCk7XG5cbndyaXRlRmlsZVN5bmMoYCR7X19kaXJuYW1lfS9lcnJvcnMtYXBpLnRzYCwgZ2VuZXJhdGVOb2RlU2VydmVyU291cmNlKGFzdCkucmVwbGFjZSgvQHNka2dlblxcL25vZGUtcnVudGltZS9ndSwgXCIuLi8uLi9zcmNcIikpO1xuY29uc3QgeyBhcGksIEN1c3RvbUVycm9yIH0gPSBhd2FpdCBpbXBvcnQoYCR7X19kaXJuYW1lfS9lcnJvcnMtYXBpLnRzYCk7XG5cbnVubGlua1N5bmMoYCR7X19kaXJuYW1lfS9lcnJvcnMtYXBpLnRzYCk7XG5cbmFwaS5mbi50aHJvd0N1c3RvbUVycm9yID0gYXN5bmMgKF9jdHg6IENvbnRleHQsIGFyZ3M6IHsgdmFsdWU6IG51bWJlciB9KSA9PiB7XG4gIHRocm93IG5ldyBDdXN0b21FcnJvcihcIlNvbWUgbWVzc2FnZVwiLCBhcmdzKTtcbn07XG5cbndyaXRlRmlsZVN5bmMoYCR7X19kaXJuYW1lfS9lcnJvcnMtbm9kZUNsaWVudC50c2AsIGdlbmVyYXRlTm9kZUNsaWVudFNvdXJjZShhc3QpLnJlcGxhY2UoL0BzZGtnZW5cXC9ub2RlLXJ1bnRpbWUvZ3UsIFwiLi4vLi4vc3JjXCIpKTtcbmNvbnN0IHsgQXBpQ2xpZW50OiBOb2RlQXBpQ2xpZW50IH0gPSBhd2FpdCBpbXBvcnQoYCR7X19kaXJuYW1lfS9lcnJvcnMtbm9kZUNsaWVudC50c2ApO1xuXG51bmxpbmtTeW5jKGAke19fZGlybmFtZX0vZXJyb3JzLW5vZGVDbGllbnQudHNgKTtcbmNvbnN0IG5vZGVDbGllbnQgPSBuZXcgTm9kZUFwaUNsaWVudChcImh0dHA6Ly9sb2NhbGhvc3Q6MzU0MzdcIik7XG5cbmNvbnN0IHNlcnZlciA9IG5ldyBTZGtnZW5IdHRwU2VydmVyKGFwaSwge30pO1xuXG5kZXNjcmliZShcIkVycm9yc1wiLCAoKSA9PiB7XG4gIGJlZm9yZUFsbChhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgc2VydmVyLmxpc3RlbigzNTQzNyk7XG4gIH0pO1xuXG4gIGFmdGVyQWxsKGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBzZXJ2ZXIuY2xvc2UoKTtcbiAgfSk7XG5cbiAgdGVzdChcIkVycm9ycyBhcmUgcGFzc2VkIGNvcnJlY3RseVwiLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgZXhwZWN0KG5vZGVDbGllbnQudGhyb3dDdXN0b21FcnJvcihudWxsLCB7IHZhbHVlOiAyMzUgfSkpLnJlamVjdHMudG9NYXRjaE9iamVjdCh7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIHZhbHVlOiAyMzUsXG4gICAgICB9LFxuICAgICAgbWVzc2FnZTogXCJTb21lIG1lc3NhZ2VcIixcbiAgICAgIHR5cGU6IFwiQ3VzdG9tRXJyb3JcIixcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
3
|
/* eslint-disable @typescript-eslint/require-await */
|
|
2
4
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
3
5
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
@@ -6,27 +8,25 @@
|
|
|
6
8
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
7
9
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
8
10
|
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
const { api } = await import(`${__dirname}/middleware-api.ts`);
|
|
18
|
-
unlinkSync(`${__dirname}/middleware-api.ts`);
|
|
11
|
+
const fs_1 = require("fs");
|
|
12
|
+
const parser_1 = require("@sdkgen/parser");
|
|
13
|
+
const typescript_generator_1 = require("@sdkgen/typescript-generator");
|
|
14
|
+
const src_1 = require("../../src");
|
|
15
|
+
const ast = new parser_1.Parser(`${__dirname}/api.sdkgen`).parse();
|
|
16
|
+
(0, fs_1.writeFileSync)(`${__dirname}/middleware-api.ts`, (0, typescript_generator_1.generateNodeServerSource)(ast).replace(/@sdkgen\/node-runtime/gu, "../../src"));
|
|
17
|
+
const { api } = require(`${__dirname}/middleware-api.ts`);
|
|
18
|
+
(0, fs_1.unlinkSync)(`${__dirname}/middleware-api.ts`);
|
|
19
19
|
api.fn.identity = async (_ctx, args) => {
|
|
20
20
|
return args.value;
|
|
21
21
|
};
|
|
22
22
|
api.fn.sum = async (_ctx, args) => {
|
|
23
23
|
return args.a + args.b;
|
|
24
24
|
};
|
|
25
|
-
writeFileSync(`${__dirname}/middleware-nodeClient.ts`, generateNodeClientSource(ast).replace(/@sdkgen\/node-runtime/gu, "../../src"));
|
|
26
|
-
const { ApiClient: NodeApiClient } =
|
|
27
|
-
unlinkSync(`${__dirname}/middleware-nodeClient.ts`);
|
|
25
|
+
(0, fs_1.writeFileSync)(`${__dirname}/middleware-nodeClient.ts`, (0, typescript_generator_1.generateNodeClientSource)(ast).replace(/@sdkgen\/node-runtime/gu, "../../src"));
|
|
26
|
+
const { ApiClient: NodeApiClient } = require(`${__dirname}/middleware-nodeClient.ts`);
|
|
27
|
+
(0, fs_1.unlinkSync)(`${__dirname}/middleware-nodeClient.ts`);
|
|
28
28
|
const nodeClient = new NodeApiClient("http://localhost:32542");
|
|
29
|
-
const server = new SdkgenHttpServer(api, {});
|
|
29
|
+
const server = new src_1.SdkgenHttpServer(api, {});
|
|
30
30
|
describe("Middleware", () => {
|
|
31
31
|
beforeAll(async () => {
|
|
32
32
|
await server.listen(32542);
|
|
@@ -98,4 +98,3 @@ describe("Middleware", () => {
|
|
|
98
98
|
api.middlewares.pop();
|
|
99
99
|
});
|
|
100
100
|
});
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3BlYy9ydW50aW1lL21pZGRsZXdhcmUuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFDckQsd0RBQXdEO0FBQ3hELHlEQUF5RDtBQUN6RCwwREFBMEQ7QUFDMUQsdURBQXVEO0FBQ3ZELDREQUE0RDtBQUM1RCwrREFBK0Q7QUFDL0Qsc0RBQXNEO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXBDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUUvRCxNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLFNBQVMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBRXhFLGFBQWEsQ0FBQyxHQUFHLFNBQVMsb0JBQW9CLEVBQUUsd0JBQXdCLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7QUFDL0gsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsU0FBUyxvQkFBb0IsQ0FBQyxDQUFDO0FBRS9ELFVBQVUsQ0FBQyxHQUFHLFNBQVMsb0JBQW9CLENBQUMsQ0FBQztBQUU3QyxHQUFH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SSxLQUFLLFVBQVUsRUFBRTtnQkFDbkMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUF5QixDQUFDO2dCQUV4RCxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRztvQkFDakIsQ0FBQyxFQUFFLEtBQUs7b0JBQ1IsQ0FBQyxFQUFFLEtBQUs7aUJBQ1QsQ0FBQzthQUNIO1lBRUQsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxNQUFNLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxNQUFNLENBQUMsTUFBTSxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTdELEdBQXFCLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzNDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVxdWlyZS1hd2FpdCAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1yZXR1cm4gKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0cyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3MgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtY2FsbCAqL1xuaW1wb3J0IHsgcmVhZEZpbGVTeW5jLCB1bmxpbmtTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcInVybFwiO1xuXG5pbXBvcnQgeyBQYXJzZXIgfSBmcm9tIFwiQHNka2dlbi9wYXJzZXJcIjtcbmltcG9ydCB7IGdlbmVyYXRlTm9kZUNsaWVudFNvdXJjZSwgZ2VuZXJhdGVOb2RlU2VydmVyU291cmNlIH0gZnJvbSBcIkBzZGtnZW4vdHlwZXNjcmlwdC1nZW5lcmF0b3JcIjtcblxuaW1wb3J0IHR5cGUgeyBCYXNlQXBpQ29uZmlnLCBDb250ZXh0IH0gZnJvbSBcIi4uLy4uL3NyYy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgU2RrZ2VuSHR0cFNlcnZlciB9IGZyb20gXCIuLi8uLi9zcmMvaW5kZXguanNcIjtcblxuY29uc3QgX19kaXJuYW1lID0gZmlsZVVSTFRvUGF0aChuZXcgVVJMKFwiLlwiLCBpbXBvcnQubWV0YS51cmwpKTtcblxuY29uc3QgYXN0ID0gbmV3IFBhcnNlcihgJHtfX2Rpcm5hbWV9L2FwaS5zZGtnZW5gLCByZWFkRmlsZVN5bmMpLnBhcnNlKCk7XG5cbndyaXRlRmlsZVN5bmMoYCR7X19kaXJuYW1lfS9taWRkbGV3YXJlLWFwaS50c2AsIGdlbmVyYXRlTm9kZVNlcnZlclNvdXJjZShhc3QpLnJlcGxhY2UoL0BzZGtnZW5cXC9ub2RlLXJ1bnRpbWUvZ3UsIFwiLi4vLi4vc3JjXCIpKTtcbmNvbnN0IHsgYXBpIH0gPSBhd2FpdCBpbXBvcnQoYCR7X19kaXJuYW1lfS9taWRkbGV3YXJlLWFwaS50c2ApO1xuXG51bmxpbmtTeW5jKGAke19fZGlybmFtZX0vbWlkZGxld2FyZS1hcGkudHNgKTtcblxuYXBpLmZuLmlkZW50aXR5ID0gYXN5bmMgKF9jdHg6IENvbnRleHQsIGFyZ3M6IHsgdmFsdWU6IG51bWJlciB9KSA9PiB7XG4gIHJldHVybiBhcmdzLnZhbHVlO1xufTtcblxuYXBpLmZuLnN1bSA9IGFzeW5jIChfY3R4OiBDb250ZXh0LCBhcmdzOiB7IGE6IG51bWJlcjsgYjogbnVtYmVyIH0pID0+IHtcbiAgcmV0dXJuIGFyZ3MuYSArIGFyZ3MuYjtcbn07XG5cbndyaXRlRmlsZVN5bmMoYCR7X19kaXJuYW1lfS9taWRkbGV3YXJlLW5vZGVDbGllbnQudHNgLCBnZW5lcmF0ZU5vZGVDbGllbnRTb3VyY2UoYXN0KS5yZXBsYWNlKC9Ac2RrZ2VuXFwvbm9kZS1ydW50aW1lL2d1LCBcIi4uLy4uL3NyY1wiKSk7XG5jb25zdCB7IEFwaUNsaWVudDogTm9kZUFwaUNsaWVudCB9ID0gYXdhaXQgaW1wb3J0KGAke19fZGlybmFtZX0vbWlkZGxld2FyZS1ub2RlQ2xpZW50LnRzYCk7XG5cbnVubGlua1N5bmMoYCR7X19kaXJuYW1lfS9taWRkbGV3YXJlLW5vZGVDbGllbnQudHNgKTtcbmNvbnN0IG5vZGVDbGllbnQgPSBuZXcgTm9kZUFwaUNsaWVudChcImh0dHA6Ly9sb2NhbGhvc3Q6MzI1NDJcIik7XG5cbmNvbnN0IHNlcnZlciA9IG5ldyBTZGtnZW5IdHRwU2VydmVyKGFwaSwge30pO1xuXG5kZXNjcmliZShcIk1pZGRsZXdhcmVcIiwgKCkgPT4ge1xuICBiZWZvcmVBbGwoYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHNlcnZlci5saXN0ZW4oMzI1NDIpO1xuICB9KTtcblxuICBhZnRlckFsbChhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgc2VydmVyLmNsb3NlKCk7XG4gIH0pO1xuXG4gIHRlc3QoXCJBIHNpbmdsZSBtaWRkZXdhcmUgY2FuIGludGVyY2VwdCBjYWxsc1wiLCBhc3luYyAoKSA9PiB7XG4gICAgZXhwZWN0KGF3YWl0IG5vZGVDbGllbnQuaWRlbnRpdHkobnVsbCwgeyB2YWx1ZTogMSB9KSkudG9CZSgxKTtcbiAgICBleHBlY3QoYXdhaXQgbm9kZUNsaWVudC5pZGVudGl0eShudWxsLCB7IHZhbHVlOiAyIH0pKS50b0JlKDIpO1xuICAgIGV4cGVjdChhd2FpdCBub2RlQ2xpZW50LmlkZW50aXR5KG51bGwsIHsgdmFsdWU6IDMgfSkpLnRvQmUoMyk7XG5cbiAgICAoYXBpIGFzIEJhc2VBcGlDb25maWcpLnVzZShhc3luYyAoY3R4LCBuZXh0KSA9PiB7XG4gICAgICBpZiAoKGN0eC5yZXF1ZXN0LmFyZ3MgYXMgeyB2YWx1ZTogbnVtYmVyIH0pLnZhbHVlID09PSAyKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVzdWx0OiAxNyxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICB9KTtcblxuICAgIGV4cGVjdChhd2FpdCBub2RlQ2xpZW50LmlkZW50aXR5KG51bGwsIHsgdmFsdWU6IDEgfSkpLnRvQmUoMSk7XG4gICAgZXhwZWN0KGF3YWl0IG5vZGVDbGllbnQuaWRlbnRpdHkobnVsbCwgeyB2YWx1ZTogMiB9KSkudG9CZSgxNyk7XG4gICAgZXhwZWN0KGF3YWl0IG5vZGVDbGllbnQuaWRlbnRpdHkobnVsbCwgeyB2YWx1ZTogMyB9KSkudG9CZSgzKTtcblxuICAgIChhcGkgYXMgQmFzZUFwaUNvbmZpZykubWlkZGxld2FyZXMucG9wKCk7XG4gIH0pO1xuXG4gIHRlc3QoXCJNdWx0aXBsZSBtaWRkbGV3YXJlcyBzdGFja1wiLCBhc3luYyAoKSA9PiB7XG4gICAgZXhwZWN0KGF3YWl0IG5vZGVDbGllbnQuaWRlbnRpdHkobnVsbCwgeyB2YWx1ZTogMSB9KSkudG9CZSgxKTtcbiAgICBleHBlY3QoYXdhaXQgbm9kZUNsaWVudC5pZGVudGl0eShudWxsLCB7IHZhbHVlOiAyIH0pKS50b0JlKDIpO1xuICAgIGV4cGVjdChhd2FpdCBub2RlQ2xpZW50LmlkZW50aXR5KG51bGwsIHsgdmFsdWU6IDMgfSkpLnRvQmUoMyk7XG5cbiAgICAoYXBpIGFzIEJhc2VBcGlDb25maWcpLnVzZShhc3luYyAoY3R4LCBuZXh0KSA9PiB7XG4gICAgICBpZiAoKGN0eC5yZXF1ZXN0LmFyZ3MgYXMgeyB2YWx1ZTogbnVtYmVyIH0pLnZhbHVlID09PSAyKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVzdWx0OiAxNyxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICB9KTtcblxuICAgIChhcGkgYXMgQmFzZUFwaUNvbmZpZykudXNlKGFzeW5jIChjdHgsIG5leHQpID0+IHtcbiAgICAgIGlmICgoY3R4LnJlcXVlc3QuYXJncyBhcyB7IHZhbHVlOiBudW1iZXIgfSkudmFsdWUgPCAzKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVzdWx0OiAxMCxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICB9KTtcblxuICAgIGV4cGVjdChhd2FpdCBub2RlQ2xpZW50LmlkZW50aXR5KG51bGwsIHsgdmFsdWU6IDEgfSkpLnRvQmUoMTApO1xuICAgIGV4cGVjdChhd2FpdCBub2RlQ2xpZW50LmlkZW50aXR5KG51bGwsIHsgdmFsdWU6IDIgfSkpLnRvQmUoMTcpO1xuICAgIGV4cGVjdChhd2FpdCBub2RlQ2xpZW50LmlkZW50aXR5KG51bGwsIHsgdmFsdWU6IDMgfSkpLnRvQmUoMyk7XG5cbiAgICAoYXBpIGFzIEJhc2VBcGlDb25maWcpLm1pZGRsZXdhcmVzLnBvcCgpO1xuICAgIChhcGkgYXMgQmFzZUFwaUNvbmZpZykubWlkZGxld2FyZXMucG9wKCk7XG4gIH0pO1xuXG4gIHRlc3QoXCJBIG1pZGRld2FyZSBjYW4gcmVkaXJlY3QgY2FsbHNcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGV4cGVjdChhd2FpdCBub2RlQ2xpZW50LmlkZW50aXR5KG51bGwsIHsgdmFsdWU6IDEgfSkpLnRvQmUoMSk7XG4gICAgZXhwZWN0KGF3YWl0IG5vZGVDbGllbnQuaWRlbnRpdHkobnVsbCwgeyB2YWx1ZTogMiB9KSkudG9CZSgyKTtcbiAgICBleHBlY3QoYXdhaXQgbm9kZUNsaWVudC5pZGVudGl0eShudWxsLCB7IHZhbHVlOiAzIH0pKS50b0JlKDMpO1xuXG4gICAgKGFwaSBhcyBCYXNlQXBpQ29uZmlnKS51c2UoYXN5bmMgKGN0eCwgbmV4dCkgPT4ge1xuICAgICAgaWYgKGN0eC5yZXF1ZXN0Lm5hbWUgPT09IFwiaWRlbnRpdHlcIikge1xuICAgICAgICBjdHgucmVxdWVzdC5uYW1lID0gXCJzdW1cIjtcbiAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gY3R4LnJlcXVlc3QuYXJncyBhcyB7IHZhbHVlOiBudW1iZXIgfTtcblxuICAgICAgICBjdHgucmVxdWVzdC5hcmdzID0ge1xuICAgICAgICAgIGE6IHZhbHVlLFxuICAgICAgICAgIGI6IHZhbHVlLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV4dCgpO1xuICAgIH0pO1xuXG4gICAgZXhwZWN0KGF3YWl0IG5vZGVDbGllbnQuaWRlbnRpdHkobnVsbCwgeyB2YWx1ZTogMSB9KSkudG9CZSgyKTtcbiAgICBleHBlY3QoYXdhaXQgbm9kZUNsaWVudC5pZGVudGl0eShudWxsLCB7IHZhbHVlOiAyIH0pKS50b0JlKDQpO1xuICAgIGV4cGVjdChhd2FpdCBub2RlQ2xpZW50LmlkZW50aXR5KG51bGwsIHsgdmFsdWU6IDMgfSkpLnRvQmUoNik7XG5cbiAgICAoYXBpIGFzIEJhc2VBcGlDb25maWcpLm1pZGRsZXdhcmVzLnBvcCgpO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -1,8 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.ApiClient = void 0;
|
|
1
27
|
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
28
|
+
const http = __importStar(require("http"));
|
|
29
|
+
const https = __importStar(require("https"));
|
|
30
|
+
const url_1 = require("url");
|
|
31
|
+
class ApiClient {
|
|
6
32
|
constructor(baseUrl = "https://", useStaging = false) {
|
|
7
33
|
this.baseUrl = baseUrl;
|
|
8
34
|
this.useStaging = useStaging;
|
|
@@ -50,7 +76,7 @@ export class ApiClient {
|
|
|
50
76
|
name: name,
|
|
51
77
|
args: args,
|
|
52
78
|
};
|
|
53
|
-
const url = new URL(this.baseUrl + (this.useStaging ? "-staging" : "") + "/" + name);
|
|
79
|
+
const url = new url_1.URL(this.baseUrl + (this.useStaging ? "-staging" : "") + "/" + name);
|
|
54
80
|
const options = {
|
|
55
81
|
hostname: url.hostname,
|
|
56
82
|
path: url.pathname,
|
|
@@ -99,4 +125,4 @@ export class ApiClient {
|
|
|
99
125
|
});
|
|
100
126
|
}
|
|
101
127
|
}
|
|
102
|
-
|
|
128
|
+
exports.ApiClient = ApiClient;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
6
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
7
|
/* eslint-disable @typescript-eslint/require-await */
|
|
3
8
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
@@ -7,20 +12,17 @@
|
|
|
7
12
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
8
13
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
9
14
|
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
writeFileSync(`${__dirname}/api.ts`, generateNodeServerSource(ast).replace(/@sdkgen\/node-runtime/gu, "../../src"));
|
|
22
|
-
const { api, SomeError } = await import(`${__dirname}/api.ts`);
|
|
23
|
-
unlinkSync(`${__dirname}/api.ts`);
|
|
15
|
+
const crypto_1 = require("crypto");
|
|
16
|
+
const fs_1 = require("fs");
|
|
17
|
+
const parser_1 = require("@sdkgen/parser");
|
|
18
|
+
const typescript_generator_1 = require("@sdkgen/typescript-generator");
|
|
19
|
+
const axios_1 = __importDefault(require("axios"));
|
|
20
|
+
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
21
|
+
const src_1 = require("../../src");
|
|
22
|
+
const ast = new parser_1.Parser(`${__dirname}/api.sdkgen`).parse();
|
|
23
|
+
(0, fs_1.writeFileSync)(`${__dirname}/api.ts`, (0, typescript_generator_1.generateNodeServerSource)(ast).replace(/@sdkgen\/node-runtime/gu, "../../src"));
|
|
24
|
+
const { api, SomeError } = require(`${__dirname}/api.ts`);
|
|
25
|
+
(0, fs_1.unlinkSync)(`${__dirname}/api.ts`);
|
|
24
26
|
let lastCallCtx = null;
|
|
25
27
|
api.fn.getUser = async (ctx, { id }) => {
|
|
26
28
|
lastCallCtx = ctx;
|
|
@@ -40,13 +42,13 @@ api.fn.decimalAdd = async (_ctx, { a, b }) => {
|
|
|
40
42
|
return a.add(b);
|
|
41
43
|
};
|
|
42
44
|
// ExecSync(`../../cubos/sdkgen/sdkgen ${__dirname + "/api.sdkgen"} -o ${__dirname + "/legacyNodeClient.ts"} -t typescript_nodeclient`);
|
|
43
|
-
const { ApiClient: NodeLegacyApiClient } =
|
|
45
|
+
const { ApiClient: NodeLegacyApiClient } = require(`${__dirname}/legacyNodeClient.ts`);
|
|
44
46
|
const nodeLegacyClient = new NodeLegacyApiClient("http://localhost:34367");
|
|
45
|
-
writeFileSync(`${__dirname}/nodeClient.ts`, generateNodeClientSource(ast).replace(/@sdkgen\/node-runtime/gu, "../../src"));
|
|
46
|
-
const { ApiClient: NodeApiClient } =
|
|
47
|
-
unlinkSync(`${__dirname}/nodeClient.ts`);
|
|
47
|
+
(0, fs_1.writeFileSync)(`${__dirname}/nodeClient.ts`, (0, typescript_generator_1.generateNodeClientSource)(ast).replace(/@sdkgen\/node-runtime/gu, "../../src"));
|
|
48
|
+
const { ApiClient: NodeApiClient } = require(`${__dirname}/nodeClient.ts`);
|
|
49
|
+
(0, fs_1.unlinkSync)(`${__dirname}/nodeClient.ts`);
|
|
48
50
|
const nodeClient = new NodeApiClient("http://localhost:34367");
|
|
49
|
-
const server = new SdkgenHttpServer(api, { aaa: true });
|
|
51
|
+
const server = new src_1.SdkgenHttpServer(api, { aaa: true });
|
|
50
52
|
describe("Simple API", () => {
|
|
51
53
|
beforeAll(async () => {
|
|
52
54
|
await server.listen(34367);
|
|
@@ -55,13 +57,13 @@ describe("Simple API", () => {
|
|
|
55
57
|
await server.close();
|
|
56
58
|
});
|
|
57
59
|
test("Healthcheck on 'GET /' only", async () => {
|
|
58
|
-
expect(await
|
|
59
|
-
await expect(
|
|
60
|
+
expect(await axios_1.default.get("http://localhost:34367/")).toMatchObject({ data: { ok: true } });
|
|
61
|
+
await expect(axios_1.default.get("http://localhost:34367/egesg")).rejects.toThrowError();
|
|
60
62
|
});
|
|
61
63
|
test("Can get ast.json at runtime", async () => {
|
|
62
|
-
expect(await
|
|
64
|
+
expect(await axios_1.default.get("http://localhost:34367/ast.json")).toMatchObject({ data: (0, parser_1.astToJson)(ast) });
|
|
63
65
|
server.introspection = false;
|
|
64
|
-
await expect(
|
|
66
|
+
await expect(axios_1.default.get("http://localhost:34367/ast.json")).rejects.toThrowError();
|
|
65
67
|
});
|
|
66
68
|
test("Can make a call from legacy node client", async () => {
|
|
67
69
|
expect(await nodeLegacyClient.getUser("abc")).toEqual({ age: 1, name: "abc" });
|
|
@@ -80,7 +82,7 @@ describe("Simple API", () => {
|
|
|
80
82
|
arrayOfOptionals: [1, null, 3],
|
|
81
83
|
base64: "SGVsbG8K",
|
|
82
84
|
bool: true,
|
|
83
|
-
bytes: randomBytes(23),
|
|
85
|
+
bytes: (0, crypto_1.randomBytes)(23),
|
|
84
86
|
date: new Date(2019, 12, 3),
|
|
85
87
|
datetime: new Date(),
|
|
86
88
|
enum: "aa",
|
|
@@ -105,8 +107,7 @@ describe("Simple API", () => {
|
|
|
105
107
|
});
|
|
106
108
|
});
|
|
107
109
|
test("Can handle decimals", async () => {
|
|
108
|
-
const result = await nodeClient.decimalAdd(null, { a: new
|
|
109
|
-
expect(result.eq(new
|
|
110
|
+
const result = await nodeClient.decimalAdd(null, { a: new decimal_js_1.default("0.1"), b: new decimal_js_1.default("0.2") });
|
|
111
|
+
expect(result.eq(new decimal_js_1.default("0.3"))).toEqual(true);
|
|
110
112
|
});
|
|
111
113
|
});
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcGVjL3NpbXBsZS9zaW1wbGUuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQscURBQXFEO0FBQ3JELHdEQUF3RDtBQUN4RCx5REFBeUQ7QUFDekQsMERBQTBEO0FBQzFELHVEQUF1RDtBQUN2RCw0REFBNEQ7QUFDNUQsK0RBQStEO0FBQy9ELHNEQUFzRDtBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLElBQUksQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXBDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEcsa0NBQWtDO0FBQ2xDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBR3JDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRS9ELE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsU0FBUyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7QUFFeEUsYUFBYSxDQUFDLEdBQUcsU0FBUyxTQUFTLEVBQUUsd0JBQXdCLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7QUFDcEgsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLFNBQVMsU0FBUyxDQUFDLENBQUM7QUFFL0QsVUFBVSxDQUFDLEdBQUcsU0FBUyxTQUFTLENBQUMsQ0FBQztBQUVsQyxJQUFJLFdBQVcsR0FBK0IsSUFBVyxDQUFDO0FBRTFELEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHLEtBQUssRUFBRSxHQUErQixFQUFFLEVBQUUsRUFBRSxFQUFrQixFQUFFLEVBQUU7SUFDakYsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNsQixPQUFPO1FBQ0wsR0FBRyxFQUFFLENBQUM7UUFDTixJQUFJLEVBQUUsRUFBRTtLQUNULENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxLQUFLLEVBQUUsR0FBK0IsRUFBRSxFQUFFLEtBQUssRUFBa0IsRUFBRSxFQUFFO0lBQ3JGLFdBQVcsR0FBRyxHQUFHLENBQUM7SUFDbEIsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRixHQUFHLENBQUMsRUFBRSxDQUFDLFdBQVcsR0FBRyxLQUFLLElBQUksRUFBRTtJQUM5QixNQUFNLElBQUksU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FBQztBQUVGLEdBQUcsQ0FBQyxFQUFFLENBQUMsVUFBVSxHQUFHLEtBQUssRUFBRSxJQUFhLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUE4QixFQUFFLEVBQUU7SUFDaEYsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLHdJQUF3STtBQUN4SSxNQUFNLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxTQUFTLHNCQUFzQixDQUFDLENBQUM7QUFDNUYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLG1CQUFtQixDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFFM0UsYUFBYSxDQUFDLEdBQUcsU0FBUyxnQkFBZ0IsRUFBRSx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUMzSCxNQUFNLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsU0FBUyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRWhGLFVBQVUsQ0FBQyxHQUFHLFNBQVMsZ0JBQWdCLENBQUMsQ0FBQztBQUN6QyxNQUFNLFVBQVUsR0FBRyxJQUFJLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBRS9ELE1BQU0sTUFBTSxHQUFHLElBQUksZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFFeEQsUUFBUSxDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7SUFDMUIsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ25CLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNsQixNQUFNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyw2QkFBNkIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM3QyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqRixDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyw2QkFBNkIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM3QyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRyxNQUFNLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUM3QixNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEYsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMseUNBQXlDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMvRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRWpGLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzdGLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLHdDQUF3QyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3hELE1BQU0sQ0FBQyxNQUFNLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXpGLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQy9GLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLG1DQUFtQyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ25ELE1BQU0sS0FBSyxHQUFHO1lBQ1osS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEIsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM5QixNQUFNLEVBQUUsVUFBVTtZQUNsQixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3RCLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQixRQUFRLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDcEIsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsT0FBTztZQUNkLEdBQUcsRUFBRSxVQUFVO1lBQ2YsR0FBRyxFQUFFLENBQUMsRUFBRTtZQUNSLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDN0IsS0FBSyxFQUFFLEdBQUc7WUFDVixTQUFTLEVBQUUsSUFBSTtZQUNmLFNBQVMsRUFBRSxJQUFJO1lBQ2YsTUFBTSxFQUFFLFdBQVc7WUFDbkIsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUNsQixJQUFJLEVBQUUsR0FBRztZQUNULElBQUksRUFBRSxzQ0FBc0M7U0FDN0MsQ0FBQztRQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksQ0FBQyw2QkFBNkIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM3QyxNQUFNLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDbkUsT0FBTyxFQUFFLGNBQWM7WUFDdkIsSUFBSSxFQUFFLFdBQVc7U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMscUJBQXFCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDckMsTUFBTSxNQUFNLEdBQUcsTUFBTSxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRW5HLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXJldHVybiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFzc2lnbm1lbnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtbWVtYmVyLWFjY2VzcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1jYWxsICovXG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gXCJjcnlwdG9cIjtcbmltcG9ydCB7IHJlYWRGaWxlU3luYywgdW5saW5rU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gXCJ1cmxcIjtcblxuaW1wb3J0IHsgYXN0VG9Kc29uLCBQYXJzZXIgfSBmcm9tIFwiQHNka2dlbi9wYXJzZXJcIjtcbmltcG9ydCB7IGdlbmVyYXRlTm9kZUNsaWVudFNvdXJjZSwgZ2VuZXJhdGVOb2RlU2VydmVyU291cmNlIH0gZnJvbSBcIkBzZGtnZW4vdHlwZXNjcmlwdC1nZW5lcmF0b3JcIjtcbi8vIGltcG9ydCAqIGFzIGF4aW9zIGZyb20gXCJheGlvc1wiO1xuaW1wb3J0IGF4aW9zIGZyb20gXCJheGlvc1wiO1xuaW1wb3J0IHsgRGVjaW1hbCB9IGZyb20gXCJkZWNpbWFsLmpzXCI7XG5cbmltcG9ydCB0eXBlIHsgQ29udGV4dCB9IGZyb20gXCIuLi8uLi9zcmMvaW5kZXguanNcIjtcbmltcG9ydCB7IFNka2dlbkh0dHBTZXJ2ZXIgfSBmcm9tIFwiLi4vLi4vc3JjL2luZGV4LmpzXCI7XG5cbmNvbnN0IF9fZGlybmFtZSA9IGZpbGVVUkxUb1BhdGgobmV3IFVSTChcIi5cIiwgaW1wb3J0Lm1ldGEudXJsKSk7XG5cbmNvbnN0IGFzdCA9IG5ldyBQYXJzZXIoYCR7X19kaXJuYW1lfS9hcGkuc2RrZ2VuYCwgcmVhZEZpbGVTeW5jKS5wYXJzZSgpO1xuXG53cml0ZUZpbGVTeW5jKGAke19fZGlybmFtZX0vYXBpLnRzYCwgZ2VuZXJhdGVOb2RlU2VydmVyU291cmNlKGFzdCkucmVwbGFjZSgvQHNka2dlblxcL25vZGUtcnVudGltZS9ndSwgXCIuLi8uLi9zcmNcIikpO1xuY29uc3QgeyBhcGksIFNvbWVFcnJvciB9ID0gYXdhaXQgaW1wb3J0KGAke19fZGlybmFtZX0vYXBpLnRzYCk7XG5cbnVubGlua1N5bmMoYCR7X19kaXJuYW1lfS9hcGkudHNgKTtcblxubGV0IGxhc3RDYWxsQ3R4OiBDb250ZXh0ICYgeyBhYWE6IGJvb2xlYW4gfSA9IG51bGwgYXMgYW55O1xuXG5hcGkuZm4uZ2V0VXNlciA9IGFzeW5jIChjdHg6IENvbnRleHQgJiB7IGFhYTogYm9vbGVhbiB9LCB7IGlkIH06IHsgaWQ6IHN0cmluZyB9KSA9PiB7XG4gIGxhc3RDYWxsQ3R4ID0gY3R4O1xuICByZXR1cm4ge1xuICAgIGFnZTogMSxcbiAgICBuYW1lOiBpZCxcbiAgfTtcbn07XG5cbmFwaS5mbi5pZGVudGl0eSA9IGFzeW5jIChjdHg6IENvbnRleHQgJiB7IGFhYTogYm9vbGVhbiB9LCB7IHR5cGVzIH06IHsgdHlwZXM6IGFueSB9KSA9PiB7XG4gIGxhc3RDYWxsQ3R4ID0gY3R4O1xuICByZXR1cm4gdHlwZXM7XG59O1xuXG5hcGkuZm4udGhyb3dzRXJyb3IgPSBhc3luYyAoKSA9PiB7XG4gIHRocm93IG5ldyBTb21lRXJyb3IoXCJTb21lIG1lc3NhZ2VcIik7XG59O1xuXG5hcGkuZm4uZGVjaW1hbEFkZCA9IGFzeW5jIChfY3R4OiBDb250ZXh0LCB7IGEsIGIgfTogeyBhOiBEZWNpbWFsOyBiOiBEZWNpbWFsIH0pID0+IHtcbiAgcmV0dXJuIGEuYWRkKGIpO1xufTtcblxuLy8gRXhlY1N5bmMoYC4uLy4uL2N1Ym9zL3Nka2dlbi9zZGtnZW4gJHtfX2Rpcm5hbWUgKyBcIi9hcGkuc2RrZ2VuXCJ9IC1vICR7X19kaXJuYW1lICsgXCIvbGVnYWN5Tm9kZUNsaWVudC50c1wifSAtdCB0eXBlc2NyaXB0X25vZGVjbGllbnRgKTtcbmNvbnN0IHsgQXBpQ2xpZW50OiBOb2RlTGVnYWN5QXBpQ2xpZW50IH0gPSBhd2FpdCBpbXBvcnQoYCR7X19kaXJuYW1lfS9sZWdhY3lOb2RlQ2xpZW50LnRzYCk7XG5jb25zdCBub2RlTGVnYWN5Q2xpZW50ID0gbmV3IE5vZGVMZWdhY3lBcGlDbGllbnQoXCJodHRwOi8vbG9jYWxob3N0OjM0MzY3XCIpO1xuXG53cml0ZUZpbGVTeW5jKGAke19fZGlybmFtZX0vbm9kZUNsaWVudC50c2AsIGdlbmVyYXRlTm9kZUNsaWVudFNvdXJjZShhc3QpLnJlcGxhY2UoL0BzZGtnZW5cXC9ub2RlLXJ1bnRpbWUvZ3UsIFwiLi4vLi4vc3JjXCIpKTtcbmNvbnN0IHsgQXBpQ2xpZW50OiBOb2RlQXBpQ2xpZW50IH0gPSBhd2FpdCBpbXBvcnQoYCR7X19kaXJuYW1lfS9ub2RlQ2xpZW50LnRzYCk7XG5cbnVubGlua1N5bmMoYCR7X19kaXJuYW1lfS9ub2RlQ2xpZW50LnRzYCk7XG5jb25zdCBub2RlQ2xpZW50ID0gbmV3IE5vZGVBcGlDbGllbnQoXCJodHRwOi8vbG9jYWxob3N0OjM0MzY3XCIpO1xuXG5jb25zdCBzZXJ2ZXIgPSBuZXcgU2RrZ2VuSHR0cFNlcnZlcihhcGksIHsgYWFhOiB0cnVlIH0pO1xuXG5kZXNjcmliZShcIlNpbXBsZSBBUElcIiwgKCkgPT4ge1xuICBiZWZvcmVBbGwoYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IHNlcnZlci5saXN0ZW4oMzQzNjcpO1xuICB9KTtcblxuICBhZnRlckFsbChhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgc2VydmVyLmNsb3NlKCk7XG4gIH0pO1xuXG4gIHRlc3QoXCJIZWFsdGhjaGVjayBvbiAnR0VUIC8nIG9ubHlcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGV4cGVjdChhd2FpdCBheGlvcy5nZXQoXCJodHRwOi8vbG9jYWxob3N0OjM0MzY3L1wiKSkudG9NYXRjaE9iamVjdCh7IGRhdGE6IHsgb2s6IHRydWUgfSB9KTtcbiAgICBhd2FpdCBleHBlY3QoYXhpb3MuZ2V0KFwiaHR0cDovL2xvY2FsaG9zdDozNDM2Ny9lZ2VzZ1wiKSkucmVqZWN0cy50b1Rocm93RXJyb3IoKTtcbiAgfSk7XG5cbiAgdGVzdChcIkNhbiBnZXQgYXN0Lmpzb24gYXQgcnVudGltZVwiLCBhc3luYyAoKSA9PiB7XG4gICAgZXhwZWN0KGF3YWl0IGF4aW9zLmdldChcImh0dHA6Ly9sb2NhbGhvc3Q6MzQzNjcvYXN0Lmpzb25cIikpLnRvTWF0Y2hPYmplY3QoeyBkYXRhOiBhc3RUb0pzb24oYXN0KSB9KTtcbiAgICBzZXJ2ZXIuaW50cm9zcGVjdGlvbiA9IGZhbHNlO1xuICAgIGF3YWl0IGV4cGVjdChheGlvcy5nZXQoXCJodHRwOi8vbG9jYWxob3N0OjM0MzY3L2FzdC5qc29uXCIpKS5yZWplY3RzLnRvVGhyb3dFcnJvcigpO1xuICB9KTtcblxuICB0ZXN0KFwiQ2FuIG1ha2UgYSBjYWxsIGZyb20gbGVnYWN5IG5vZGUgY2xpZW50XCIsIGFzeW5jICgpID0+IHtcbiAgICBleHBlY3QoYXdhaXQgbm9kZUxlZ2FjeUNsaWVudC5nZXRVc2VyKFwiYWJjXCIpKS50b0VxdWFsKHsgYWdlOiAxLCBuYW1lOiBcImFiY1wiIH0pO1xuICAgIGV4cGVjdChhd2FpdCBub2RlTGVnYWN5Q2xpZW50LmdldFVzZXIoXCI1aGRyXCIpKS50b0VxdWFsKHsgYWdlOiAxLCBuYW1lOiBcIjVoZHJcIiB9KTtcblxuICAgIGV4cGVjdChsYXN0Q2FsbEN0eC5yZXF1ZXN0KS50b01hdGNoT2JqZWN0KHsgZGV2aWNlSW5mbzogeyB0eXBlOiBcIm5vZGVcIiB9LCBuYW1lOiBcImdldFVzZXJcIiB9KTtcbiAgICBleHBlY3QobGFzdENhbGxDdHguYWFhKS50b0JlKHRydWUpO1xuICB9KTtcblxuICB0ZXN0KFwiQ2FuIG1ha2UgYSBjYWxsIGZyb20gbmV3ZXIgbm9kZSBjbGllbnRcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGV4cGVjdChhd2FpdCBub2RlQ2xpZW50LmdldFVzZXIobnVsbCwgeyBpZDogXCJhYmNcIiB9KSkudG9FcXVhbCh7IGFnZTogMSwgbmFtZTogXCJhYmNcIiB9KTtcbiAgICBleHBlY3QoYXdhaXQgbm9kZUNsaWVudC5nZXRVc2VyKG51bGwsIHsgaWQ6IFwiNWhkclwiIH0pKS50b0VxdWFsKHsgYWdlOiAxLCBuYW1lOiBcIjVoZHJcIiB9KTtcblxuICAgIGV4cGVjdChsYXN0Q2FsbEN0eC5yZXF1ZXN0KS50b01hdGNoT2JqZWN0KHsgZGV2aWNlSW5mbzogeyB0eXBlOiBcIm5vZGVcIiB9LCBuYW1lOiBcImdldFVzZXJcIiB9KTtcbiAgfSk7XG5cbiAgdGVzdChcIkNhbiBwcm9jZXNzIGFsbCB0eXBlcyBhcyBpZGVudGl0eVwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgdHlwZXMgPSB7XG4gICAgICBhcnJheTogWzEsIDIsIDNdLFxuICAgICAgYXJyYXlPZk9wdGlvbmFsczogWzEsIG51bGwsIDNdLFxuICAgICAgYmFzZTY0OiBcIlNHVnNiRzhLXCIsXG4gICAgICBib29sOiB0cnVlLFxuICAgICAgYnl0ZXM6IHJhbmRvbUJ5dGVzKDIzKSxcbiAgICAgIGRhdGU6IG5ldyBEYXRlKDIwMTksIDEyLCAzKSxcbiAgICAgIGRhdGV0aW1lOiBuZXcgRGF0ZSgpLFxuICAgICAgZW51bTogXCJhYVwiLFxuICAgICAgZmxvYXQ6IDIyMjM1LjYsXG4gICAgICBoZXg6IFwiZjg0YzRkMjBcIixcbiAgICAgIGludDogLTI1LFxuICAgICAganNvbjogW3sgYTogMjMsIGI6IFwib2RjYnVcIiB9XSxcbiAgICAgIG1vbmV5OiAzNTYsXG4gICAgICBvcHRpb25hbDE6IG51bGwsXG4gICAgICBvcHRpb25hbDI6IDI1MjUsXG4gICAgICBzdHJpbmc6IFwiZWZ2cmVnYXJlXCIsXG4gICAgICBzdHJ1Y3Q6IHsgYWE6IDQyIH0sXG4gICAgICB1aW50OiAyNDMsXG4gICAgICB1dWlkOiBcImY4NGM0ZDIwLWVlZDgtNDAwNC1iMjM2LTc0YWFhNzFmYmVjYVwiLFxuICAgIH07XG5cbiAgICBleHBlY3QoYXdhaXQgbm9kZUNsaWVudC5pZGVudGl0eShudWxsLCB7IHR5cGVzIH0pKS50b0VxdWFsKHR5cGVzKTtcbiAgfSk7XG5cbiAgdGVzdChcIkVycm9ycyBhcmUgcGFzc2VkIGNvcnJlY3RseVwiLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgZXhwZWN0KG5vZGVDbGllbnQudGhyb3dzRXJyb3IobnVsbCwge30pKS5yZWplY3RzLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgbWVzc2FnZTogXCJTb21lIG1lc3NhZ2VcIixcbiAgICAgIHR5cGU6IFwiU29tZUVycm9yXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIHRlc3QoXCJDYW4gaGFuZGxlIGRlY2ltYWxzXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBub2RlQ2xpZW50LmRlY2ltYWxBZGQobnVsbCwgeyBhOiBuZXcgRGVjaW1hbChcIjAuMVwiKSwgYjogbmV3IERlY2ltYWwoXCIwLjJcIikgfSk7XG5cbiAgICBleHBlY3QocmVzdWx0LmVxKG5ldyBEZWNpbWFsKFwiMC4zXCIpKSkudG9FcXVhbCh0cnVlKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
package/dist/spec/types.js
CHANGED
|
@@ -1,27 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const spec_ts_1 = require("spec.ts");
|
|
4
|
+
const src_1 = require("../src");
|
|
3
5
|
{
|
|
4
6
|
const typeTable = {};
|
|
5
|
-
const encoded = encode(typeTable, "", "string", "");
|
|
6
|
-
const decoded = decode(typeTable, "", "string", "");
|
|
7
|
-
assert(encoded, _);
|
|
8
|
-
assert(decoded, _);
|
|
7
|
+
const encoded = (0, src_1.encode)(typeTable, "", "string", "");
|
|
8
|
+
const decoded = (0, src_1.decode)(typeTable, "", "string", "");
|
|
9
|
+
(0, spec_ts_1.assert)(encoded, spec_ts_1._);
|
|
10
|
+
(0, spec_ts_1.assert)(decoded, spec_ts_1._);
|
|
9
11
|
}
|
|
10
12
|
{
|
|
11
13
|
const typeTable = {};
|
|
12
|
-
const encoded = encode(typeTable, "", "bigint", "");
|
|
13
|
-
const decoded = decode(typeTable, "", "bigint", "");
|
|
14
|
-
assert(encoded, _);
|
|
15
|
-
assert(decoded, _);
|
|
14
|
+
const encoded = (0, src_1.encode)(typeTable, "", "bigint", "");
|
|
15
|
+
const decoded = (0, src_1.decode)(typeTable, "", "bigint", "");
|
|
16
|
+
(0, spec_ts_1.assert)(encoded, spec_ts_1._);
|
|
17
|
+
(0, spec_ts_1.assert)(decoded, spec_ts_1._);
|
|
16
18
|
}
|
|
17
19
|
{
|
|
18
20
|
const typeTable = {
|
|
19
21
|
Foo: "string?",
|
|
20
22
|
};
|
|
21
|
-
const encoded = encode(typeTable, "", "Foo", "");
|
|
22
|
-
const decoded = decode(typeTable, "", "Foo", "");
|
|
23
|
-
assert(encoded, _);
|
|
24
|
-
assert(decoded, _);
|
|
23
|
+
const encoded = (0, src_1.encode)(typeTable, "", "Foo", "");
|
|
24
|
+
const decoded = (0, src_1.decode)(typeTable, "", "Foo", "");
|
|
25
|
+
(0, spec_ts_1.assert)(encoded, spec_ts_1._);
|
|
26
|
+
(0, spec_ts_1.assert)(decoded, spec_ts_1._);
|
|
25
27
|
}
|
|
26
28
|
{
|
|
27
29
|
const typeTable = {
|
|
@@ -31,29 +33,28 @@ import { decode, encode } from "../src/index.js";
|
|
|
31
33
|
b: "Foo[]",
|
|
32
34
|
},
|
|
33
35
|
};
|
|
34
|
-
const encoded = encode(typeTable, "", "Bar", "");
|
|
35
|
-
const decoded = decode(typeTable, "", "Bar", "");
|
|
36
|
-
assert(encoded, _);
|
|
37
|
-
assert(decoded, _);
|
|
36
|
+
const encoded = (0, src_1.encode)(typeTable, "", "Bar", "");
|
|
37
|
+
const decoded = (0, src_1.decode)(typeTable, "", "Bar", "");
|
|
38
|
+
(0, spec_ts_1.assert)(encoded, spec_ts_1._);
|
|
39
|
+
(0, spec_ts_1.assert)(decoded, spec_ts_1._);
|
|
38
40
|
}
|
|
39
41
|
{
|
|
40
42
|
const typeTable = {
|
|
41
43
|
Foo: "string?",
|
|
42
44
|
Bar: ["a", "b"],
|
|
43
45
|
};
|
|
44
|
-
const encoded = encode(typeTable, "", "Bar", "");
|
|
45
|
-
const decoded = decode(typeTable, "", "Bar", "");
|
|
46
|
-
assert(encoded, _);
|
|
47
|
-
assert(decoded, _);
|
|
46
|
+
const encoded = (0, src_1.encode)(typeTable, "", "Bar", "");
|
|
47
|
+
const decoded = (0, src_1.decode)(typeTable, "", "Bar", "");
|
|
48
|
+
(0, spec_ts_1.assert)(encoded, spec_ts_1._);
|
|
49
|
+
(0, spec_ts_1.assert)(decoded, spec_ts_1._);
|
|
48
50
|
}
|
|
49
51
|
{
|
|
50
52
|
const typeTable = {
|
|
51
53
|
Foo: { x: "string?" },
|
|
52
54
|
Bar: ["a", ["b", "Foo"]],
|
|
53
55
|
};
|
|
54
|
-
const encoded = encode(typeTable, "", "Bar", "");
|
|
55
|
-
const decoded = decode(typeTable, "", "Bar", "");
|
|
56
|
-
assert(encoded, _);
|
|
57
|
-
assert(decoded, _);
|
|
56
|
+
const encoded = (0, src_1.encode)(typeTable, "", "Bar", "");
|
|
57
|
+
const decoded = (0, src_1.decode)(typeTable, "", "Bar", "");
|
|
58
|
+
(0, spec_ts_1.assert)(encoded, spec_ts_1._);
|
|
59
|
+
(0, spec_ts_1.assert)(decoded, spec_ts_1._);
|
|
58
60
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcGVjL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXBDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQ7SUFDRSxNQUFNLFNBQVMsR0FBRyxFQUFXLENBQUM7SUFDOUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVwRCxNQUFNLENBQUMsT0FBTyxFQUFFLENBQVcsQ0FBQyxDQUFDO0lBQzdCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBVyxDQUFDLENBQUM7Q0FDOUI7QUFFRDtJQUNFLE1BQU0sU0FBUyxHQUFHLEVBQVcsQ0FBQztJQUM5QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXBELE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBVyxDQUFDLENBQUM7SUFDN0IsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFXLENBQUMsQ0FBQztDQUM5QjtBQUVEO0lBQ0UsTUFBTSxTQUFTLEdBQUc7UUFDaEIsR0FBRyxFQUFFLFNBQVM7S0FDTixDQUFDO0lBQ1gsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVqRCxNQUFNLENBQUMsT0FBTyxFQUFFLENBQWtCLENBQUMsQ0FBQztJQUNwQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQWtCLENBQUMsQ0FBQztDQUNyQztBQUVEO0lBQ0UsTUFBTSxTQUFTLEdBQUc7UUFDaEIsR0FBRyxFQUFFLFNBQVM7UUFDZCxHQUFHLEVBQUU7WUFDSCxDQUFDLEVBQUUsUUFBUTtZQUNYLENBQUMsRUFBRSxPQUFPO1NBQ1g7S0FDTyxDQUFDO0lBQ1gsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVqRCxNQUFNLENBQUMsT0FBTyxFQUFFLENBQTJDLENBQUMsQ0FBQztJQUM3RCxNQUFNLENBQUMsT0FBTyxFQUFFLENBQTJDLENBQUMsQ0FBQztDQUM5RDtBQUVEO0lBQ0UsTUFBTSxTQUFTLEdBQUc7UUFDaEIsR0FBRyxFQUFFLFNBQVM7UUFDZCxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO0tBQ1AsQ0FBQztJQUNYLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFakQsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFjLENBQUMsQ0FBQztJQUNoQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQWMsQ0FBQyxDQUFDO0NBQ2pDO0FBRUQ7SUFDRSxNQUFNLFNBQVMsR0FBRztRQUNoQixHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFO1FBQ3JCLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztLQUNoQixDQUFDO0lBRVgsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVqRCxNQUFNLENBQUMsT0FBTyxFQUFFLENBQXNDLENBQUMsQ0FBQztJQUN4RCxNQUFNLENBQUMsT0FBTyxFQUFFLENBQWtELENBQUMsQ0FBQztDQUNyRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF8sIGFzc2VydCB9IGZyb20gXCJzcGVjLnRzXCI7XG5cbmltcG9ydCB7IGRlY29kZSwgZW5jb2RlIH0gZnJvbSBcIi4uL3NyYy9pbmRleC5qc1wiO1xuXG57XG4gIGNvbnN0IHR5cGVUYWJsZSA9IHt9IGFzIGNvbnN0O1xuICBjb25zdCBlbmNvZGVkID0gZW5jb2RlKHR5cGVUYWJsZSwgXCJcIiwgXCJzdHJpbmdcIiwgXCJcIik7XG4gIGNvbnN0IGRlY29kZWQgPSBkZWNvZGUodHlwZVRhYmxlLCBcIlwiLCBcInN0cmluZ1wiLCBcIlwiKTtcblxuICBhc3NlcnQoZW5jb2RlZCwgXyBhcyBzdHJpbmcpO1xuICBhc3NlcnQoZGVjb2RlZCwgXyBhcyBzdHJpbmcpO1xufVxuXG57XG4gIGNvbnN0IHR5cGVUYWJsZSA9IHt9IGFzIGNvbnN0O1xuICBjb25zdCBlbmNvZGVkID0gZW5jb2RlKHR5cGVUYWJsZSwgXCJcIiwgXCJiaWdpbnRcIiwgXCJcIik7XG4gIGNvbnN0IGRlY29kZWQgPSBkZWNvZGUodHlwZVRhYmxlLCBcIlwiLCBcImJpZ2ludFwiLCBcIlwiKTtcblxuICBhc3NlcnQoZW5jb2RlZCwgXyBhcyBzdHJpbmcpO1xuICBhc3NlcnQoZGVjb2RlZCwgXyBhcyBiaWdpbnQpO1xufVxuXG57XG4gIGNvbnN0IHR5cGVUYWJsZSA9IHtcbiAgICBGb286IFwic3RyaW5nP1wiLFxuICB9IGFzIGNvbnN0O1xuICBjb25zdCBlbmNvZGVkID0gZW5jb2RlKHR5cGVUYWJsZSwgXCJcIiwgXCJGb29cIiwgXCJcIik7XG4gIGNvbnN0IGRlY29kZWQgPSBkZWNvZGUodHlwZVRhYmxlLCBcIlwiLCBcIkZvb1wiLCBcIlwiKTtcblxuICBhc3NlcnQoZW5jb2RlZCwgXyBhcyBzdHJpbmcgfCBudWxsKTtcbiAgYXNzZXJ0KGRlY29kZWQsIF8gYXMgc3RyaW5nIHwgbnVsbCk7XG59XG5cbntcbiAgY29uc3QgdHlwZVRhYmxlID0ge1xuICAgIEZvbzogXCJzdHJpbmc/XCIsXG4gICAgQmFyOiB7XG4gICAgICBhOiBcInN0cmluZ1wiLFxuICAgICAgYjogXCJGb29bXVwiLFxuICAgIH0sXG4gIH0gYXMgY29uc3Q7XG4gIGNvbnN0IGVuY29kZWQgPSBlbmNvZGUodHlwZVRhYmxlLCBcIlwiLCBcIkJhclwiLCBcIlwiKTtcbiAgY29uc3QgZGVjb2RlZCA9IGRlY29kZSh0eXBlVGFibGUsIFwiXCIsIFwiQmFyXCIsIFwiXCIpO1xuXG4gIGFzc2VydChlbmNvZGVkLCBfIGFzIHsgYTogc3RyaW5nOyBiOiBBcnJheTxzdHJpbmcgfCBudWxsPiB9KTtcbiAgYXNzZXJ0KGRlY29kZWQsIF8gYXMgeyBhOiBzdHJpbmc7IGI6IEFycmF5PHN0cmluZyB8IG51bGw+IH0pO1xufVxuXG57XG4gIGNvbnN0IHR5cGVUYWJsZSA9IHtcbiAgICBGb286IFwic3RyaW5nP1wiLFxuICAgIEJhcjogW1wiYVwiLCBcImJcIl0sXG4gIH0gYXMgY29uc3Q7XG4gIGNvbnN0IGVuY29kZWQgPSBlbmNvZGUodHlwZVRhYmxlLCBcIlwiLCBcIkJhclwiLCBcIlwiKTtcbiAgY29uc3QgZGVjb2RlZCA9IGRlY29kZSh0eXBlVGFibGUsIFwiXCIsIFwiQmFyXCIsIFwiXCIpO1xuXG4gIGFzc2VydChlbmNvZGVkLCBfIGFzIFwiYVwiIHwgXCJiXCIpO1xuICBhc3NlcnQoZGVjb2RlZCwgXyBhcyBcImFcIiB8IFwiYlwiKTtcbn1cblxue1xuICBjb25zdCB0eXBlVGFibGUgPSB7XG4gICAgRm9vOiB7IHg6IFwic3RyaW5nP1wiIH0sXG4gICAgQmFyOiBbXCJhXCIsIFtcImJcIiwgXCJGb29cIl1dLFxuICB9IGFzIGNvbnN0O1xuXG4gIGNvbnN0IGVuY29kZWQgPSBlbmNvZGUodHlwZVRhYmxlLCBcIlwiLCBcIkJhclwiLCBcIlwiKTtcbiAgY29uc3QgZGVjb2RlZCA9IGRlY29kZSh0eXBlVGFibGUsIFwiXCIsIFwiQmFyXCIsIFwiXCIpO1xuXG4gIGFzc2VydChlbmNvZGVkLCBfIGFzIFwiYVwiIHwgW1wiYlwiLCB7IHg6IHN0cmluZyB8IG51bGwgfV0pO1xuICBhc3NlcnQoZGVjb2RlZCwgXyBhcyB7IHRhZzogXCJhXCIgfSB8IHsgdGFnOiBcImJcIjsgeDogc3RyaW5nIHwgbnVsbCB9KTtcbn1cbiJdfQ==
|