@platforma-sdk/tengo-builder 2.4.24 → 2.4.26
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/_virtual/_rolldown/runtime.cjs +29 -0
- package/dist/commands/build.cjs +106 -150
- package/dist/commands/build.cjs.map +1 -1
- package/dist/commands/build.d.ts +15 -10
- package/dist/commands/build.js +101 -126
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/check.cjs +32 -36
- package/dist/commands/check.cjs.map +1 -1
- package/dist/commands/check.d.ts +13 -8
- package/dist/commands/check.js +30 -33
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/dump/artifacts.cjs +22 -22
- package/dist/commands/dump/artifacts.cjs.map +1 -1
- package/dist/commands/dump/artifacts.d.ts +13 -8
- package/dist/commands/dump/artifacts.js +20 -19
- package/dist/commands/dump/artifacts.js.map +1 -1
- package/dist/commands/dump/software.cjs +19 -21
- package/dist/commands/dump/software.cjs.map +1 -1
- package/dist/commands/dump/software.d.ts +12 -7
- package/dist/commands/dump/software.js +17 -18
- package/dist/commands/dump/software.js.map +1 -1
- package/dist/commands/test.cjs +32 -33
- package/dist/commands/test.cjs.map +1 -1
- package/dist/commands/test.d.ts +13 -8
- package/dist/commands/test.js +30 -30
- package/dist/commands/test.js.map +1 -1
- package/dist/compiler/artifactset.cjs +59 -68
- package/dist/compiler/artifactset.cjs.map +1 -1
- package/dist/compiler/artifactset.js +60 -66
- package/dist/compiler/artifactset.js.map +1 -1
- package/dist/compiler/compiler.cjs +241 -314
- package/dist/compiler/compiler.cjs.map +1 -1
- package/dist/compiler/compiler.js +241 -312
- package/dist/compiler/compiler.js.map +1 -1
- package/dist/compiler/compileroptions.cjs +16 -35
- package/dist/compiler/compileroptions.cjs.map +1 -1
- package/dist/compiler/compileroptions.js +17 -33
- package/dist/compiler/compileroptions.js.map +1 -1
- package/dist/compiler/main.cjs +258 -334
- package/dist/compiler/main.cjs.map +1 -1
- package/dist/compiler/main.js +256 -311
- package/dist/compiler/main.js.map +1 -1
- package/dist/compiler/package.cjs +21 -35
- package/dist/compiler/package.cjs.map +1 -1
- package/dist/compiler/package.js +21 -34
- package/dist/compiler/package.js.map +1 -1
- package/dist/compiler/source.cjs +239 -308
- package/dist/compiler/source.cjs.map +1 -1
- package/dist/compiler/source.js +239 -304
- package/dist/compiler/source.js.map +1 -1
- package/dist/compiler/template.cjs +30 -35
- package/dist/compiler/template.cjs.map +1 -1
- package/dist/compiler/template.js +29 -33
- package/dist/compiler/template.js.map +1 -1
- package/dist/compiler/util.cjs +40 -61
- package/dist/compiler/util.cjs.map +1 -1
- package/dist/compiler/util.js +36 -39
- package/dist/compiler/util.js.map +1 -1
- package/dist/index.cjs +14 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +15 -11
- package/dist/index.js +13 -12
- package/dist/index.js.map +1 -1
- package/dist/shared/basecmd.cjs +42 -33
- package/dist/shared/basecmd.cjs.map +1 -1
- package/dist/shared/basecmd.js +41 -31
- package/dist/shared/basecmd.js.map +1 -1
- package/dist/shared/dump.cjs +73 -107
- package/dist/shared/dump.cjs.map +1 -1
- package/dist/shared/dump.js +73 -105
- package/dist/shared/dump.js.map +1 -1
- package/dist/shared/proc.cjs +22 -18
- package/dist/shared/proc.cjs.map +1 -1
- package/dist/shared/proc.js +21 -16
- package/dist/shared/proc.js.map +1 -1
- package/package.json +10 -10
- package/dist/commands/build.d.ts.map +0 -1
- package/dist/commands/check.d.ts.map +0 -1
- package/dist/commands/dump/artifacts.d.ts.map +0 -1
- package/dist/commands/dump/software.d.ts.map +0 -1
- package/dist/commands/test.d.ts.map +0 -1
- package/dist/compiler/artifactset.d.ts +0 -24
- package/dist/compiler/artifactset.d.ts.map +0 -1
- package/dist/compiler/compiler.d.ts +0 -42
- package/dist/compiler/compiler.d.ts.map +0 -1
- package/dist/compiler/compileroptions.d.ts +0 -6
- package/dist/compiler/compileroptions.d.ts.map +0 -1
- package/dist/compiler/main.d.ts +0 -35
- package/dist/compiler/main.d.ts.map +0 -1
- package/dist/compiler/package.d.ts +0 -44
- package/dist/compiler/package.d.ts.map +0 -1
- package/dist/compiler/source.d.ts +0 -54
- package/dist/compiler/source.d.ts.map +0 -1
- package/dist/compiler/template.d.ts +0 -22
- package/dist/compiler/template.d.ts.map +0 -1
- package/dist/compiler/test.artifacts.d.ts +0 -47
- package/dist/compiler/test.artifacts.d.ts.map +0 -1
- package/dist/compiler/util.d.ts +0 -8
- package/dist/compiler/util.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/shared/basecmd.d.ts +0 -12
- package/dist/shared/basecmd.d.ts.map +0 -1
- package/dist/shared/dump.d.ts +0 -6
- package/dist/shared/dump.d.ts.map +0 -1
- package/dist/shared/proc.d.ts +0 -5
- package/dist/shared/proc.d.ts.map +0 -1
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { dumpArtifacts } from
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { createLogger } from "../../compiler/util.js";
|
|
2
|
+
import { ArtifactTypeFlag, GlobalFlags } from "../../shared/basecmd.js";
|
|
3
|
+
import { dumpArtifacts } from "../../shared/dump.js";
|
|
4
|
+
import { Command } from "@oclif/core";
|
|
5
|
+
import { stdout } from "node:process";
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
7
|
+
//#region src/commands/dump/artifacts.ts
|
|
8
|
+
var DumpArtifacts = class DumpArtifacts extends Command {
|
|
9
|
+
static description = "parse sources in current package and dump all found artifacts to stdout";
|
|
10
|
+
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
11
|
+
static flags = {
|
|
12
|
+
...GlobalFlags,
|
|
13
|
+
...ArtifactTypeFlag
|
|
14
|
+
};
|
|
15
|
+
async run() {
|
|
16
|
+
const { flags } = await this.parse(DumpArtifacts);
|
|
17
|
+
dumpArtifacts(createLogger(flags["log-level"]), stdout, flags.type == "all" ? void 0 : flags.type);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
20
|
|
|
21
|
+
//#endregion
|
|
21
22
|
export { DumpArtifacts as default };
|
|
22
|
-
//# sourceMappingURL=artifacts.js.map
|
|
23
|
+
//# sourceMappingURL=artifacts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sources":["../../../src/commands/dump/artifacts.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport { createLogger } from \"../../compiler/util\";\nimport { dumpArtifacts } from \"../../shared/dump\";\nimport { stdout } from \"node:process\";\nimport type { ArtifactType } from \"../../compiler/package\";\nimport * as opts from \"../../shared/basecmd\";\n\nexport default class DumpArtifacts extends Command {\n static override description =\n \"parse sources in current package and dump all found artifacts to stdout\";\n\n static override examples = [\"<%= config.bin %> <%= command.id %>\"];\n\n static override flags = {\n ...opts.GlobalFlags,\n ...opts.ArtifactTypeFlag,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(DumpArtifacts);\n const logger = createLogger(flags[\"log-level\"]);\n dumpArtifacts(logger, stdout, flags.type == \"all\" ? undefined : (flags.type as ArtifactType));\n }\n}\n"],"
|
|
1
|
+
{"version":3,"file":"artifacts.js","names":["opts.GlobalFlags","opts.ArtifactTypeFlag"],"sources":["../../../src/commands/dump/artifacts.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport { createLogger } from \"../../compiler/util\";\nimport { dumpArtifacts } from \"../../shared/dump\";\nimport { stdout } from \"node:process\";\nimport type { ArtifactType } from \"../../compiler/package\";\nimport * as opts from \"../../shared/basecmd\";\n\nexport default class DumpArtifacts extends Command {\n static override description =\n \"parse sources in current package and dump all found artifacts to stdout\";\n\n static override examples = [\"<%= config.bin %> <%= command.id %>\"];\n\n static override flags = {\n ...opts.GlobalFlags,\n ...opts.ArtifactTypeFlag,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(DumpArtifacts);\n const logger = createLogger(flags[\"log-level\"]);\n dumpArtifacts(logger, stdout, flags.type == \"all\" ? undefined : (flags.type as ArtifactType));\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAqB,gBAArB,MAAqB,sBAAsB,QAAQ;CACjD,OAAgB,cACd;CAEF,OAAgB,WAAW,CAAC,sCAAsC;CAElE,OAAgB,QAAQ;EACtB,GAAGA;EACH,GAAGC;EACJ;CAED,MAAa,MAAqB;EAChC,MAAM,EAAE,UAAU,MAAM,KAAK,MAAM,cAAc;AAEjD,gBADe,aAAa,MAAM,aAAa,EACzB,QAAQ,MAAM,QAAQ,QAAQ,SAAa,MAAM,KAAsB"}
|
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
const require_util = require('../../compiler/util.cjs');
|
|
3
|
+
const require_basecmd = require('../../shared/basecmd.cjs');
|
|
4
|
+
const require_dump = require('../../shared/dump.cjs');
|
|
5
|
+
let _oclif_core = require("@oclif/core");
|
|
6
|
+
let node_process = require("node:process");
|
|
2
7
|
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
//#region src/commands/dump/software.ts
|
|
9
|
+
var DumpSoftware = class DumpSoftware extends _oclif_core.Command {
|
|
10
|
+
static description = "parse sources in current package and dump all software descriptors used by templates";
|
|
11
|
+
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
12
|
+
static flags = { ...require_basecmd.GlobalFlags };
|
|
13
|
+
async run() {
|
|
14
|
+
const { flags } = await this.parse(DumpSoftware);
|
|
15
|
+
require_dump.dumpSoftware(require_util.createLogger(flags["log-level"]), node_process.stdout);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
8
18
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
static flags = {
|
|
13
|
-
...basecmd.GlobalFlags,
|
|
14
|
-
};
|
|
15
|
-
async run() {
|
|
16
|
-
const { flags } = await this.parse(DumpSoftware);
|
|
17
|
-
const logger = util.createLogger(flags["log-level"]);
|
|
18
|
-
dump.dumpSoftware(logger, node_process.stdout);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
module.exports = DumpSoftware;
|
|
23
|
-
//# sourceMappingURL=software.cjs.map
|
|
19
|
+
//#endregion
|
|
20
|
+
exports.default = DumpSoftware;
|
|
21
|
+
//# sourceMappingURL=software.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"software.cjs","sources":["../../../src/commands/dump/software.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport { createLogger } from \"../../compiler/util\";\nimport { dumpSoftware } from \"../../shared/dump\";\nimport { stdout } from \"node:process\";\nimport * as opts from \"../../shared/basecmd\";\n\nexport default class DumpSoftware extends Command {\n static override description =\n \"parse sources in current package and dump all software descriptors used by templates\";\n\n static override examples = [\"<%= config.bin %> <%= command.id %>\"];\n\n static override flags = {\n ...opts.GlobalFlags,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(DumpSoftware);\n const logger = createLogger(flags[\"log-level\"]);\n dumpSoftware(logger, stdout);\n }\n}\n"],"
|
|
1
|
+
{"version":3,"file":"software.cjs","names":["Command","createLogger","stdout"],"sources":["../../../src/commands/dump/software.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport { createLogger } from \"../../compiler/util\";\nimport { dumpSoftware } from \"../../shared/dump\";\nimport { stdout } from \"node:process\";\nimport * as opts from \"../../shared/basecmd\";\n\nexport default class DumpSoftware extends Command {\n static override description =\n \"parse sources in current package and dump all software descriptors used by templates\";\n\n static override examples = [\"<%= config.bin %> <%= command.id %>\"];\n\n static override flags = {\n ...opts.GlobalFlags,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(DumpSoftware);\n const logger = createLogger(flags[\"log-level\"]);\n dumpSoftware(logger, stdout);\n }\n}\n"],"mappings":";;;;;;;;AAMA,IAAqB,eAArB,MAAqB,qBAAqBA,oBAAQ;CAChD,OAAgB,cACd;CAEF,OAAgB,WAAW,CAAC,sCAAsC;CAElE,OAAgB,QAAQ,EACtB,gCACD;CAED,MAAa,MAAqB;EAChC,MAAM,EAAE,UAAU,MAAM,KAAK,MAAM,aAAa;AAEhD,4BADeC,0BAAa,MAAM,aAAa,EAC1BC,oBAAO"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { Command } from "@oclif/core";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import * as _oclif_core_interfaces0 from "@oclif/core/interfaces";
|
|
3
|
+
|
|
4
|
+
//#region src/commands/dump/software.d.ts
|
|
5
|
+
declare class DumpSoftware extends Command {
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
"log-level": _oclif_core_interfaces0.OptionFlag<string, _oclif_core_interfaces0.CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
9
12
|
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { DumpSoftware };
|
|
10
15
|
//# sourceMappingURL=software.d.ts.map
|
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { dumpSoftware } from
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { createLogger } from "../../compiler/util.js";
|
|
2
|
+
import { GlobalFlags } from "../../shared/basecmd.js";
|
|
3
|
+
import { dumpSoftware } from "../../shared/dump.js";
|
|
4
|
+
import { Command } from "@oclif/core";
|
|
5
|
+
import { stdout } from "node:process";
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
}
|
|
7
|
+
//#region src/commands/dump/software.ts
|
|
8
|
+
var DumpSoftware = class DumpSoftware extends Command {
|
|
9
|
+
static description = "parse sources in current package and dump all software descriptors used by templates";
|
|
10
|
+
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
11
|
+
static flags = { ...GlobalFlags };
|
|
12
|
+
async run() {
|
|
13
|
+
const { flags } = await this.parse(DumpSoftware);
|
|
14
|
+
dumpSoftware(createLogger(flags["log-level"]), stdout);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
19
17
|
|
|
18
|
+
//#endregion
|
|
20
19
|
export { DumpSoftware as default };
|
|
21
|
-
//# sourceMappingURL=software.js.map
|
|
20
|
+
//# sourceMappingURL=software.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"software.js","sources":["../../../src/commands/dump/software.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport { createLogger } from \"../../compiler/util\";\nimport { dumpSoftware } from \"../../shared/dump\";\nimport { stdout } from \"node:process\";\nimport * as opts from \"../../shared/basecmd\";\n\nexport default class DumpSoftware extends Command {\n static override description =\n \"parse sources in current package and dump all software descriptors used by templates\";\n\n static override examples = [\"<%= config.bin %> <%= command.id %>\"];\n\n static override flags = {\n ...opts.GlobalFlags,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(DumpSoftware);\n const logger = createLogger(flags[\"log-level\"]);\n dumpSoftware(logger, stdout);\n }\n}\n"],"
|
|
1
|
+
{"version":3,"file":"software.js","names":["opts.GlobalFlags"],"sources":["../../../src/commands/dump/software.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport { createLogger } from \"../../compiler/util\";\nimport { dumpSoftware } from \"../../shared/dump\";\nimport { stdout } from \"node:process\";\nimport * as opts from \"../../shared/basecmd\";\n\nexport default class DumpSoftware extends Command {\n static override description =\n \"parse sources in current package and dump all software descriptors used by templates\";\n\n static override examples = [\"<%= config.bin %> <%= command.id %>\"];\n\n static override flags = {\n ...opts.GlobalFlags,\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(DumpSoftware);\n const logger = createLogger(flags[\"log-level\"]);\n dumpSoftware(logger, stdout);\n }\n}\n"],"mappings":";;;;;;;AAMA,IAAqB,eAArB,MAAqB,qBAAqB,QAAQ;CAChD,OAAgB,cACd;CAEF,OAAgB,WAAW,CAAC,sCAAsC;CAElE,OAAgB,QAAQ,EACtB,GAAGA,aACJ;CAED,MAAa,MAAqB;EAChC,MAAM,EAAE,UAAU,MAAM,KAAK,MAAM,aAAa;AAEhD,eADe,aAAa,MAAM,aAAa,EAC1B,OAAO"}
|
package/dist/commands/test.cjs
CHANGED
|
@@ -1,35 +1,34 @@
|
|
|
1
|
-
|
|
1
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
2
|
+
const require_util = require('../compiler/util.cjs');
|
|
3
|
+
const require_basecmd = require('../shared/basecmd.cjs');
|
|
4
|
+
const require_dump = require('../shared/dump.cjs');
|
|
5
|
+
const require_proc = require('../shared/proc.cjs');
|
|
6
|
+
let _oclif_core = require("@oclif/core");
|
|
7
|
+
let _milaboratories_tengo_tester = require("@milaboratories/tengo-tester");
|
|
2
8
|
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
//#region src/commands/test.ts
|
|
10
|
+
var Test = class Test extends _oclif_core.Command {
|
|
11
|
+
static description = "run tengo unit tests (.test.tengo)";
|
|
12
|
+
static strict = false;
|
|
13
|
+
static flags = { ...require_basecmd.GlobalFlags };
|
|
14
|
+
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
15
|
+
async run() {
|
|
16
|
+
const { flags } = await this.parse(Test);
|
|
17
|
+
const logger = require_util.createLogger(flags["log-level"]);
|
|
18
|
+
const testerArgs = this.argv.length == 0 ? ["./src"] : this.argv;
|
|
19
|
+
const tester = require_proc.spawnEmbed(_milaboratories_tengo_tester.TengoTesterBinaryPath, "run", "--log-level", flags["log-level"], "--artifacts", "-", ...testerArgs);
|
|
20
|
+
try {
|
|
21
|
+
require_dump.dumpArtifacts(logger, tester.stdin);
|
|
22
|
+
} catch (err) {
|
|
23
|
+
logger.error(err);
|
|
24
|
+
} finally {
|
|
25
|
+
tester.stdin.end();
|
|
26
|
+
const code = await require_proc.waitFor(tester);
|
|
27
|
+
process.exit(code);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
9
31
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
static flags = { ...basecmd.GlobalFlags };
|
|
14
|
-
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
15
|
-
async run() {
|
|
16
|
-
const { flags } = await this.parse(Test);
|
|
17
|
-
const logger = util.createLogger(flags["log-level"]);
|
|
18
|
-
const testerArgs = this.argv.length == 0 ? ["./src"] : this.argv;
|
|
19
|
-
const tester = proc.spawnEmbed(tengoTester.TengoTesterBinaryPath, "run", "--log-level", flags["log-level"], "--artifacts", "-", ...testerArgs);
|
|
20
|
-
try {
|
|
21
|
-
dump.dumpArtifacts(logger, tester.stdin);
|
|
22
|
-
}
|
|
23
|
-
catch (err) {
|
|
24
|
-
logger.error(err);
|
|
25
|
-
}
|
|
26
|
-
finally {
|
|
27
|
-
tester.stdin.end();
|
|
28
|
-
const code = await proc.waitFor(tester);
|
|
29
|
-
process.exit(code);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
module.exports = Test;
|
|
35
|
-
//# sourceMappingURL=test.cjs.map
|
|
32
|
+
//#endregion
|
|
33
|
+
exports.default = Test;
|
|
34
|
+
//# sourceMappingURL=test.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.cjs","sources":["../../src/commands/test.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport { createLogger } from \"../compiler/util\";\nimport { dumpArtifacts } from \"../shared/dump\";\nimport { GlobalFlags } from \"../shared/basecmd\";\nimport { spawnEmbed, waitFor } from \"../shared/proc\";\nimport { TengoTesterBinaryPath } from \"@milaboratories/tengo-tester\";\n\nexport default class Test extends Command {\n static override description = \"run tengo unit tests (.test.tengo)\";\n\n static strict = false;\n\n static override flags = { ...GlobalFlags };\n\n static override examples = [\"<%= config.bin %> <%= command.id %>\"];\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Test);\n const logger = createLogger(flags[\"log-level\"]);\n\n const testerArgs: string[] = this.argv.length == 0 ? [\"./src\"] : this.argv;\n\n const tester = spawnEmbed(\n TengoTesterBinaryPath,\n \"run\",\n \"--log-level\",\n flags[\"log-level\"],\n \"--artifacts\",\n \"-\",\n ...testerArgs,\n );\n\n try {\n dumpArtifacts(logger, tester.stdin);\n } catch (err: unknown) {\n logger.error(err);\n } finally {\n tester.stdin.end();\n const code = await waitFor(tester);\n process.exit(code);\n }\n }\n}\n"],"
|
|
1
|
+
{"version":3,"file":"test.cjs","names":["Command","GlobalFlags","createLogger","spawnEmbed","TengoTesterBinaryPath","waitFor"],"sources":["../../src/commands/test.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport { createLogger } from \"../compiler/util\";\nimport { dumpArtifacts } from \"../shared/dump\";\nimport { GlobalFlags } from \"../shared/basecmd\";\nimport { spawnEmbed, waitFor } from \"../shared/proc\";\nimport { TengoTesterBinaryPath } from \"@milaboratories/tengo-tester\";\n\nexport default class Test extends Command {\n static override description = \"run tengo unit tests (.test.tengo)\";\n\n static strict = false;\n\n static override flags = { ...GlobalFlags };\n\n static override examples = [\"<%= config.bin %> <%= command.id %>\"];\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Test);\n const logger = createLogger(flags[\"log-level\"]);\n\n const testerArgs: string[] = this.argv.length == 0 ? [\"./src\"] : this.argv;\n\n const tester = spawnEmbed(\n TengoTesterBinaryPath,\n \"run\",\n \"--log-level\",\n flags[\"log-level\"],\n \"--artifacts\",\n \"-\",\n ...testerArgs,\n );\n\n try {\n dumpArtifacts(logger, tester.stdin);\n } catch (err: unknown) {\n logger.error(err);\n } finally {\n tester.stdin.end();\n const code = await waitFor(tester);\n process.exit(code);\n }\n }\n}\n"],"mappings":";;;;;;;;;AAOA,IAAqB,OAArB,MAAqB,aAAaA,oBAAQ;CACxC,OAAgB,cAAc;CAE9B,OAAO,SAAS;CAEhB,OAAgB,QAAQ,EAAE,GAAGC,6BAAa;CAE1C,OAAgB,WAAW,CAAC,sCAAsC;CAElE,MAAa,MAAqB;EAChC,MAAM,EAAE,UAAU,MAAM,KAAK,MAAM,KAAK;EACxC,MAAM,SAASC,0BAAa,MAAM,aAAa;EAE/C,MAAM,aAAuB,KAAK,KAAK,UAAU,IAAI,CAAC,QAAQ,GAAG,KAAK;EAEtE,MAAM,SAASC,wBACbC,oDACA,OACA,eACA,MAAM,cACN,eACA,KACA,GAAG,WACJ;AAED,MAAI;AACF,8BAAc,QAAQ,OAAO,MAAM;WAC5B,KAAc;AACrB,UAAO,MAAM,IAAI;YACT;AACR,UAAO,MAAM,KAAK;GAClB,MAAM,OAAO,MAAMC,qBAAQ,OAAO;AAClC,WAAQ,KAAK,KAAK"}
|
package/dist/commands/test.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { Command } from "@oclif/core";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
import * as _oclif_core_interfaces0 from "@oclif/core/interfaces";
|
|
3
|
+
|
|
4
|
+
//#region src/commands/test.d.ts
|
|
5
|
+
declare class Test extends Command {
|
|
6
|
+
static description: string;
|
|
7
|
+
static strict: boolean;
|
|
8
|
+
static flags: {
|
|
9
|
+
"log-level": _oclif_core_interfaces0.OptionFlag<string, _oclif_core_interfaces0.CustomOptions>;
|
|
10
|
+
};
|
|
11
|
+
static examples: string[];
|
|
12
|
+
run(): Promise<void>;
|
|
10
13
|
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { Test };
|
|
11
16
|
//# sourceMappingURL=test.d.ts.map
|
package/dist/commands/test.js
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { dumpArtifacts } from
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { TengoTesterBinaryPath } from
|
|
1
|
+
import { createLogger } from "../compiler/util.js";
|
|
2
|
+
import { GlobalFlags } from "../shared/basecmd.js";
|
|
3
|
+
import { dumpArtifacts } from "../shared/dump.js";
|
|
4
|
+
import { spawnEmbed, waitFor } from "../shared/proc.js";
|
|
5
|
+
import { Command } from "@oclif/core";
|
|
6
|
+
import { TengoTesterBinaryPath } from "@milaboratories/tengo-tester";
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
8
|
+
//#region src/commands/test.ts
|
|
9
|
+
var Test = class Test extends Command {
|
|
10
|
+
static description = "run tengo unit tests (.test.tengo)";
|
|
11
|
+
static strict = false;
|
|
12
|
+
static flags = { ...GlobalFlags };
|
|
13
|
+
static examples = ["<%= config.bin %> <%= command.id %>"];
|
|
14
|
+
async run() {
|
|
15
|
+
const { flags } = await this.parse(Test);
|
|
16
|
+
const logger = createLogger(flags["log-level"]);
|
|
17
|
+
const testerArgs = this.argv.length == 0 ? ["./src"] : this.argv;
|
|
18
|
+
const tester = spawnEmbed(TengoTesterBinaryPath, "run", "--log-level", flags["log-level"], "--artifacts", "-", ...testerArgs);
|
|
19
|
+
try {
|
|
20
|
+
dumpArtifacts(logger, tester.stdin);
|
|
21
|
+
} catch (err) {
|
|
22
|
+
logger.error(err);
|
|
23
|
+
} finally {
|
|
24
|
+
tester.stdin.end();
|
|
25
|
+
const code = await waitFor(tester);
|
|
26
|
+
process.exit(code);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
31
30
|
|
|
31
|
+
//#endregion
|
|
32
32
|
export { Test as default };
|
|
33
|
-
//# sourceMappingURL=test.js.map
|
|
33
|
+
//# sourceMappingURL=test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sources":["../../src/commands/test.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport { createLogger } from \"../compiler/util\";\nimport { dumpArtifacts } from \"../shared/dump\";\nimport { GlobalFlags } from \"../shared/basecmd\";\nimport { spawnEmbed, waitFor } from \"../shared/proc\";\nimport { TengoTesterBinaryPath } from \"@milaboratories/tengo-tester\";\n\nexport default class Test extends Command {\n static override description = \"run tengo unit tests (.test.tengo)\";\n\n static strict = false;\n\n static override flags = { ...GlobalFlags };\n\n static override examples = [\"<%= config.bin %> <%= command.id %>\"];\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Test);\n const logger = createLogger(flags[\"log-level\"]);\n\n const testerArgs: string[] = this.argv.length == 0 ? [\"./src\"] : this.argv;\n\n const tester = spawnEmbed(\n TengoTesterBinaryPath,\n \"run\",\n \"--log-level\",\n flags[\"log-level\"],\n \"--artifacts\",\n \"-\",\n ...testerArgs,\n );\n\n try {\n dumpArtifacts(logger, tester.stdin);\n } catch (err: unknown) {\n logger.error(err);\n } finally {\n tester.stdin.end();\n const code = await waitFor(tester);\n process.exit(code);\n }\n }\n}\n"],"
|
|
1
|
+
{"version":3,"file":"test.js","names":[],"sources":["../../src/commands/test.ts"],"sourcesContent":["import { Command } from \"@oclif/core\";\nimport { createLogger } from \"../compiler/util\";\nimport { dumpArtifacts } from \"../shared/dump\";\nimport { GlobalFlags } from \"../shared/basecmd\";\nimport { spawnEmbed, waitFor } from \"../shared/proc\";\nimport { TengoTesterBinaryPath } from \"@milaboratories/tengo-tester\";\n\nexport default class Test extends Command {\n static override description = \"run tengo unit tests (.test.tengo)\";\n\n static strict = false;\n\n static override flags = { ...GlobalFlags };\n\n static override examples = [\"<%= config.bin %> <%= command.id %>\"];\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Test);\n const logger = createLogger(flags[\"log-level\"]);\n\n const testerArgs: string[] = this.argv.length == 0 ? [\"./src\"] : this.argv;\n\n const tester = spawnEmbed(\n TengoTesterBinaryPath,\n \"run\",\n \"--log-level\",\n flags[\"log-level\"],\n \"--artifacts\",\n \"-\",\n ...testerArgs,\n );\n\n try {\n dumpArtifacts(logger, tester.stdin);\n } catch (err: unknown) {\n logger.error(err);\n } finally {\n tester.stdin.end();\n const code = await waitFor(tester);\n process.exit(code);\n }\n }\n}\n"],"mappings":";;;;;;;;AAOA,IAAqB,OAArB,MAAqB,aAAa,QAAQ;CACxC,OAAgB,cAAc;CAE9B,OAAO,SAAS;CAEhB,OAAgB,QAAQ,EAAE,GAAG,aAAa;CAE1C,OAAgB,WAAW,CAAC,sCAAsC;CAElE,MAAa,MAAqB;EAChC,MAAM,EAAE,UAAU,MAAM,KAAK,MAAM,KAAK;EACxC,MAAM,SAAS,aAAa,MAAM,aAAa;EAE/C,MAAM,aAAuB,KAAK,KAAK,UAAU,IAAI,CAAC,QAAQ,GAAG,KAAK;EAEtE,MAAM,SAAS,WACb,uBACA,OACA,eACA,MAAM,cACN,eACA,KACA,GAAG,WACJ;AAED,MAAI;AACF,iBAAc,QAAQ,OAAO,MAAM;WAC5B,KAAc;AACrB,UAAO,MAAM,IAAI;YACT;AACR,UAAO,MAAM,KAAK;GAClB,MAAM,OAAO,MAAM,QAAQ,OAAO;AAClC,WAAQ,KAAK,KAAK"}
|
|
@@ -1,75 +1,66 @@
|
|
|
1
|
-
|
|
1
|
+
const require_util = require('./util.cjs');
|
|
2
|
+
const require_package = require('./package.cjs');
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
forEach(callback) {
|
|
29
|
-
this.map.forEach((v) => callback(v, this.nameExtractor(v)));
|
|
30
|
-
}
|
|
31
|
-
}
|
|
4
|
+
//#region src/compiler/artifactset.ts
|
|
5
|
+
var ArtifactMap = class {
|
|
6
|
+
map = /* @__PURE__ */ new Map();
|
|
7
|
+
constructor(nameExtractor) {
|
|
8
|
+
this.nameExtractor = nameExtractor;
|
|
9
|
+
}
|
|
10
|
+
add(obj, replace = true) {
|
|
11
|
+
const key = require_package.artifactKey(this.nameExtractor(obj));
|
|
12
|
+
const ret = this.map.get(key);
|
|
13
|
+
if (ret && !replace) return ret;
|
|
14
|
+
this.map.set(key, obj);
|
|
15
|
+
return ret;
|
|
16
|
+
}
|
|
17
|
+
get(name) {
|
|
18
|
+
return this.map.get(require_package.artifactKey(name));
|
|
19
|
+
}
|
|
20
|
+
get array() {
|
|
21
|
+
const ret = [];
|
|
22
|
+
this.map.forEach((obj) => ret.push(obj));
|
|
23
|
+
return ret;
|
|
24
|
+
}
|
|
25
|
+
forEach(callback) {
|
|
26
|
+
this.map.forEach((v) => callback(v, this.nameExtractor(v)));
|
|
27
|
+
}
|
|
28
|
+
};
|
|
32
29
|
function createArtifactNameSet() {
|
|
33
|
-
|
|
30
|
+
return new ArtifactMap((obj) => obj);
|
|
34
31
|
}
|
|
35
32
|
/**
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return ret;
|
|
66
|
-
}
|
|
67
|
-
forEach(mode, callback) {
|
|
68
|
-
this.dist.forEach((obj, k) => callback(this.get(mode, k) ?? obj, k));
|
|
69
|
-
}
|
|
70
|
-
}
|
|
33
|
+
* ArtifactStore is a store for artifacts that are compiled for different modes.
|
|
34
|
+
* It is used to collect all artifacts from the dependency tree and compile them for different modes.
|
|
35
|
+
*/
|
|
36
|
+
var ArtifactStore = class {
|
|
37
|
+
dist;
|
|
38
|
+
constructor(nameExtractor) {
|
|
39
|
+
this.dist = new ArtifactMap(nameExtractor);
|
|
40
|
+
}
|
|
41
|
+
add(mode, obj, replace = true) {
|
|
42
|
+
switch (mode) {
|
|
43
|
+
case "dist": return this.dist.add(obj, replace);
|
|
44
|
+
default: require_util.assertNever(mode);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
get(mode, name) {
|
|
48
|
+
switch (mode) {
|
|
49
|
+
case "dist": return this.dist.get(name);
|
|
50
|
+
default: require_util.assertNever(mode);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
array(mode) {
|
|
54
|
+
const ret = [];
|
|
55
|
+
this.forEach(mode, (obj) => ret.push(obj));
|
|
56
|
+
return ret;
|
|
57
|
+
}
|
|
58
|
+
forEach(mode, callback) {
|
|
59
|
+
this.dist.forEach((obj, k) => callback(this.get(mode, k) ?? obj, k));
|
|
60
|
+
}
|
|
61
|
+
};
|
|
71
62
|
|
|
72
|
-
|
|
63
|
+
//#endregion
|
|
73
64
|
exports.ArtifactStore = ArtifactStore;
|
|
74
65
|
exports.createArtifactNameSet = createArtifactNameSet;
|
|
75
|
-
//# sourceMappingURL=artifactset.cjs.map
|
|
66
|
+
//# sourceMappingURL=artifactset.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifactset.cjs","sources":["../../src/compiler/artifactset.ts"],"sourcesContent":["import type { CompileMode, TypedArtifactName } from \"./package\";\nimport { artifactKey } from \"./package\";\nimport { assertNever } from \"./util\";\n\nexport class ArtifactMap<T> {\n private readonly map = new Map<string, T>();\n\n constructor(private readonly nameExtractor: (obj: T) => TypedArtifactName) {}\n\n add(obj: T, replace: boolean = true): T | undefined {\n const key = artifactKey(this.nameExtractor(obj));\n const ret = this.map.get(key);\n if (ret && !replace) return ret;\n this.map.set(key, obj);\n return ret;\n }\n\n get(name: TypedArtifactName): T | undefined {\n return this.map.get(artifactKey(name));\n }\n\n get array(): T[] {\n const ret: T[] = [];\n this.map.forEach((obj) => ret.push(obj));\n return ret;\n }\n\n forEach(callback: (value: T, key: TypedArtifactName) => void) {\n this.map.forEach((v) => callback(v, this.nameExtractor(v)));\n }\n}\n\nexport function createArtifactNameSet(): ArtifactMap<TypedArtifactName> {\n return new ArtifactMap<TypedArtifactName>((obj) => obj);\n}\n\n/**\n * ArtifactStore is a store for artifacts that are compiled for different modes.\n * It is used to collect all artifacts from the dependency tree and compile them for different modes.\n */\nexport class ArtifactStore<T> {\n // private readonly dev: ArtifactMap<T>;\n private readonly dist: ArtifactMap<T>;\n\n constructor(nameExtractor: (obj: T) => TypedArtifactName) {\n // this.dev = new ArtifactMap<T>(nameExtractor);\n this.dist = new ArtifactMap<T>(nameExtractor);\n }\n\n add(mode: CompileMode, obj: T, replace: boolean = true): T | undefined {\n switch (mode) {\n case \"dist\":\n return this.dist.add(obj, replace);\n\n default:\n assertNever(mode);\n }\n }\n\n get(mode: CompileMode, name: TypedArtifactName): T | undefined {\n switch (mode) {\n case \"dist\":\n return this.dist.get(name);\n\n default:\n assertNever(mode);\n }\n }\n\n array(mode: CompileMode): T[] {\n const ret: T[] = [];\n this.forEach(mode, (obj) => ret.push(obj));\n return ret;\n }\n\n forEach(mode: CompileMode, callback: (value: T, key: TypedArtifactName) => void) {\n this.dist.forEach((obj, k) => callback(this.get(mode, k) ?? obj, k));\n }\n}\n"],"
|
|
1
|
+
{"version":3,"file":"artifactset.cjs","names":["artifactKey"],"sources":["../../src/compiler/artifactset.ts"],"sourcesContent":["import type { CompileMode, TypedArtifactName } from \"./package\";\nimport { artifactKey } from \"./package\";\nimport { assertNever } from \"./util\";\n\nexport class ArtifactMap<T> {\n private readonly map = new Map<string, T>();\n\n constructor(private readonly nameExtractor: (obj: T) => TypedArtifactName) {}\n\n add(obj: T, replace: boolean = true): T | undefined {\n const key = artifactKey(this.nameExtractor(obj));\n const ret = this.map.get(key);\n if (ret && !replace) return ret;\n this.map.set(key, obj);\n return ret;\n }\n\n get(name: TypedArtifactName): T | undefined {\n return this.map.get(artifactKey(name));\n }\n\n get array(): T[] {\n const ret: T[] = [];\n this.map.forEach((obj) => ret.push(obj));\n return ret;\n }\n\n forEach(callback: (value: T, key: TypedArtifactName) => void) {\n this.map.forEach((v) => callback(v, this.nameExtractor(v)));\n }\n}\n\nexport function createArtifactNameSet(): ArtifactMap<TypedArtifactName> {\n return new ArtifactMap<TypedArtifactName>((obj) => obj);\n}\n\n/**\n * ArtifactStore is a store for artifacts that are compiled for different modes.\n * It is used to collect all artifacts from the dependency tree and compile them for different modes.\n */\nexport class ArtifactStore<T> {\n // private readonly dev: ArtifactMap<T>;\n private readonly dist: ArtifactMap<T>;\n\n constructor(nameExtractor: (obj: T) => TypedArtifactName) {\n // this.dev = new ArtifactMap<T>(nameExtractor);\n this.dist = new ArtifactMap<T>(nameExtractor);\n }\n\n add(mode: CompileMode, obj: T, replace: boolean = true): T | undefined {\n switch (mode) {\n case \"dist\":\n return this.dist.add(obj, replace);\n\n default:\n assertNever(mode);\n }\n }\n\n get(mode: CompileMode, name: TypedArtifactName): T | undefined {\n switch (mode) {\n case \"dist\":\n return this.dist.get(name);\n\n default:\n assertNever(mode);\n }\n }\n\n array(mode: CompileMode): T[] {\n const ret: T[] = [];\n this.forEach(mode, (obj) => ret.push(obj));\n return ret;\n }\n\n forEach(mode: CompileMode, callback: (value: T, key: TypedArtifactName) => void) {\n this.dist.forEach((obj, k) => callback(this.get(mode, k) ?? obj, k));\n }\n}\n"],"mappings":";;;;AAIA,IAAa,cAAb,MAA4B;CAC1B,AAAiB,sBAAM,IAAI,KAAgB;CAE3C,YAAY,AAAiB,eAA8C;EAA9C;;CAE7B,IAAI,KAAQ,UAAmB,MAAqB;EAClD,MAAM,MAAMA,4BAAY,KAAK,cAAc,IAAI,CAAC;EAChD,MAAM,MAAM,KAAK,IAAI,IAAI,IAAI;AAC7B,MAAI,OAAO,CAAC,QAAS,QAAO;AAC5B,OAAK,IAAI,IAAI,KAAK,IAAI;AACtB,SAAO;;CAGT,IAAI,MAAwC;AAC1C,SAAO,KAAK,IAAI,IAAIA,4BAAY,KAAK,CAAC;;CAGxC,IAAI,QAAa;EACf,MAAM,MAAW,EAAE;AACnB,OAAK,IAAI,SAAS,QAAQ,IAAI,KAAK,IAAI,CAAC;AACxC,SAAO;;CAGT,QAAQ,UAAsD;AAC5D,OAAK,IAAI,SAAS,MAAM,SAAS,GAAG,KAAK,cAAc,EAAE,CAAC,CAAC;;;AAI/D,SAAgB,wBAAwD;AACtE,QAAO,IAAI,aAAgC,QAAQ,IAAI;;;;;;AAOzD,IAAa,gBAAb,MAA8B;CAE5B,AAAiB;CAEjB,YAAY,eAA8C;AAExD,OAAK,OAAO,IAAI,YAAe,cAAc;;CAG/C,IAAI,MAAmB,KAAQ,UAAmB,MAAqB;AACrE,UAAQ,MAAR;GACE,KAAK,OACH,QAAO,KAAK,KAAK,IAAI,KAAK,QAAQ;GAEpC,QACE,0BAAY,KAAK;;;CAIvB,IAAI,MAAmB,MAAwC;AAC7D,UAAQ,MAAR;GACE,KAAK,OACH,QAAO,KAAK,KAAK,IAAI,KAAK;GAE5B,QACE,0BAAY,KAAK;;;CAIvB,MAAM,MAAwB;EAC5B,MAAM,MAAW,EAAE;AACnB,OAAK,QAAQ,OAAO,QAAQ,IAAI,KAAK,IAAI,CAAC;AAC1C,SAAO;;CAGT,QAAQ,MAAmB,UAAsD;AAC/E,OAAK,KAAK,SAAS,KAAK,MAAM,SAAS,KAAK,IAAI,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC"}
|