jsii-pacmak 1.57.0 → 1.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/jsii-pacmak.d.ts +1 -0
- package/bin/jsii-pacmak.d.ts.map +1 -0
- package/bin/jsii-pacmak.js +10 -10
- package/bin/jsii-pacmak.js.map +1 -0
- package/lib/builder.d.ts +1 -0
- package/lib/builder.d.ts.map +1 -0
- package/lib/builder.js +2 -2
- package/lib/builder.js.map +1 -0
- package/lib/dependency-graph.d.ts +1 -0
- package/lib/dependency-graph.d.ts.map +1 -0
- package/lib/dependency-graph.js +7 -11
- package/lib/dependency-graph.js.map +1 -0
- package/lib/generator.d.ts +1 -0
- package/lib/generator.d.ts.map +1 -0
- package/lib/generator.js +4 -6
- package/lib/generator.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +12 -7
- package/lib/index.js.map +1 -0
- package/lib/logging.d.ts +1 -0
- package/lib/logging.d.ts.map +1 -0
- package/lib/logging.js +1 -1
- package/lib/logging.js.map +1 -0
- package/lib/markdown.d.ts +1 -0
- package/lib/markdown.d.ts.map +1 -0
- package/lib/markdown.js +5 -9
- package/lib/markdown.js.map +1 -0
- package/lib/naming-util.d.ts +1 -0
- package/lib/naming-util.d.ts.map +1 -0
- package/lib/naming-util.js +1 -1
- package/lib/naming-util.js.map +1 -0
- package/lib/npm-modules.d.ts +1 -0
- package/lib/npm-modules.d.ts.map +1 -0
- package/lib/npm-modules.js +8 -9
- package/lib/npm-modules.js.map +1 -0
- package/lib/packaging.d.ts +1 -0
- package/lib/packaging.d.ts.map +1 -0
- package/lib/packaging.js +3 -4
- package/lib/packaging.js.map +1 -0
- package/lib/target.d.ts +1 -0
- package/lib/target.d.ts.map +1 -0
- package/lib/target.js +5 -7
- package/lib/target.js.map +1 -0
- package/lib/targets/_utils.d.ts +1 -0
- package/lib/targets/_utils.d.ts.map +1 -0
- package/lib/targets/_utils.js +4 -5
- package/lib/targets/_utils.js.map +1 -0
- package/lib/targets/dotnet/dotnetdocgenerator.d.ts +1 -0
- package/lib/targets/dotnet/dotnetdocgenerator.d.ts.map +1 -0
- package/lib/targets/dotnet/dotnetdocgenerator.js +8 -10
- package/lib/targets/dotnet/dotnetdocgenerator.js.map +1 -0
- package/lib/targets/dotnet/dotnetgenerator.d.ts +1 -0
- package/lib/targets/dotnet/dotnetgenerator.d.ts.map +1 -0
- package/lib/targets/dotnet/dotnetgenerator.js +11 -19
- package/lib/targets/dotnet/dotnetgenerator.js.map +1 -0
- package/lib/targets/dotnet/dotnetruntimegenerator.d.ts +1 -0
- package/lib/targets/dotnet/dotnetruntimegenerator.d.ts.map +1 -0
- package/lib/targets/dotnet/dotnetruntimegenerator.js +2 -3
- package/lib/targets/dotnet/dotnetruntimegenerator.js.map +1 -0
- package/lib/targets/dotnet/dotnettyperesolver.d.ts +1 -0
- package/lib/targets/dotnet/dotnettyperesolver.d.ts.map +1 -0
- package/lib/targets/dotnet/dotnettyperesolver.js +10 -14
- package/lib/targets/dotnet/dotnettyperesolver.js.map +1 -0
- package/lib/targets/dotnet/filegenerator.d.ts +1 -0
- package/lib/targets/dotnet/filegenerator.d.ts.map +1 -0
- package/lib/targets/dotnet/filegenerator.js +5 -5
- package/lib/targets/dotnet/filegenerator.js.map +1 -0
- package/lib/targets/dotnet/nameutils.d.ts +1 -0
- package/lib/targets/dotnet/nameutils.d.ts.map +1 -0
- package/lib/targets/dotnet/nameutils.js +3 -3
- package/lib/targets/dotnet/nameutils.js.map +1 -0
- package/lib/targets/dotnet.d.ts +1 -0
- package/lib/targets/dotnet.d.ts.map +1 -0
- package/lib/targets/dotnet.js +8 -8
- package/lib/targets/dotnet.js.map +1 -0
- package/lib/targets/go/comparators.d.ts +1 -0
- package/lib/targets/go/comparators.d.ts.map +1 -0
- package/lib/targets/go/comparators.js +1 -1
- package/lib/targets/go/comparators.js.map +1 -0
- package/lib/targets/go/dependencies.d.ts +1 -0
- package/lib/targets/go/dependencies.d.ts.map +1 -0
- package/lib/targets/go/dependencies.js +1 -1
- package/lib/targets/go/dependencies.js.map +1 -0
- package/lib/targets/go/documentation.d.ts +2 -0
- package/lib/targets/go/documentation.d.ts.map +1 -0
- package/lib/targets/go/documentation.js +10 -1
- package/lib/targets/go/documentation.js.map +1 -0
- package/lib/targets/go/emit-context.d.ts +1 -0
- package/lib/targets/go/emit-context.d.ts.map +1 -0
- package/lib/targets/go/emit-context.js +1 -1
- package/lib/targets/go/emit-context.js.map +1 -0
- package/lib/targets/go/package.d.ts +5 -5
- package/lib/targets/go/package.d.ts.map +1 -0
- package/lib/targets/go/package.js +26 -28
- package/lib/targets/go/package.js.map +1 -0
- package/lib/targets/go/readme-file.d.ts +4 -2
- package/lib/targets/go/readme-file.d.ts.map +1 -0
- package/lib/targets/go/readme-file.js +7 -13
- package/lib/targets/go/readme-file.js.map +1 -0
- package/lib/targets/go/runtime/class-constructor.d.ts +1 -0
- package/lib/targets/go/runtime/class-constructor.d.ts.map +1 -0
- package/lib/targets/go/runtime/class-constructor.js +6 -6
- package/lib/targets/go/runtime/class-constructor.js.map +1 -0
- package/lib/targets/go/runtime/constants.d.ts +1 -0
- package/lib/targets/go/runtime/constants.d.ts.map +1 -0
- package/lib/targets/go/runtime/constants.js +1 -1
- package/lib/targets/go/runtime/constants.js.map +1 -0
- package/lib/targets/go/runtime/emit-arguments.d.ts +1 -0
- package/lib/targets/go/runtime/emit-arguments.d.ts.map +1 -0
- package/lib/targets/go/runtime/emit-arguments.js +3 -3
- package/lib/targets/go/runtime/emit-arguments.js.map +1 -0
- package/lib/targets/go/runtime/function-call.d.ts +1 -0
- package/lib/targets/go/runtime/function-call.d.ts.map +1 -0
- package/lib/targets/go/runtime/function-call.js +2 -3
- package/lib/targets/go/runtime/function-call.js.map +1 -0
- package/lib/targets/go/runtime/index.d.ts +1 -0
- package/lib/targets/go/runtime/index.d.ts.map +1 -0
- package/lib/targets/go/runtime/index.js +7 -3
- package/lib/targets/go/runtime/index.js.map +1 -0
- package/lib/targets/go/runtime/method-call.d.ts +1 -0
- package/lib/targets/go/runtime/method-call.d.ts.map +1 -0
- package/lib/targets/go/runtime/method-call.js +5 -5
- package/lib/targets/go/runtime/method-call.js.map +1 -0
- package/lib/targets/go/runtime/property-access.d.ts +1 -0
- package/lib/targets/go/runtime/property-access.d.ts.map +1 -0
- package/lib/targets/go/runtime/property-access.js +5 -5
- package/lib/targets/go/runtime/property-access.js.map +1 -0
- package/lib/targets/go/runtime/util.d.ts +1 -0
- package/lib/targets/go/runtime/util.d.ts.map +1 -0
- package/lib/targets/go/runtime/util.js +1 -1
- package/lib/targets/go/runtime/util.js.map +1 -0
- package/lib/targets/go/types/class.d.ts +1 -0
- package/lib/targets/go/types/class.d.ts.map +1 -0
- package/lib/targets/go/types/class.js +11 -17
- package/lib/targets/go/types/class.js.map +1 -0
- package/lib/targets/go/types/enum.d.ts +1 -0
- package/lib/targets/go/types/enum.d.ts.map +1 -0
- package/lib/targets/go/types/enum.js +1 -1
- package/lib/targets/go/types/enum.js.map +1 -0
- package/lib/targets/go/types/go-type-reference.d.ts +1 -0
- package/lib/targets/go/types/go-type-reference.d.ts.map +1 -0
- package/lib/targets/go/types/go-type-reference.js +10 -14
- package/lib/targets/go/types/go-type-reference.js.map +1 -0
- package/lib/targets/go/types/go-type.d.ts +1 -0
- package/lib/targets/go/types/go-type.d.ts.map +1 -0
- package/lib/targets/go/types/go-type.js +1 -1
- package/lib/targets/go/types/go-type.js.map +1 -0
- package/lib/targets/go/types/index.d.ts +1 -0
- package/lib/targets/go/types/index.d.ts.map +1 -0
- package/lib/targets/go/types/index.js +7 -3
- package/lib/targets/go/types/index.js.map +1 -0
- package/lib/targets/go/types/interface.d.ts +1 -0
- package/lib/targets/go/types/interface.d.ts.map +1 -0
- package/lib/targets/go/types/interface.js +8 -11
- package/lib/targets/go/types/interface.js.map +1 -0
- package/lib/targets/go/types/struct.d.ts +1 -0
- package/lib/targets/go/types/struct.d.ts.map +1 -0
- package/lib/targets/go/types/struct.js +2 -2
- package/lib/targets/go/types/struct.js.map +1 -0
- package/lib/targets/go/types/type-member.d.ts +1 -0
- package/lib/targets/go/types/type-member.d.ts.map +1 -0
- package/lib/targets/go/types/type-member.js +13 -15
- package/lib/targets/go/types/type-member.js.map +1 -0
- package/lib/targets/go/util.d.ts +1 -0
- package/lib/targets/go/util.d.ts.map +1 -0
- package/lib/targets/go/util.js +5 -8
- package/lib/targets/go/util.js.map +1 -0
- package/lib/targets/go/version-file.d.ts +1 -0
- package/lib/targets/go/version-file.d.ts.map +1 -0
- package/lib/targets/go/version-file.js +1 -1
- package/lib/targets/go/version-file.js.map +1 -0
- package/lib/targets/go.d.ts +1 -0
- package/lib/targets/go.d.ts.map +1 -0
- package/lib/targets/go.js +4 -4
- package/lib/targets/go.js.map +1 -0
- package/lib/targets/index.d.ts +1 -0
- package/lib/targets/index.d.ts.map +1 -0
- package/lib/targets/index.js +3 -3
- package/lib/targets/index.js.map +1 -0
- package/lib/targets/java.d.ts +1 -0
- package/lib/targets/java.d.ts.map +1 -0
- package/lib/targets/java.js +70 -84
- package/lib/targets/java.js.map +1 -0
- package/lib/targets/js.d.ts +1 -0
- package/lib/targets/js.d.ts.map +1 -0
- package/lib/targets/js.js +2 -2
- package/lib/targets/js.js.map +1 -0
- package/lib/targets/python/requirements-dev.txt +2 -3
- package/lib/targets/python/type-name.d.ts +1 -0
- package/lib/targets/python/type-name.d.ts.map +1 -0
- package/lib/targets/python/type-name.js +63 -62
- package/lib/targets/python/type-name.js.map +1 -0
- package/lib/targets/python/util.d.ts +1 -0
- package/lib/targets/python/util.d.ts.map +1 -0
- package/lib/targets/python/util.js +1 -1
- package/lib/targets/python/util.js.map +1 -0
- package/lib/targets/python.d.ts +1 -0
- package/lib/targets/python.d.ts.map +1 -0
- package/lib/targets/python.js +108 -108
- package/lib/targets/python.js.map +1 -0
- package/lib/targets/version-utils.d.ts +1 -0
- package/lib/targets/version-utils.d.ts.map +1 -0
- package/lib/targets/version-utils.js +6 -7
- package/lib/targets/version-utils.js.map +1 -0
- package/lib/timer.d.ts +1 -0
- package/lib/timer.d.ts.map +1 -0
- package/lib/timer.js +1 -1
- package/lib/timer.js.map +1 -0
- package/lib/toposort.d.ts +1 -0
- package/lib/toposort.d.ts.map +1 -0
- package/lib/toposort.js +1 -1
- package/lib/toposort.js.map +1 -0
- package/lib/util.d.ts +1 -0
- package/lib/util.d.ts.map +1 -0
- package/lib/util.js +15 -18
- package/lib/util.js.map +1 -0
- package/lib/version.d.ts +3 -2
- package/lib/version.d.ts.map +1 -0
- package/lib/version.js +4 -4
- package/lib/version.js.map +1 -0
- package/package.json +16 -23
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { CodeMaker } from 'codemaker';
|
|
2
|
-
import { Assembly,
|
|
2
|
+
import { Assembly, ModuleLike as JsiiModuleLike, Submodule as JsiiSubmodule } from 'jsii-reflect';
|
|
3
3
|
import { SpecialDependencies } from './dependencies';
|
|
4
4
|
import { EmitContext } from './emit-context';
|
|
5
5
|
import { GoClass, GoType, GoInterface, GoTypeRef } from './types';
|
|
6
6
|
export declare const GOMOD_FILENAME = "go.mod";
|
|
7
7
|
export declare const GO_VERSION = "1.16";
|
|
8
8
|
export declare abstract class Package {
|
|
9
|
-
private readonly
|
|
10
|
-
private readonly submoduleSpec;
|
|
9
|
+
private readonly jsiiModule;
|
|
11
10
|
readonly packageName: string;
|
|
12
11
|
readonly filePath: string;
|
|
13
12
|
readonly moduleName: string;
|
|
@@ -18,7 +17,8 @@ export declare abstract class Package {
|
|
|
18
17
|
readonly submodules: InternalPackage[];
|
|
19
18
|
readonly types: GoType[];
|
|
20
19
|
private readonly embeddedTypes;
|
|
21
|
-
|
|
20
|
+
private readonly readmeFile?;
|
|
21
|
+
constructor(jsiiModule: JsiiModuleLike, packageName: string, filePath: string, moduleName: string, version: string, root?: Package);
|
|
22
22
|
get dependencies(): Package[];
|
|
23
23
|
get goModuleName(): string;
|
|
24
24
|
get dependencyImports(): Set<string>;
|
|
@@ -56,7 +56,6 @@ export declare abstract class Package {
|
|
|
56
56
|
export declare class RootPackage extends Package {
|
|
57
57
|
readonly assembly: Assembly;
|
|
58
58
|
readonly version: string;
|
|
59
|
-
private readonly readme?;
|
|
60
59
|
private readonly versionFile;
|
|
61
60
|
private readonly rootPackageCache;
|
|
62
61
|
constructor(assembly: Assembly, rootPackageCache?: Map<string, RootPackage>);
|
|
@@ -94,3 +93,4 @@ interface EmbeddedType {
|
|
|
94
93
|
readonly foriegnTypeName?: string;
|
|
95
94
|
}
|
|
96
95
|
export {};
|
|
96
|
+
//# sourceMappingURL=package.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.d.ts","sourceRoot":"","sources":["package.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,11 +18,10 @@ const INTERNAL_PACKAGE_NAME = 'internal';
|
|
|
18
18
|
* Package represents a single `.go` source file within a package. This can be the root package file or a submodule
|
|
19
19
|
*/
|
|
20
20
|
class Package {
|
|
21
|
-
constructor(
|
|
21
|
+
constructor(jsiiModule, packageName, filePath, moduleName, version,
|
|
22
22
|
// If no root is provided, this module is the root
|
|
23
23
|
root) {
|
|
24
|
-
this.
|
|
25
|
-
this.submoduleSpec = submoduleSpec;
|
|
24
|
+
this.jsiiModule = jsiiModule;
|
|
26
25
|
this.packageName = packageName;
|
|
27
26
|
this.filePath = filePath;
|
|
28
27
|
this.moduleName = moduleName;
|
|
@@ -30,9 +29,9 @@ class Package {
|
|
|
30
29
|
this.embeddedTypes = new Map();
|
|
31
30
|
this.directory = filePath;
|
|
32
31
|
this.file = `${this.directory}/${packageName}.go`;
|
|
33
|
-
this.root = root
|
|
34
|
-
this.submodules = this.
|
|
35
|
-
this.types = this.
|
|
32
|
+
this.root = root ?? this;
|
|
33
|
+
this.submodules = this.jsiiModule.submodules.map((sm) => new InternalPackage(this.root, this, sm));
|
|
34
|
+
this.types = this.jsiiModule.types.map((type) => {
|
|
36
35
|
if (type.isInterfaceType() && type.datatype) {
|
|
37
36
|
return new types_1.Struct(this, type);
|
|
38
37
|
}
|
|
@@ -47,12 +46,15 @@ class Package {
|
|
|
47
46
|
}
|
|
48
47
|
throw new Error(`Type: ${type.name} with kind ${type.kind} is not a supported type`);
|
|
49
48
|
});
|
|
49
|
+
if (this.jsiiModule.readme?.markdown) {
|
|
50
|
+
this.readmeFile = new readme_file_1.ReadmeFile(this.jsiiModule.fqn, this.jsiiModule.readme.markdown, this.directory);
|
|
51
|
+
}
|
|
50
52
|
}
|
|
51
53
|
/*
|
|
52
54
|
* Packages within this module
|
|
53
55
|
*/
|
|
54
56
|
get dependencies() {
|
|
55
|
-
return util_1.flatMap(this.types, (t) => t.dependencies).filter((mod) => mod.packageName !== this.packageName);
|
|
57
|
+
return (0, util_1.flatMap)(this.types, (t) => t.dependencies).filter((mod) => mod.packageName !== this.packageName);
|
|
56
58
|
}
|
|
57
59
|
/*
|
|
58
60
|
* goModuleName returns the full path to the module name.
|
|
@@ -76,7 +78,7 @@ class Package {
|
|
|
76
78
|
* Search for a type with a `fqn` within this. Searches all Children modules as well.
|
|
77
79
|
*/
|
|
78
80
|
findType(fqn) {
|
|
79
|
-
return util_1.findTypeInTree(this, fqn);
|
|
81
|
+
return (0, util_1.findTypeInTree)(this, fqn);
|
|
80
82
|
}
|
|
81
83
|
emit(context) {
|
|
82
84
|
const { code } = context;
|
|
@@ -85,6 +87,7 @@ class Package {
|
|
|
85
87
|
this.emitImports(code);
|
|
86
88
|
this.emitTypes(context);
|
|
87
89
|
code.closeFile(this.file);
|
|
90
|
+
this.readmeFile?.emit(context);
|
|
88
91
|
this.emitGoInitFunction(context);
|
|
89
92
|
this.emitSubmodules(context);
|
|
90
93
|
this.emitInternal(context);
|
|
@@ -160,7 +163,7 @@ class Package {
|
|
|
160
163
|
// form. It also saves us from "imported but unused" errors that would arise
|
|
161
164
|
// as a consequence.
|
|
162
165
|
if (this.types.length > 0) {
|
|
163
|
-
const initFile = path_1.join(path_1.dirname(this.file), `${path_1.basename(this.file, '.go')}.init.go`);
|
|
166
|
+
const initFile = (0, path_1.join)((0, path_1.dirname)(this.file), `${(0, path_1.basename)(this.file, '.go')}.init.go`);
|
|
164
167
|
code.openFile(initFile);
|
|
165
168
|
code.line(`package ${this.packageName}`);
|
|
166
169
|
code.line();
|
|
@@ -213,7 +216,7 @@ class Package {
|
|
|
213
216
|
return;
|
|
214
217
|
}
|
|
215
218
|
const code = context.code;
|
|
216
|
-
const fileName = path_1.join(this.directory, INTERNAL_PACKAGE_NAME, 'types.go');
|
|
219
|
+
const fileName = (0, path_1.join)(this.directory, INTERNAL_PACKAGE_NAME, 'types.go');
|
|
217
220
|
code.openFile(fileName);
|
|
218
221
|
code.line(`package ${INTERNAL_PACKAGE_NAME}`);
|
|
219
222
|
const imports = new Set();
|
|
@@ -244,27 +247,21 @@ exports.Package = Package;
|
|
|
244
247
|
*/
|
|
245
248
|
class RootPackage extends Package {
|
|
246
249
|
constructor(assembly, rootPackageCache = new Map()) {
|
|
247
|
-
|
|
248
|
-
const
|
|
249
|
-
const packageName = util_1.goPackageNameForAssembly(assembly);
|
|
250
|
+
const goConfig = assembly.targets?.go ?? {};
|
|
251
|
+
const packageName = (0, util_1.goPackageNameForAssembly)(assembly);
|
|
250
252
|
const filePath = '';
|
|
251
|
-
const moduleName =
|
|
252
|
-
const version = `${assembly.version}${
|
|
253
|
-
super(assembly
|
|
253
|
+
const moduleName = goConfig.moduleName ?? '';
|
|
254
|
+
const version = `${assembly.version}${goConfig.versionSuffix ?? ''}`;
|
|
255
|
+
super(assembly, packageName, filePath, moduleName, version);
|
|
254
256
|
this.rootPackageCache = rootPackageCache;
|
|
255
257
|
this.rootPackageCache.set(assembly.name, this);
|
|
256
258
|
this.assembly = assembly;
|
|
257
259
|
this.version = version;
|
|
258
260
|
this.versionFile = new version_file_1.VersionFile(this.version);
|
|
259
|
-
if ((_e = this.assembly.readme) === null || _e === void 0 ? void 0 : _e.markdown) {
|
|
260
|
-
this.readme = new readme_file_1.ReadmeFile(this.packageName, this.assembly.readme.markdown);
|
|
261
|
-
}
|
|
262
261
|
}
|
|
263
262
|
emit(context) {
|
|
264
|
-
var _a;
|
|
265
263
|
super.emit(context);
|
|
266
264
|
this.emitJsiiPackage(context);
|
|
267
|
-
(_a = this.readme) === null || _a === void 0 ? void 0 : _a.emit(context);
|
|
268
265
|
this.emitGomod(context.code);
|
|
269
266
|
this.versionFile.emit(context.code);
|
|
270
267
|
}
|
|
@@ -319,7 +316,8 @@ class RootPackage extends Package {
|
|
|
319
316
|
* Get all JSII module dependencies of the package being generated
|
|
320
317
|
*/
|
|
321
318
|
get packageDependencies() {
|
|
322
|
-
return this.assembly.dependencies.map((dep) =>
|
|
319
|
+
return this.assembly.dependencies.map((dep) => this.rootPackageCache.get(dep.assembly.name) ??
|
|
320
|
+
new RootPackage(dep.assembly, this.rootPackageCache));
|
|
323
321
|
}
|
|
324
322
|
emitHeader(code) {
|
|
325
323
|
if (this.assembly.description !== '') {
|
|
@@ -330,7 +328,7 @@ class RootPackage extends Package {
|
|
|
330
328
|
}
|
|
331
329
|
emitJsiiPackage({ code }) {
|
|
332
330
|
const dependencies = this.packageDependencies.sort((l, r) => l.moduleName.localeCompare(r.moduleName));
|
|
333
|
-
const file = path_1.join(runtime_1.JSII_INIT_PACKAGE, `${runtime_1.JSII_INIT_PACKAGE}.go`);
|
|
331
|
+
const file = (0, path_1.join)(runtime_1.JSII_INIT_PACKAGE, `${runtime_1.JSII_INIT_PACKAGE}.go`);
|
|
334
332
|
code.openFile(file);
|
|
335
333
|
code.line(`// Package ${runtime_1.JSII_INIT_PACKAGE} contains the functionaility needed for jsii packages to`);
|
|
336
334
|
code.line('// initialize their dependencies and themselves. Users should never need to use this package');
|
|
@@ -352,7 +350,7 @@ class RootPackage extends Package {
|
|
|
352
350
|
}
|
|
353
351
|
importGoModules(code, toImport);
|
|
354
352
|
code.line();
|
|
355
|
-
code.line(`//go:embed ${util_1.tarballName(this.assembly)}`);
|
|
353
|
+
code.line(`//go:embed ${(0, util_1.tarballName)(this.assembly)}`);
|
|
356
354
|
code.line('var tarball []byte');
|
|
357
355
|
code.line();
|
|
358
356
|
code.line(`// ${runtime_1.JSII_INIT_FUNC} loads the necessary packages in the @jsii/kernel to support the enclosing module.`);
|
|
@@ -377,9 +375,9 @@ exports.RootPackage = RootPackage;
|
|
|
377
375
|
*/
|
|
378
376
|
class InternalPackage extends Package {
|
|
379
377
|
constructor(root, parent, assembly) {
|
|
380
|
-
const packageName = util_1.goPackageNameForAssembly(assembly);
|
|
378
|
+
const packageName = (0, util_1.goPackageNameForAssembly)(assembly);
|
|
381
379
|
const filePath = parent === root ? packageName : `${parent.filePath}/${packageName}`;
|
|
382
|
-
super(assembly
|
|
380
|
+
super(assembly, packageName, filePath, root.moduleName, root.version, root);
|
|
383
381
|
this.parent = parent;
|
|
384
382
|
}
|
|
385
383
|
}
|
|
@@ -418,7 +416,7 @@ function importGoModules(code, modules) {
|
|
|
418
416
|
if (modules.length === 0) {
|
|
419
417
|
return;
|
|
420
418
|
}
|
|
421
|
-
const aliasSize = Math.max(...modules.map((mod) =>
|
|
419
|
+
const aliasSize = Math.max(...modules.map((mod) => mod.alias?.length ?? 0));
|
|
422
420
|
code.open('import (');
|
|
423
421
|
const sortedModules = Array.from(modules).sort(compareImportedModules);
|
|
424
422
|
for (let i = 0; i < sortedModules.length; i++) {
|
|
@@ -470,4 +468,4 @@ function importGoModules(code, modules) {
|
|
|
470
468
|
return mod.alias === runtime_1.JSII_RT_ALIAS || mod.alias === runtime_1.JSII_INIT_ALIAS;
|
|
471
469
|
}
|
|
472
470
|
}
|
|
473
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInBhY2thZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsK0JBQStDO0FBQy9DLGlDQUFpQztBQUVqQywyQ0FBd0M7QUFHeEMsK0NBQTJDO0FBQzNDLHVDQU9tQjtBQUNuQixtQ0FBZ0Y7QUFDaEYsaUNBS2dCO0FBQ2hCLGlEQUE2QztBQUVoQyxRQUFBLGNBQWMsR0FBRyxRQUFRLENBQUM7QUFDMUIsUUFBQSxVQUFVLEdBQUcsTUFBTSxDQUFDO0FBRWpDLDZFQUE2RTtBQUM3RSxrQ0FBa0M7QUFDbEMsTUFBTSxxQkFBcUIsR0FBRyxVQUFVLENBQUM7QUFFekM7O0dBRUc7QUFDSCxNQUFzQixPQUFPO0lBUzNCLFlBQ21CLFFBQXlCLEVBQ3pCLGFBQXVDLEVBQ3hDLFdBQW1CLEVBQ25CLFFBQWdCLEVBQ2hCLFVBQWtCLEVBQ2xCLE9BQWU7SUFDL0Isa0RBQWtEO0lBQ2xELElBQWM7UUFQRyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDeEMsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFSaEIsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztRQVkvRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxXQUFXLEtBQUssQ0FBQztRQUNsRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksYUFBSixJQUFJLGNBQUosSUFBSSxHQUFJLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUN0QyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMs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RCxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsU0FBUyxTQUFTLENBQUMsR0FBbUI7UUFDcEMseUVBQXlFO1FBQ3pFLG9FQUFvRTtRQUNwRSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFNBQVMsU0FBUyxDQUFDLEdBQW1CO1FBQ3BDLE9BQU8sR0FBRyxDQUFDLEtBQUssS0FBSyx1QkFBYSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEtBQUsseUJBQWUsQ0FBQztJQUN0RSxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVNYWtlciB9IGZyb20gJ2NvZGVtYWtlcic7XG5pbXBvcnQgeyBBc3NlbWJseSwgVHlwZSwgU3VibW9kdWxlIGFzIEpzaWlTdWJtb2R1bGUgfSBmcm9tICdqc2lpLXJlZmxlY3QnO1xuaW1wb3J0IHsgYmFzZW5hbWUsIGRpcm5hbWUsIGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tICdzZW12ZXInO1xuXG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSAnLi4vLi4vdmVyc2lvbic7XG5pbXBvcnQgeyBTcGVjaWFsRGVwZW5kZW5jaWVzIH0gZnJvbSAnLi9kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHsgRW1pdENvbnRleHQgfSBmcm9tICcuL2VtaXQtY29udGV4dCc7XG5pbXBvcnQgeyBSZWFkbWVGaWxlIH0gZnJvbSAnLi9yZWFkbWUtZmlsZSc7XG5pbXBvcnQge1xuICBKU0lJX1JUX0FMSUFTLFxuICBKU0lJX1JUX01PRFVMRV9OQU1FLFxuICBKU0lJX1JUX1BBQ0tBR0VfTkFNRSxcbiAgSlNJSV9JTklUX1BBQ0tBR0UsXG4gIEpTSUlfSU5JVF9GVU5DLFxuICBKU0lJX0lOSVRfQUxJQVMsXG59IGZyb20gJy4vcnVudGltZSc7XG5pbXBvcnQgeyBHb0NsYXNzLCBHb1R5cGUsIEVudW0sIEdvSW50ZXJmYWNlLCBTdHJ1Y3QsIEdvVHlwZVJlZiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgZmluZFR5cGVJblRyZWUsXG4gIGdvUGFja2FnZU5hbWVGb3JBc3NlbWJseSxcbiAgZmxhdE1hcCxcbiAgdGFyYmFsbE5hbWUsXG59IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBWZXJzaW9uRmlsZSB9IGZyb20gJy4vdmVyc2lvbi1maWxlJztcblxuZXhwb3J0IGNvbnN0IEdPTU9EX0ZJTEVOQU1FID0gJ2dvLm1vZCc7XG5leHBvcnQgY29uc3QgR09fVkVSU0lPTiA9ICcxLjE2JztcblxuLy8gdGhlIG5hbWUgb2YgYSBzdWItcGFja2FnZSB0aGF0IGluY2x1ZGVzIGludGVybmFsIHR5cGUgYWxpYXNlcyBpdCBoYXMgdG8gYmVcbi8vIFwiaW50ZXJuYWxcIiBzbyBpdCBub3QgcHVibGlzaGVkLlxuY29uc3QgSU5URVJOQUxfUEFDS0FHRV9OQU1FID0gJ2ludGVybmFsJztcblxuLypcbiAqIFBhY2thZ2UgcmVwcmVzZW50cyBhIHNpbmdsZSBgLmdvYCBzb3VyY2UgZmlsZSB3aXRoaW4gYSBwYWNrYWdlLiBUaGlzIGNhbiBiZSB0aGUgcm9vdCBwYWNrYWdlIGZpbGUgb3IgYSBzdWJtb2R1bGVcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBhY2thZ2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgcm9vdDogUGFja2FnZTtcbiAgcHVibGljIHJlYWRvbmx5IGZpbGU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgc3VibW9kdWxlczogSW50ZXJuYWxQYWNrYWdlW107XG4gIHB1YmxpYyByZWFkb25seSB0eXBlczogR29UeXBlW107XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbWJlZGRlZFR5cGVzID0gbmV3IE1hcDxzdHJpbmcsIEVtYmVkZGVkVHlwZT4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0eXBlU3BlYzogcmVhZG9ubHkgVHlwZVtdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VibW9kdWxlU3BlYzogcmVhZG9ubHkgSnNpaVN1Ym1vZHVsZVtdLFxuICAgIHB1YmxpYyByZWFkb25seSBwYWNrYWdlTmFtZTogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBmaWxlUGF0aDogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBtb2R1bGVOYW1lOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZyxcbiAgICAvLyBJZiBubyByb290IGlzIHByb3ZpZGVkLCB0aGlzIG1vZHVsZSBpcyB0aGUgcm9vdFxuICAgIHJvb3Q/OiBQYWNrYWdlLFxuICApIHtcbiAgICB0aGlzLmRpcmVjdG9yeSA9IGZpbGVQYXRoO1xuICAgIHRoaXMuZmlsZSA9IGAke3RoaXMuZGlyZWN0b3J5fS8ke3BhY2thZ2VOYW1lfS5nb2A7XG4gICAgdGhpcy5yb290ID0gcm9vdCA/PyB0aGlzO1xuICAgIHRoaXMuc3VibW9kdWxlcyA9IHRoaXMuc3VibW9kdWxlU3BlYy5tYXAoXG4gICAgICAoc20pID0+IG5ldyBJbnRlcm5hbFBhY2thZ2UodGhpcy5yb290LCB0aGlzLCBzbSksXG4gICAgKTtcblxuICAgIHRoaXMudHlwZXMgPSB0aGlzLnR5cGVTcGVjLm1hcCgodHlwZTogVHlwZSk6IEdvVHlwZSA9PiB7XG4gICAgICBpZiAodHlwZS5pc0ludGVyZmFjZVR5cGUoKSAmJiB0eXBlLmRhdGF0eXBlKSB7XG4gICAgICAgIHJldHVybiBuZXcgU3RydWN0KHRoaXMsIHR5cGUpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlLmlzSW50ZXJmYWNlVHlwZSgpKSB7XG4gICAgICAgIHJldHVybiBuZXcgR29JbnRlcmZhY2UodGhpcywgdHlwZSk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUuaXNDbGFzc1R5cGUoKSkge1xuICAgICAgICByZXR1cm4gbmV3IEdvQ2xhc3ModGhpcywgdHlwZSk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUuaXNFbnVtVHlwZSgpKSB7XG4gICAgICAgIHJldHVybiBuZXcgRW51bSh0aGlzLCB0eXBlKTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFR5cGU6ICR7dHlwZS5uYW1lfSB3aXRoIGtpbmQgJHt0eXBlLmtpbmR9IGlzIG5vdCBhIHN1cHBvcnRlZCB0eXBlYCxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICAvKlxuICAgKiBQYWNrYWdlcyB3aXRoaW4gdGhpcyBtb2R1bGVcbiAgICovXG4gIHB1YmxpYyBnZXQgZGVwZW5kZW5jaWVzKCk6IFBhY2thZ2VbXSB7XG4gICAgcmV0dXJuIGZsYXRNYXAodGhpcy50eXBlcywgKHQ6IEdvVHlwZSk6IFBhY2thZ2VbXSA9PiB0LmRlcGVuZGVuY2llcykuZmlsdGVyKFxuICAgICAgKG1vZCkgPT4gbW9kLnBhY2thZ2VOYW1lICE9PSB0aGlzLnBhY2thZ2VOYW1lLFxuICAgICk7XG4gIH1cblxuICAvKlxuICAgKiBnb01vZHVsZU5hbWUgcmV0dXJucyB0aGUgZnVsbCBwYXRoIHRvIHRoZSBtb2R1bGUgbmFtZS5cbiAgICogVXNlZCBmb3IgaW1wb3J0IHN0YXRlbWVudHMgYW5kIGdvLm1vZCBnZW5lcmF0aW9uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGdvTW9kdWxlTmFtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1vZHVsZU5hbWUgPSB0aGlzLnJvb3QubW9kdWxlTmFtZTtcbiAgICBjb25zdCBwcmVmaXggPSBtb2R1bGVOYW1lICE9PSAnJyA/IGAke21vZHVsZU5hbWV9L2AgOiAnJztcbiAgICBjb25zdCByb290UGFja2FnZU5hbWUgPSB0aGlzLnJvb3QucGFja2FnZU5hbWU7XG4gICAgY29uc3QgdmVyc2lvblN1ZmZpeCA9IGRldGVybWluZU1ham9yVmVyc2lvblN1ZmZpeCh0aGlzLnZlcnNpb24pO1xuICAgIGNvbnN0IHN1ZmZpeCA9IHRoaXMuZmlsZVBhdGggIT09ICcnID8gYC8ke3RoaXMuZmlsZVBhdGh9YCA6IGBgO1xuICAgIHJldHVybiBgJHtwcmVmaXh9JHtyb290UGFja2FnZU5hbWV9JHt2ZXJzaW9uU3VmZml4fSR7c3VmZml4fWA7XG4gIH1cblxuICAvKlxuICAgKiBUaGUgbW9kdWxlIG5hbWVzIG9mIHRoaXMgbW9kdWxlJ3MgZGVwZW5kZW5jaWVzLiBVc2VkIGZvciBpbXBvcnQgc3RhdGVtZW50cy5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGVwZW5kZW5jeUltcG9ydHMoKTogU2V0PHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgU2V0KHRoaXMuZGVwZW5kZW5jaWVzLm1hcCgocGtnKSA9PiBwa2cuZ29Nb2R1bGVOYW1lKSk7XG4gIH1cblxuICAvKlxuICAgKiBTZWFyY2ggZm9yIGEgdHlwZSB3aXRoIGEgYGZxbmAgd2l0aGluIHRoaXMuIFNlYXJjaGVzIGFsbCBDaGlsZHJlbiBtb2R1bGVzIGFzIHdlbGwuXG4gICAqL1xuICBwdWJsaWMgZmluZFR5cGUoZnFuOiBzdHJpbmcpOiBHb1R5cGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBmaW5kVHlwZUluVHJlZSh0aGlzLCBmcW4pO1xuICB9XG5cbiAgcHVibGljIGVtaXQoY29udGV4dDogRW1pdENvbnRleHQpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNvZGUgfSA9IGNvbnRleHQ7XG5cbiAgICBjb2RlLm9wZW5GaWxlKHRoaXMuZmlsZSk7XG4gICAgdGhpcy5lbWl0SGVhZGVyKGNvZGUpO1xuICAgIHRoaXMuZW1pdEltcG9ydHMoY29kZSk7XG4gICAgdGhpcy5lbWl0VHlwZXMoY29udGV4dCk7XG4gICAgY29kZS5jbG9zZUZpbGUodGhpcy5maWxlKTtcblxuICAgIHRoaXMuZW1pdEdvSW5pdEZ1bmN0aW9uKGNvbnRleHQpO1xuICAgIHRoaXMuZW1pdFN1Ym1vZHVsZXMoY29udGV4dCk7XG5cbiAgICB0aGlzLmVtaXRJbnRlcm5hbChjb250ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0U3VibW9kdWxlcyhjb250ZXh0OiBFbWl0Q29udGV4dCkge1xuICAgIGZvciAoY29uc3Qgc3VibW9kdWxlIG9mIHRoaXMuc3VibW9kdWxlcykge1xuICAgICAgc3VibW9kdWxlLmVtaXQoY29udGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgYHR5cGVgIGNvbWVzIGZyb20gYSBmb3JlaWduIHBhY2thZ2UuXG4gICAqL1xuICBwdWJsaWMgaXNFeHRlcm5hbFR5cGUodHlwZTogR29DbGFzcyB8IEdvSW50ZXJmYWNlKSB7XG4gICAgcmV0dXJuIHR5cGUucGtnICE9PSB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG5hbWUgb2YgdGhlIGVtYmVkIGZpZWxkIHVzZWQgdG8gZW1iZWQgYSBiYXNlIGNsYXNzL2ludGVyZmFjZSBpbiBhXG4gICAqIHN0cnVjdC5cbiAgICpcbiAgICogQHJldHVybnMgSWYgdGhlIGJhc2UgaXMgaW4gdGhlIHNhbWUgcGFja2FnZSwgcmV0dXJucyB0aGUgcHJveHkgbmFtZSBvZiB0aGVcbiAgICogYmFzZSB1bmRlciBgZW1iZWRgLCBvdGhlcndpc2UgcmV0dXJucyBhIHVuaXF1ZSBzeW1ib2wgdW5kZXIgYGVtYmVkYCBhbmQgdGhlXG4gICAqIG9yaWdpbmFsIGludGVyZmFjZSByZWZlcmVuY2UgdW5kZXIgYG9yaWdpbmFsYC5cbiAgICpcbiAgICogQHBhcmFtIHR5cGUgVGhlIGJhc2UgdHlwZSB3ZSB3YW50IHRvIGVtYmVkXG4gICAqL1xuICBwdWJsaWMgcmVzb2x2ZUVtYmVkZGVkVHlwZSh0eXBlOiBHb0NsYXNzIHwgR29JbnRlcmZhY2UpOiBFbWJlZGRlZFR5cGUge1xuICAgIGlmICghdGhpcy5pc0V4dGVybmFsVHlwZSh0eXBlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZW1iZWQ6IHR5cGUucHJveHlOYW1lLFxuICAgICAgICBmaWVsZE5hbWU6IHR5cGUucHJveHlOYW1lLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBleGlzdHMgPSB0aGlzLmVtYmVkZGVkVHlwZXMuZ2V0KHR5cGUuZnFuKTtcbiAgICBpZiAoZXhpc3RzKSB7XG4gICAgICByZXR1cm4gZXhpc3RzO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGVyZWYgPSBuZXcgR29UeXBlUmVmKHRoaXMucm9vdCwgdHlwZS50eXBlLnJlZmVyZW5jZSk7XG4gICAgY29uc3Qgb3JpZ2luYWwgPSB0eXBlcmVmLnNjb3BlZE5hbWUodGhpcyk7XG5cbiAgICBjb25zdCBzbHVnID0gb3JpZ2luYWwucmVwbGFjZSgvW15BLVphLXowLTldL2csICcnKTtcbiAgICBjb25zdCBhbGlhc05hbWUgPSBgVHlwZV9fJHtzbHVnfWA7XG5cbiAgICBjb25zdCBlbWJlZGRlZFR5cGU6IEVtYmVkZGVkVHlwZSA9IHtcbiAgICAgIGZvcmllZ25UeXBlTmFtZTogb3JpZ2luYWwsXG4gICAgICBmb3JpZWduVHlwZTogdHlwZXJlZixcbiAgICAgIGZpZWxkTmFtZTogYWxpYXNOYW1lLFxuICAgICAgZW1iZWQ6IGAke0lOVEVSTkFMX1BBQ0tBR0VfTkFNRX0uJHthbGlhc05hbWV9YCxcbiAgICB9O1xuICAgIHRoaXMuZW1iZWRkZWRUeXBlcy5zZXQodHlwZS5mcW4sIGVtYmVkZGVkVHlwZSk7XG5cbiAgICByZXR1cm4gZW1iZWRkZWRUeXBlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGVtaXRIZWFkZXIoY29kZTogQ29kZU1ha2VyKSB7XG4gICAgY29kZS5saW5lKGBwYWNrYWdlICR7dGhpcy5wYWNrYWdlTmFtZX1gKTtcbiAgICBjb2RlLmxpbmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgc3BlY2lhbERlcGVuZGVuY2llcygpOiBTcGVjaWFsRGVwZW5kZW5jaWVzIHtcbiAgICByZXR1cm4gdGhpcy50eXBlc1xuICAgICAgLm1hcCgodCkgPT4gdC5zcGVjaWFsRGVwZW5kZW5jaWVzKVxuICAgICAgLnJlZHVjZShcbiAgICAgICAgKGFjYywgZWx0KSA9PiAoe1xuICAgICAgICAgIHJ1bnRpbWU6IGFjYy5ydW50aW1lIHx8IGVsdC5ydW50aW1lLFxuICAgICAgICAgIGluaXQ6IGFjYy5pbml0IHx8IGVsdC5pbml0LFxuICAgICAgICAgIGludGVybmFsOiBhY2MuaW50ZXJuYWwgfHwgZWx0LmludGVybmFsLFxuICAgICAgICAgIHRpbWU6IGFjYy50aW1lIHx8IGVsdC50aW1lLFxuICAgICAgICB9KSxcbiAgICAgICAgeyBydW50aW1lOiBmYWxzZSwgaW5pdDogZmFsc2UsIGludGVybmFsOiBmYWxzZSwgdGltZTogZmFsc2UgfSxcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYSBgZnVuYyBpbml0KCkgeyAuLi4gfWAgaW4gYSBkZWRpY2F0ZWQgZmlsZSAoc28gd2UgZG9uJ3QgaGF2ZSB0b1xuICAgKiB3b3JyeSBhYm91dCB3aGF0IG5lZWRzIHRvIGJlIGltcG9ydGVkIGFuZCB3aGF0bm90KS4gVGhpcyBmdW5jdGlvbiBpc1xuICAgKiByZXNwb25zaWJsZSBmb3IgY29ycmVjdGx5IGluaXRpYWxpemluZyB0aGUgbW9kdWxlLCBpbmNsdWRpbmcgcmVnaXN0ZXJpbmdcbiAgICogdGhlIGRlY2xhcmVkIHR5cGVzIHdpdGggdGhlIGpzaWkgcnVudGltZSBmb3IgZ28uXG4gICAqL1xuICBwcml2YXRlIGVtaXRHb0luaXRGdW5jdGlvbih7IGNvZGUgfTogRW1pdENvbnRleHQpOiB2b2lkIHtcbiAgICAvLyBXZSBkb24ndCBlbWl0IGFueXRoaW5nIGlmIHRoZXJlIGFyZSBub3QgdHlwZXMgaW4gdGhpcyAoc3ViKW1vZHVsZS4gVGhpc1xuICAgIC8vIGF2b2lkcyByZWdpc3RlcmluZyBhbiBgaW5pdGAgZnVuY3Rpb24gdGhhdCBkb2VzIG5vdGhpbmcsIHdoaWNoIGlzIHBvb3JcbiAgICAvLyBmb3JtLiBJdCBhbHNvIHNhdmVzIHVzIGZyb20gXCJpbXBvcnRlZCBidXQgdW51c2VkXCIgZXJyb3JzIHRoYXQgd291bGQgYXJpc2VcbiAgICAvLyBhcyBhIGNvbnNlcXVlbmNlLlxuICAgIGlmICh0aGlzLnR5cGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGluaXRGaWxlID0gam9pbihcbiAgICAgICAgZGlybmFtZSh0aGlzLmZpbGUpLFxuICAgICAgICBgJHtiYXNlbmFtZSh0aGlzLmZpbGUsICcuZ28nKX0uaW5pdC5nb2AsXG4gICAgICApO1xuICAgICAgY29kZS5vcGVuRmlsZShpbml0RmlsZSk7XG4gICAgICBjb2RlLmxpbmUoYHBhY2thZ2UgJHt0aGlzLnBhY2thZ2VOYW1lfWApO1xuICAgICAgY29kZS5saW5lKCk7XG4gICAgICBpbXBvcnRHb01vZHVsZXMoY29kZSwgW0dPX1JFRkxFQ1QsIEpTSUlfUlRfTU9EVUxFXSk7XG4gICAgICBjb2RlLmxpbmUoKTtcbiAgICAgIGNvZGUub3BlbkJsb2NrKCdmdW5jIGluaXQoKScpO1xuICAgICAgZm9yIChjb25zdCB0eXBlIG9mIHRoaXMudHlwZXMpIHtcbiAgICAgICAgdHlwZS5lbWl0UmVnaXN0cmF0aW9uKGNvZGUpO1xuICAgICAgfVxuICAgICAgY29kZS5jbG9zZUJsb2NrKCk7XG4gICAgICBjb2RlLmNsb3NlRmlsZShpbml0RmlsZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0SW1wb3J0cyhjb2RlOiBDb2RlTWFrZXIpIHtcbiAgICBjb25zdCB0b0ltcG9ydCA9IG5ldyBBcnJheTxJbXBvcnRlZE1vZHVsZT4oKTtcblxuICAgIGNvbnN0IHNwZWNpYWxEZXBzID0gdGhpcy5zcGVjaWFsRGVwZW5kZW5jaWVzO1xuXG4gICAgaWYgKHNwZWNpYWxEZXBzLnRpbWUpIHtcbiAgICAgIHRvSW1wb3J0LnB1c2goeyBtb2R1bGU6ICd0aW1lJyB9KTtcbiAgICB9XG5cbiAgICBpZiAoc3BlY2lhbERlcHMucnVudGltZSkge1xuICAgICAgdG9JbXBvcnQucHVzaChKU0lJX1JUX01PRFVMRSk7XG4gICAgfVxuXG4gICAgaWYgKHNwZWNpYWxEZXBzLmluaXQpIHtcbiAgICAgIHRvSW1wb3J0LnB1c2goe1xuICAgICAgICBhbGlhczogSlNJSV9JTklUX0FMSUFTLFxuICAgICAgICBtb2R1bGU6IGAke3RoaXMucm9vdC5nb01vZHVsZU5hbWV9LyR7SlNJSV9JTklUX1BBQ0tBR0V9YCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChzcGVjaWFsRGVwcy5pbnRlcm5hbCkge1xuICAgICAgdG9JbXBvcnQucHVzaCh7XG4gICAgICAgIG1vZHVsZTogYCR7dGhpcy5nb01vZHVsZU5hbWV9LyR7SU5URVJOQUxfUEFDS0FHRV9OQU1FfWAsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHBhY2thZ2VOYW1lIG9mIHRoaXMuZGVwZW5kZW5jeUltcG9ydHMpIHtcbiAgICAgIC8vIElmIHRoZSBtb2R1bGUgaXMgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnQgb25lIGJlaW5nIHdyaXR0ZW4sIGRvbid0IGVtaXQgYW4gaW1wb3J0IHN0YXRlbWVudFxuICAgICAgaWYgKHBhY2thZ2VOYW1lICE9PSB0aGlzLnBhY2thZ2VOYW1lKSB7XG4gICAgICAgIHRvSW1wb3J0LnB1c2goeyBtb2R1bGU6IHBhY2thZ2VOYW1lIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltcG9ydEdvTW9kdWxlcyhjb2RlLCB0b0ltcG9ydCk7XG4gICAgY29kZS5saW5lKCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRUeXBlcyhjb250ZXh0OiBFbWl0Q29udGV4dCkge1xuICAgIGZvciAoY29uc3QgdHlwZSBvZiB0aGlzLnR5cGVzKSB7XG4gICAgICB0eXBlLmVtaXQoY29udGV4dCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0SW50ZXJuYWwoY29udGV4dDogRW1pdENvbnRleHQpIHtcbiAgICBpZiAodGhpcy5lbWJlZGRlZFR5cGVzLnNpemUgPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb2RlID0gY29udGV4dC5jb2RlO1xuXG4gICAgY29uc3QgZmlsZU5hbWUgPSBqb2luKHRoaXMuZGlyZWN0b3J5LCBJTlRFUk5BTF9QQUNLQUdFX05BTUUsICd0eXBlcy5nbycpO1xuICAgIGNvZGUub3BlbkZpbGUoZmlsZU5hbWUpO1xuXG4gICAgY29kZS5saW5lKGBwYWNrYWdlICR7SU5URVJOQUxfUEFDS0FHRV9OQU1FfWApO1xuXG4gICAgY29uc3QgaW1wb3J0cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgZm9yIChjb25zdCBhbGlhcyBvZiB0aGlzLmVtYmVkZGVkVHlwZXMudmFsdWVzKCkpIHtcbiAgICAgIGlmICghYWxpYXMuZm9yaWVnblR5cGUpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgcGtnIG9mIGFsaWFzLmZvcmllZ25UeXBlLmRlcGVuZGVuY2llcykge1xuICAgICAgICBpbXBvcnRzLmFkZChwa2cuZ29Nb2R1bGVOYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb2RlLm9wZW4oJ2ltcG9ydCAoJyk7XG4gICAgZm9yIChjb25zdCBpbXBydCBvZiBpbXBvcnRzKSB7XG4gICAgICBjb2RlLmxpbmUoYFwiJHtpbXBydH1cImApO1xuICAgIH1cbiAgICBjb2RlLmNsb3NlKCcpJyk7XG5cbiAgICBmb3IgKGNvbnN0IGFsaWFzIG9mIHRoaXMuZW1iZWRkZWRUeXBlcy52YWx1ZXMoKSkge1xuICAgICAgY29kZS5saW5lKGB0eXBlICR7YWxpYXMuZmllbGROYW1lfSA9ICR7YWxpYXMuZm9yaWVnblR5cGVOYW1lfWApO1xuICAgIH1cblxuICAgIGNvZGUuY2xvc2VGaWxlKGZpbGVOYW1lKTtcbiAgfVxufVxuXG4vKlxuICogUm9vdFBhY2thZ2UgY29ycmVzcG9uZHMgdG8gSlNJSSBtb2R1bGUuXG4gKlxuICogRXh0ZW5kcyBgUGFja2FnZWAgZm9yIHJvb3Qgc291cmNlIHBhY2thZ2UgZW1pdCBsb2dpY1xuICovXG5leHBvcnQgY2xhc3MgUm9vdFBhY2thZ2UgZXh0ZW5kcyBQYWNrYWdlIHtcbiAgcHVibGljIHJlYWRvbmx5IGFzc2VtYmx5OiBBc3NlbWJseTtcbiAgcHVibGljIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSByZWFkbWU/OiBSZWFkbWVGaWxlO1xuICBwcml2YXRlIHJlYWRvbmx5IHZlcnNpb25GaWxlOiBWZXJzaW9uRmlsZTtcblxuICAvLyBUaGlzIGNhY2hlIG9mIHJvb3QgcGFja2FnZXMgaXMgc2hhcmVkIGFjcm9zcyBhbGwgcm9vdCBwYWNrYWdlcyBkZXJpdmVkIGNyZWF0ZWQgYnkgdGhpcyBvbmUgKHZpYSBkZXBlbmRlbmNpZXMpLlxuICBwcml2YXRlIHJlYWRvbmx5IHJvb3RQYWNrYWdlQ2FjaGU6IE1hcDxzdHJpbmcsIFJvb3RQYWNrYWdlPjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgYXNzZW1ibHk6IEFzc2VtYmx5LFxuICAgIHJvb3RQYWNrYWdlQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgUm9vdFBhY2thZ2U+KCksXG4gICkge1xuICAgIGNvbnN0IGdvQ29uZmlnID0gYXNzZW1ibHkudGFyZ2V0cz8uZ28gPz8ge307XG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSBnb1BhY2thZ2VOYW1lRm9yQXNzZW1ibHkoYXNzZW1ibHkpO1xuICAgIGNvbnN0IGZpbGVQYXRoID0gJyc7XG4gICAgY29uc3QgbW9kdWxlTmFtZSA9IGdvQ29uZmlnLm1vZHVsZU5hbWUgPz8gJyc7XG4gICAgY29uc3QgdmVyc2lvbiA9IGAke2Fzc2VtYmx5LnZlcnNpb259JHtnb0NvbmZpZy52ZXJzaW9uU3VmZml4ID8/ICcnfWA7XG5cbiAgICBzdXBlcihcbiAgICAgIGFzc2VtYmx5LnR5cGVzLFxuICAgICAgYXNzZW1ibHkuc3VibW9kdWxlcyxcbiAgICAgIHBhY2thZ2VOYW1lLFxuICAgICAgZmlsZVBhdGgsXG4gICAgICBtb2R1bGVOYW1lLFxuICAgICAgdmVyc2lvbixcbiAgICApO1xuXG4gICAgdGhpcy5yb290UGFja2FnZUNhY2hlID0gcm9vdFBhY2thZ2VDYWNoZTtcbiAgICB0aGlzLnJvb3RQYWNrYWdlQ2FjaGUuc2V0KGFzc2VtYmx5Lm5hbWUsIHRoaXMpO1xuXG4gICAgdGhpcy5hc3NlbWJseSA9IGFzc2VtYmx5O1xuICAgIHRoaXMudmVyc2lvbiA9IHZlcnNpb247XG4gICAgdGhpcy52ZXJzaW9uRmlsZSA9IG5ldyBWZXJzaW9uRmlsZSh0aGlzLnZlcnNpb24pO1xuXG4gICAgaWYgKHRoaXMuYXNzZW1ibHkucmVhZG1lPy5tYXJrZG93bikge1xuICAgICAgdGhpcy5yZWFkbWUgPSBuZXcgUmVhZG1lRmlsZShcbiAgICAgICAgdGhpcy5wYWNrYWdlTmFtZSxcbiAgICAgICAgdGhpcy5hc3NlbWJseS5yZWFkbWUubWFya2Rvd24sXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbWl0KGNvbnRleHQ6IEVtaXRDb250ZXh0KTogdm9pZCB7XG4gICAgc3VwZXIuZW1pdChjb250ZXh0KTtcbiAgICB0aGlzLmVtaXRKc2lpUGFja2FnZShjb250ZXh0KTtcbiAgICB0aGlzLnJlYWRtZT8uZW1pdChjb250ZXh0KTtcblxuICAgIHRoaXMuZW1pdEdvbW9kKGNvbnRleHQuY29kZSk7XG4gICAgdGhpcy52ZXJzaW9uRmlsZS5lbWl0KGNvbnRleHQuY29kZSk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRHb21vZChjb2RlOiBDb2RlTWFrZXIpIHtcbiAgICBjb2RlLm9wZW5GaWxlKEdPTU9EX0ZJTEVOQU1FKTtcbiAgICBjb2RlLmxpbmUoYG1vZHVsZSAke3RoaXMuZ29Nb2R1bGVOYW1lfWApO1xuICAgIGNvZGUubGluZSgpO1xuICAgIGNvZGUubGluZShgZ28gJHtHT19WRVJTSU9OfWApO1xuICAgIGNvZGUubGluZSgpO1xuICAgIGNvZGUub3BlbigncmVxdWlyZSAoJyk7XG4gICAgLy8gU3RyaXAgXCIgKGJ1aWxkIGFiY2RlZilcIiBmcm9tIHRoZSBqc2lpIHZlcnNpb25cbiAgICBjb2RlLmxpbmUoYCR7SlNJSV9SVF9NT0RVTEVfTkFNRX0gdiR7VkVSU0lPTn1gKTtcbiAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSB0aGlzLnBhY2thZ2VEZXBlbmRlbmNpZXM7XG4gICAgZm9yIChjb25zdCBkZXAgb2YgZGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb2RlLmxpbmUoYCR7ZGVwLmdvTW9kdWxlTmFtZX0gdiR7ZGVwLnZlcnNpb259YCk7XG4gICAgfVxuICAgIGluZGlyZWN0RGVwZW5kZW5jaWVzKFxuICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgbmV3IFNldChkZXBlbmRlbmNpZXMubWFwKChkZXApID0+IGRlcC5nb01vZHVsZU5hbWUpKSxcbiAgICApO1xuICAgIGNvZGUuY2xvc2UoJyknKTtcbiAgICBjb2RlLmNsb3NlRmlsZShHT01PRF9GSUxFTkFNRSk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyBpbmRpcmVjdCBkZXBlbmRlbmN5IGRlY2xhcmF0aW9ucywgd2hpY2ggYXJlIGhlbHBmdWwgdG8gbWFrZSBJREVzIGF0XG4gICAgICogZWFzZSB3aXRoIHRoZSBjb2RlYmFzZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpbmRpcmVjdERlcGVuZGVuY2llcyhcbiAgICAgIHBrZ3M6IFJvb3RQYWNrYWdlW10sXG4gICAgICBhbHJlYWR5RW1pdHRlZDogU2V0PHN0cmluZz4sXG4gICAgKTogdm9pZCB7XG4gICAgICBmb3IgKGNvbnN0IHBrZyBvZiBwa2dzKSB7XG4gICAgICAgIGNvbnN0IGRlcHMgPSBwa2cucGFja2FnZURlcGVuZGVuY2llcztcbiAgICAgICAgZm9yIChjb25zdCBkZXAgb2YgZGVwcykge1xuICAgICAgICAgIGlmIChhbHJlYWR5RW1pdHRlZC5oYXMoZGVwLmdvTW9kdWxlTmFtZSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhbHJlYWR5RW1pdHRlZC5hZGQoZGVwLmdvTW9kdWxlTmFtZSk7XG4gICAgICAgICAgY29kZS5saW5lKGAke2RlcC5nb01vZHVsZU5hbWV9IHYke2RlcC52ZXJzaW9ufSAvLyBpbmRpcmVjdGApO1xuICAgICAgICB9XG4gICAgICAgIGluZGlyZWN0RGVwZW5kZW5jaWVzKGRlcHMsIGFscmVhZHlFbWl0dGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKlxuICAgKiBPdmVycmlkZSBwYWNrYWdlIGZpbmRUeXBlIGZvciByb290IFBhY2thZ2UuXG4gICAqXG4gICAqIFRoaXMgYWxsb3dzIHJlc29sdmluZyB0eXBlIHJlZmVyZW5jZXMgZnJvbSBvdGhlciBKU0lJIG1vZHVsZXNcbiAgICovXG4gIHB1YmxpYyBmaW5kVHlwZShmcW46IHN0cmluZyk6IEdvVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucGFja2FnZURlcGVuZGVuY2llcy5yZWR1Y2UoXG4gICAgICAoYWNjdW06IEdvVHlwZSB8IHVuZGVmaW5lZCwgY3VycmVudDogUm9vdFBhY2thZ2UpID0+IHtcbiAgICAgICAgaWYgKGFjY3VtKSB7XG4gICAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjdXJyZW50LmZpbmRUeXBlKGZxbik7XG4gICAgICB9LFxuICAgICAgc3VwZXIuZmluZFR5cGUoZnFuKSxcbiAgICApO1xuICB9XG5cbiAgLypcbiAgICogR2V0IGFsbCBKU0lJIG1vZHVsZSBkZXBlbmRlbmNpZXMgb2YgdGhlIHBhY2thZ2UgYmVpbmcgZ2VuZXJhdGVkXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBhY2thZ2VEZXBlbmRlbmNpZXMoKTogUm9vdFBhY2thZ2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuYXNzZW1ibHkuZGVwZW5kZW5jaWVzLm1hcChcbiAgICAgIChkZXApID0+XG4gICAgICAgIHRoaXMucm9vdFBhY2thZ2VDYWNoZS5nZXQoZGVwLmFzc2VtYmx5Lm5hbWUpID8/XG4gICAgICAgIG5ldyBSb290UGFja2FnZShkZXAuYXNzZW1ibHksIHRoaXMucm9vdFBhY2thZ2VDYWNoZSksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0SGVhZGVyKGNvZGU6IENvZGVNYWtlcikge1xuICAgIGlmICh0aGlzLmFzc2VtYmx5LmRlc2NyaXB0aW9uICE9PSAnJykge1xuICAgICAgY29kZS5saW5lKGAvLyAke3RoaXMuYXNzZW1ibHkuZGVzY3JpcHRpb259YCk7XG4gICAgfVxuICAgIGNvZGUubGluZShgcGFja2FnZSAke3RoaXMucGFja2FnZU5hbWV9YCk7XG4gICAgY29kZS5saW5lKCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRKc2lpUGFja2FnZSh7IGNvZGUgfTogRW1pdENvbnRleHQpIHtcbiAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSB0aGlzLnBhY2thZ2VEZXBlbmRlbmNpZXMuc29ydCgobCwgcikgPT5cbiAgICAgIGwubW9kdWxlTmFtZS5sb2NhbGVDb21wYXJlKHIubW9kdWxlTmFtZSksXG4gICAgKTtcblxuICAgIGNvbnN0IGZpbGUgPSBqb2luKEpTSUlfSU5JVF9QQUNLQUdFLCBgJHtKU0lJX0lOSVRfUEFDS0FHRX0uZ29gKTtcbiAgICBjb2RlLm9wZW5GaWxlKGZpbGUpO1xuICAgIGNvZGUubGluZShcbiAgICAgIGAvLyBQYWNrYWdlICR7SlNJSV9JTklUX1BBQ0tBR0V9IGNvbnRhaW5zIHRoZSBmdW5jdGlvbmFpbGl0eSBuZWVkZWQgZm9yIGpzaWkgcGFja2FnZXMgdG9gLFxuICAgICk7XG4gICAgY29kZS5saW5lKFxuICAgICAgJy8vIGluaXRpYWxpemUgdGhlaXIgZGVwZW5kZW5jaWVzIGFuZCB0aGVtc2VsdmVzLiBVc2VycyBzaG91bGQgbmV2ZXIgbmVlZCB0byB1c2UgdGhpcyBwYWNrYWdlJyxcbiAgICApO1xuICAgIGNvZGUubGluZSgnLy8gZGlyZWN0bHkuIElmIHlvdSBmaW5kIHlvdSBuZWVkIHRvIC0gcGxlYXNlIHJlcG9ydCBhIGJ1ZyBhdCcpO1xuICAgIGNvZGUubGluZSgnLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9qc2lpL2lzc3Vlcy9uZXcvY2hvb3NlJyk7XG4gICAgY29kZS5saW5lKGBwYWNrYWdlICR7SlNJSV9JTklUX1BBQ0tBR0V9YCk7XG4gICAgY29kZS5saW5lKCk7XG5cbiAgICBjb25zdCB0b0ltcG9ydDogSW1wb3J0ZWRNb2R1bGVbXSA9IFtcbiAgICAgIEpTSUlfUlRfTU9EVUxFLFxuICAgICAgeyBtb2R1bGU6ICdlbWJlZCcsIGFsaWFzOiAnXycgfSxcbiAgICBdO1xuICAgIGlmIChkZXBlbmRlbmNpZXMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCBwa2cgb2YgZGVwZW5kZW5jaWVzKSB7XG4gICAgICAgIHRvSW1wb3J0LnB1c2goe1xuICAgICAgICAgIGFsaWFzOiBwa2cucGFja2FnZU5hbWUsXG4gICAgICAgICAgbW9kdWxlOiBgJHtwa2cucm9vdC5nb01vZHVsZU5hbWV9LyR7SlNJSV9JTklUX1BBQ0tBR0V9YCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGltcG9ydEdvTW9kdWxlcyhjb2RlLCB0b0ltcG9ydCk7XG5cbiAgICBjb2RlLmxpbmUoKTtcbiAgICBjb2RlLmxpbmUoYC8vZ286ZW1iZWQgJHt0YXJiYWxsTmFtZSh0aGlzLmFzc2VtYmx5KX1gKTtcbiAgICBjb2RlLmxpbmUoJ3ZhciB0YXJiYWxsIFtdYnl0ZScpO1xuICAgIGNvZGUubGluZSgpO1xuXG4gICAgY29kZS5saW5lKFxuICAgICAgYC8vICR7SlNJSV9JTklUX0ZVTkN9IGxvYWRzIHRoZSBuZWNlc3NhcnkgcGFja2FnZXMgaW4gdGhlIEBqc2lpL2tlcm5lbCB0byBzdXBwb3J0IHRoZSBlbmNsb3NpbmcgbW9kdWxlLmAsXG4gICAgKTtcbiAgICBjb2RlLmxpbmUoXG4gICAgICAnLy8gVGhlIGltcGxlbWVudGF0aW9uIGlzIGlkZW1wb3RlbnQgKGFuZCBoZW5jZSBzYWZlIHRvIGJlIGNhbGxlZCBvdmVyIGFuZCBvdmVyKS4nLFxuICAgICk7XG4gICAgY29kZS5vcGVuKGBmdW5jICR7SlNJSV9JTklUX0ZVTkN9KCkge2ApO1xuICAgIGlmIChkZXBlbmRlbmNpZXMubGVuZ3RoID4gMCkge1xuICAgICAgY29kZS5saW5lKCcvLyBFbnN1cmUgYWxsIGRlcGVuZGVuY2llcyBhcmUgaW5pdGlhbGl6ZWQnKTtcbiAgICAgIGZvciAoY29uc3QgcGtnIG9mIHRoaXMucGFja2FnZURlcGVuZGVuY2llcykge1xuICAgICAgICBjb2RlLmxpbmUoYCR7cGtnLnBhY2thZ2VOYW1lfS4ke0pTSUlfSU5JVF9GVU5DfSgpYCk7XG4gICAgICB9XG4gICAgICBjb2RlLmxpbmUoKTtcbiAgICB9XG4gICAgY29kZS5saW5lKCcvLyBMb2FkIHRoaXMgbGlicmFyeSBpbnRvIHRoZSBrZXJuZWwnKTtcbiAgICBjb2RlLmxpbmUoXG4gICAgICBgJHtKU0lJX1JUX0FMSUFTfS5Mb2FkKFwiJHt0aGlzLmFzc2VtYmx5Lm5hbWV9XCIsIFwiJHt0aGlzLmFzc2VtYmx5LnZlcnNpb259XCIsIHRhcmJhbGwpYCxcbiAgICApO1xuICAgIGNvZGUuY2xvc2UoJ30nKTtcblxuICAgIGNvZGUuY2xvc2VGaWxlKGZpbGUpO1xuICB9XG59XG5cbi8qXG4gKiBJbnRlcm5hbFBhY2thZ2UgcmVmZXJzIHRvIGFueSBnbyBwYWNrYWdlIHdpdGhpbiBhIGdpdmVuIEpTSUkgbW9kdWxlLlxuICovXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxQYWNrYWdlIGV4dGVuZHMgUGFja2FnZSB7XG4gIHB1YmxpYyByZWFkb25seSBwYXJlbnQ6IFBhY2thZ2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHJvb3Q6IFBhY2thZ2UsIHBhcmVudDogUGFja2FnZSwgYXNzZW1ibHk6IEpzaWlTdWJtb2R1bGUpIHtcbiAgICBjb25zdCBwYWNrYWdlTmFtZSA9IGdvUGFja2FnZU5hbWVGb3JBc3NlbWJseShhc3NlbWJseSk7XG4gICAgY29uc3QgZmlsZVBhdGggPVxuICAgICAgcGFyZW50ID09PSByb290ID8gcGFja2FnZU5hbWUgOiBgJHtwYXJlbnQuZmlsZVBhdGh9LyR7cGFja2FnZU5hbWV9YDtcblxuICAgIHN1cGVyKFxuICAgICAgYXNzZW1ibHkudHlwZXMsXG4gICAgICBhc3NlbWJseS5zdWJtb2R1bGVzLFxuICAgICAgcGFja2FnZU5hbWUsXG4gICAgICBmaWxlUGF0aCxcbiAgICAgIHJvb3QubW9kdWxlTmFtZSxcbiAgICAgIHJvb3QudmVyc2lvbixcbiAgICAgIHJvb3QsXG4gICAgKTtcblxuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICB9XG59XG5cbi8qKlxuICogR28gcmVxdWlyZXMgdGhhdCB3aGVuIGEgbW9kdWxlIG1ham9yIHZlcnNpb24gaXMgdjIuMCBhbmQgYWJvdmUsIHRoZSBtb2R1bGVcbiAqIG5hbWUgd2lsbCBoYXZlIGEgYC92Tk5gIHN1ZmZpeCAod2hlcmUgYE5OYCBpcyB0aGUgbWFqb3IgdmVyc2lvbikuXG4gKlxuICogPiBTdGFydGluZyB3aXRoIG1ham9yIHZlcnNpb24gMiwgbW9kdWxlIHBhdGhzIG11c3QgaGF2ZSBhIG1ham9yIHZlcnNpb25cbiAqID4gc3VmZml4IGxpa2UgL3YyIHRoYXQgbWF0Y2hlcyB0aGUgbWFqb3IgdmVyc2lvbi4gRm9yIGV4YW1wbGUsIGlmIGEgbW9kdWxlXG4gKiA+IGhhcyB0aGUgcGF0aCBleGFtcGxlLmNvbS9tb2QgYXQgdjEuMC4wLCBpdCBtdXN0IGhhdmUgdGhlIHBhdGhcbiAqID4gZXhhbXBsZS5jb20vbW9kL3YyIGF0IHZlcnNpb24gdjIuMC4wLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9nb2xhbmcub3JnL3JlZi9tb2QjbWFqb3ItdmVyc2lvbi1zdWZmaXhlc1xuICogQHBhcmFtIHZlcnNpb24gVGhlIG1vZHVsZSB2ZXJzaW9uIChlLmcuIGAyLjMuMGApXG4gKiBAcmV0dXJucyBhIHN1ZmZpeCB0byBhcHBlbmQgdG8gdGhlIG1vZHVsZSBuYW1lIGluIHRoZSBmb3JtIChgL3ZOTmApLiBJZiB0aGVcbiAqIG1vZHVsZSB2ZXJzaW9uIGlzIGAwLnhgIG9yIGAxLnhgLCByZXR1cm5zIGFuIGVtcHR5IHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gZGV0ZXJtaW5lTWFqb3JWZXJzaW9uU3VmZml4KHZlcnNpb246IHN0cmluZykge1xuICBjb25zdCBzdiA9IHNlbXZlci5wYXJzZSh2ZXJzaW9uKTtcbiAgaWYgKCFzdikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBVbmFibGUgdG8gcGFyc2UgdmVyc2lvbiBcIiR7dmVyc2lvbn1cIiBhcyBhIHNlbWFudGljIHZlcnNpb25gLFxuICAgICk7XG4gIH1cblxuICAvLyBzdWZmaXggaXMgb25seSBuZWVkZWQgZm9yIDIuMCBhbmQgYWJvdmVcbiAgaWYgKHN2Lm1ham9yIDw9IDEpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gYC92JHtzdi5tYWpvcn1gO1xufVxuXG5pbnRlcmZhY2UgSW1wb3J0ZWRNb2R1bGUge1xuICByZWFkb25seSBhbGlhcz86IHN0cmluZztcbiAgcmVhZG9ubHkgbW9kdWxlOiBzdHJpbmc7XG59XG5cbmNvbnN0IEpTSUlfUlRfTU9EVUxFOiBJbXBvcnRlZE1vZHVsZSA9IHtcbiAgYWxpYXM6IEpTSUlfUlRfQUxJQVMsXG4gIG1vZHVsZTogSlNJSV9SVF9QQUNLQUdFX05BTUUsXG59O1xuY29uc3QgR09fUkVGTEVDVDogSW1wb3J0ZWRNb2R1bGUgPSB7IG1vZHVsZTogJ3JlZmxlY3QnIH07XG5cbmZ1bmN0aW9uIGltcG9ydEdvTW9kdWxlcyhjb2RlOiBDb2RlTWFrZXIsIG1vZHVsZXM6IHJlYWRvbmx5IEltcG9ydGVkTW9kdWxlW10pIHtcbiAgaWYgKG1vZHVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWxpYXNTaXplID0gTWF0aC5tYXgoLi4ubW9kdWxlcy5tYXAoKG1vZCkgPT4gbW9kLmFsaWFzPy5sZW5ndGggPz8gMCkpO1xuICBjb2RlLm9wZW4oJ2ltcG9ydCAoJyk7XG4gIGNvbnN0IHNvcnRlZE1vZHVsZXMgPSBBcnJheS5mcm9tKG1vZHVsZXMpLnNvcnQoY29tcGFyZUltcG9ydGVkTW9kdWxlcyk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc29ydGVkTW9kdWxlcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IG1vZCA9IHNvcnRlZE1vZHVsZXNbaV07XG4gICAgLy8gU2VwYXJhdGUgbW9kdWxlIGNhdGVnb3JpZXMgZnJvbSBlYWNoIG90aGVyIG1vZHVsZXMgd2l0aCBhIGJsYW5rIGxpbmUuXG4gICAgaWYgKFxuICAgICAgaSA+IDAgJiZcbiAgICAgIChpc0J1aWx0SW4obW9kKSAhPT0gaXNCdWlsdEluKHNvcnRlZE1vZHVsZXNbaSAtIDFdKSB8fFxuICAgICAgICBpc1NwZWNpYWwobW9kKSAhPT0gaXNTcGVjaWFsKHNvcnRlZE1vZHVsZXNbaSAtIDFdKSlcbiAgICApIHtcbiAgICAgIGNvZGUubGluZSgpO1xuICAgIH1cbiAgICBpZiAobW9kLmFsaWFzKSB7XG4gICAgICBjb2RlLmxpbmUoYCR7bW9kLmFsaWFzLnBhZEVuZChhbGlhc1NpemUsICcgJyl9IFwiJHttb2QubW9kdWxlfVwiYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvZGUubGluZShgXCIke21vZC5tb2R1bGV9XCJgKTtcbiAgICB9XG4gIH1cbiAgY29kZS5jbG9zZSgnKScpO1xuXG4gIC8qKlxuICAgKiBBIGNvbXBhcmF0b3IgZm9yIGBJbXBvcnRlZE1vZHVsZWAgaW5zdGFuY2VzIHN1Y2ggdGhhdCBidWlsdC1pbiBtb2R1bGVzXG4gICAqIGFsd2F5cyBhcHBlYXIgZmlyc3QsIGZvbGxvd2VkIGJ5IHRoZSByZXN0LiBUaGVuIHdpdGhpbiB0aGVzZSB0d28gZ3JvdXBzLFxuICAgKiBhbGlhc2VkIGltcG9ydHMgYXBwZWFyIGZpcnN0LCBmb2xsb3dlZCBieSB0aGUgcmVzdC5cbiAgICovXG4gIGZ1bmN0aW9uIGNvbXBhcmVJbXBvcnRlZE1vZHVsZXMoXG4gICAgbDogSW1wb3J0ZWRNb2R1bGUsXG4gICAgcjogSW1wb3J0ZWRNb2R1bGUsXG4gICk6IG51bWJlciB7XG4gICAgY29uc3QgbEJ1aWx0SW4gPSBpc0J1aWx0SW4obCk7XG4gICAgY29uc3QgckJ1aWx0SW4gPSBpc0J1aWx0SW4ocik7XG4gICAgaWYgKGxCdWlsdEluICYmICFyQnVpbHRJbikge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgICBpZiAoIWxCdWlsdEluICYmIHJCdWlsdEluKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBjb25zdCBsU3BlY2lhbCA9IGlzU3BlY2lhbChsKTtcbiAgICBjb25zdCByU3BlY2lhbCA9IGlzU3BlY2lhbChyKTtcbiAgICBpZiAobFNwZWNpYWwgJiYgIXJTcGVjaWFsKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIGlmICghbFNwZWNpYWwgJiYgclNwZWNpYWwpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIHJldHVybiBsLm1vZHVsZS5sb2NhbGVDb21wYXJlKHIubW9kdWxlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGlzQnVpbHRJbihtb2Q6IEltcG9ydGVkTW9kdWxlKTogYm9vbGVhbiB7XG4gICAgLy8gU3RhbmRhcmQgbGlicmFyeSBtb2R1bGVzIGRvbid0IGhhdmUgYW55IFwiLlwiIGluIHRoZWlyIHBhdGgsIHdoZXJlYXMgYW55XG4gICAgLy8gb3RoZXIgbW9kdWxlIGhhcyBhIEROUyBwb3J0aW9uIGluIHRoZW0sIHdoaWNoIG11c3QgaW5jbHVkZSBhIFwiLlwiLlxuICAgIHJldHVybiAhbW9kLm1vZHVsZS5pbmNsdWRlcygnLicpO1xuICB9XG5cbiAgZnVuY3Rpb24gaXNTcGVjaWFsKG1vZDogSW1wb3J0ZWRNb2R1bGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbW9kLmFsaWFzID09PSBKU0lJX1JUX0FMSUFTIHx8IG1vZC5hbGlhcyA9PT0gSlNJSV9JTklUX0FMSUFTO1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBlbWJlZGRlZCBHbyB0eXBlLlxuICovXG5pbnRlcmZhY2UgRW1iZWRkZWRUeXBlIHtcbiAgLyoqXG4gICAqIFRoZSBmaWVsZCBuYW1lIGZvciB0aGUgZW1iZWRkZWQgdHlwZS5cbiAgICovXG4gIHJlYWRvbmx5IGZpZWxkTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZW1iZWRkZWQgdHlwZSBuYW1lIHRvIHVzZS4gQ291bGQgYmUgZWl0aGVyIGEgc3RydWN0IHByb3h5IChpZiB0aGUgYmFzZVxuICAgKiB0eXBlIGlzIGluIHRoZSBzYW1lIHBhY2thZ2UpIG9yIGFuIGludGVybmFsIGFsaWFzIGZvciBhIGZvcmllZ24gdHlwZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgZW1iZWQ6IHN0cmluZztcblxuICAvKipcbiAgICogUmVmZXJuY2UgdG8gdGhlIGZvcmVpZ24gdHlwZSAoaWYgdGhpcyBpcyBhIGZvcmllZ24gdHlwZSlcbiAgICovXG4gIHJlYWRvbmx5IGZvcmllZ25UeXBlPzogR29UeXBlUmVmO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZm9yaWVnbiB0eXBlLlxuICAgKi9cbiAgcmVhZG9ubHkgZm9yaWVnblR5cGVOYW1lPzogc3RyaW5nO1xufVxuIl19
|
|
471
|
+
//# sourceMappingURL=package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["package.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@ import { EmitContext } from './emit-context';
|
|
|
2
2
|
export declare class ReadmeFile {
|
|
3
3
|
private readonly packageName;
|
|
4
4
|
private readonly document;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
private readonly directory;
|
|
6
|
+
constructor(packageName: string, document: string, directory: string);
|
|
7
|
+
emit({ documenter }: EmitContext): void;
|
|
7
8
|
}
|
|
9
|
+
//# sourceMappingURL=readme-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readme-file.d.ts","sourceRoot":"","sources":["readme-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAFT,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;IAG7B,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,WAAW;CAMxC"}
|
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ReadmeFile = void 0;
|
|
4
|
-
const path_1 = require("path");
|
|
5
|
-
// import { Translation } from 'jsii-rosetta';
|
|
6
|
-
// import { INCOMPLETE_DISCLAIMER_COMPILING, INCOMPLETE_DISCLAIMER_NONCOMPILING } from '..';
|
|
7
4
|
class ReadmeFile {
|
|
8
|
-
constructor(packageName, document) {
|
|
5
|
+
constructor(packageName, document, directory) {
|
|
9
6
|
this.packageName = packageName;
|
|
10
7
|
this.document = document;
|
|
8
|
+
this.directory = directory;
|
|
11
9
|
}
|
|
12
|
-
emit({
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
code.openFile(file);
|
|
16
|
-
const translated = this.document; // rosetta.translateSnippetsInMarkdown(this.document, 'go', prependDisclaimer);
|
|
17
|
-
for (const line of translated.split('\n')) {
|
|
18
|
-
code.line(line);
|
|
10
|
+
emit({ documenter }) {
|
|
11
|
+
if (!this.document) {
|
|
12
|
+
return;
|
|
19
13
|
}
|
|
20
|
-
|
|
14
|
+
documenter.emitReadme(this.packageName, this.document, this.directory);
|
|
21
15
|
}
|
|
22
16
|
}
|
|
23
17
|
exports.ReadmeFile = ReadmeFile;
|
|
24
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=readme-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readme-file.js","sourceRoot":"","sources":["readme-file.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IACrB,YACmB,WAAmB,EACnB,QAAgB,EAChB,SAAiB;QAFjB,gBAAW,GAAX,WAAW,CAAQ;QACnB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAQ;IACjC,CAAC;IAEG,IAAI,CAAC,EAAE,UAAU,EAAe;QACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;SACR;QACD,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;CACF;AAbD,gCAaC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class-constructor.d.ts","sourceRoot":"","sources":["class-constructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAK9C,qBAAa,gBAAgB;aACQ,MAAM,EAAE,kBAAkB;gBAA1B,MAAM,EAAE,kBAAkB;IAEtD,IAAI,CAAC,IAAI,EAAE,SAAS;IA0BpB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM;CAYzD"}
|
|
@@ -9,10 +9,10 @@ class ClassConstructor {
|
|
|
9
9
|
this.parent = parent;
|
|
10
10
|
}
|
|
11
11
|
emit(code) {
|
|
12
|
-
util_1.emitInitialization(code);
|
|
12
|
+
(0, util_1.emitInitialization)(code);
|
|
13
13
|
code.line();
|
|
14
|
-
const resultVar = util_1.slugify(this.parent.parent.proxyName[0], this.parent.parameters.map((p) => p.name));
|
|
15
|
-
const args = emit_arguments_1.emitArguments(code, this.parent.parameters, resultVar);
|
|
14
|
+
const resultVar = (0, util_1.slugify)(this.parent.parent.proxyName[0], this.parent.parameters.map((p) => p.name));
|
|
15
|
+
const args = (0, emit_arguments_1.emitArguments)(code, this.parent.parameters, resultVar);
|
|
16
16
|
code.line(`${resultVar} := ${this.parent.parent.proxyName}{}`);
|
|
17
17
|
code.line();
|
|
18
18
|
code.open(`${constants_1.JSII_CREATE_FUNC}(`);
|
|
@@ -24,9 +24,9 @@ class ClassConstructor {
|
|
|
24
24
|
code.line(`return &${resultVar}`);
|
|
25
25
|
}
|
|
26
26
|
emitOverride(code, instanceVar) {
|
|
27
|
-
util_1.emitInitialization(code);
|
|
27
|
+
(0, util_1.emitInitialization)(code);
|
|
28
28
|
code.line();
|
|
29
|
-
const args = emit_arguments_1.emitArguments(code, this.parent.parameters, instanceVar);
|
|
29
|
+
const args = (0, emit_arguments_1.emitArguments)(code, this.parent.parameters, instanceVar);
|
|
30
30
|
code.open(`${constants_1.JSII_CREATE_FUNC}(`);
|
|
31
31
|
code.line(`"${this.parent.parent.fqn}",`);
|
|
32
32
|
code.line(args ? `${args},` : 'nil, // no parameters');
|
|
@@ -35,4 +35,4 @@ class ClassConstructor {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
exports.ClassConstructor = ClassConstructor;
|
|
38
|
-
//# sourceMappingURL=
|
|
38
|
+
//# sourceMappingURL=class-constructor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class-constructor.js","sourceRoot":"","sources":["class-constructor.ts"],"names":[],"mappings":";;;AAGA,2CAA+C;AAC/C,qDAAiD;AACjD,iCAAqD;AAErD,MAAa,gBAAgB;IAC3B,YAAmC,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;IAAG,CAAC;IAE1D,IAAI,CAAC,IAAe;QACzB,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,MAAM,SAAS,GAAG,IAAA,cAAO,EACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC1C,CAAC;QAEF,MAAM,IAAI,GAAG,IAAA,8BAAa,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEpE,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,IAAI,CAAC,IAAI,CAAC,GAAG,4BAAgB,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC;QAE5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;IACpC,CAAC;IAEM,YAAY,CAAC,IAAe,EAAE,WAAmB;QACtD,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,MAAM,IAAI,GAAG,IAAA,8BAAa,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEtE,IAAI,CAAC,IAAI,CAAC,GAAG,4BAAgB,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;CACF;AAzCD,4CAyCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB,mCAAmC,CAAC;AACpE,eAAO,MAAM,oBAAoB,QAAmC,CAAC;AACrE,eAAO,MAAM,aAAa,WAAW,CAAC;AAGtC,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC,eAAO,MAAM,cAAc,eAAe,CAAC;AAE3C,eAAO,MAAM,eAAe,WAAW,CAAC;AAGxC,eAAO,MAAM,gBAAgB,QAA4B,CAAC;AAE1D,eAAO,MAAM,gBAAgB,QAA4B,CAAC;AAC1D,eAAO,MAAM,qBAAqB,QAAgC,CAAC;AAEnE,eAAO,MAAM,iBAAiB,QAAkC,CAAC;AACjE,eAAO,MAAM,sBAAsB,QAAsC,CAAC;AAG1E,eAAO,MAAM,aAAa,QAAyB,CAAC;AAGpD,eAAO,MAAM,cAAc,QAA+B,CAAC;AAG3D,eAAO,MAAM,aAAa,QAAyB,CAAC;AAGpD,eAAO,MAAM,cAAc,QAA+B,CAAC;AAI3D,eAAO,MAAM,aAAa,QAA8B,CAAC;AAEzD,eAAO,MAAM,QAAQ,QAAyB,CAAC;AAE/C,eAAO,MAAM,QAAQ,QAAyB,CAAC"}
|
|
@@ -34,4 +34,4 @@ exports.JSII_OVERRIDE = `${exports.JSII_RT_ALIAS}.Override`;
|
|
|
34
34
|
exports.JSII_ANY = `${exports.JSII_RT_ALIAS}.Any`;
|
|
35
35
|
// Jsii FQN type
|
|
36
36
|
exports.JSII_FQN = `${exports.JSII_RT_ALIAS}.FQN`;
|
|
37
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["constants.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AACjB,QAAA,mBAAmB,GAAG,gCAAgC,CAAC;AACvD,QAAA,oBAAoB,GAAG,GAAG,2BAAmB,UAAU,CAAC;AACxD,QAAA,aAAa,GAAG,QAAQ,CAAC;AAEtC,gCAAgC;AACnB,QAAA,iBAAiB,GAAG,MAAM,CAAC;AACxC,iDAAiD;AACpC,QAAA,cAAc,GAAG,YAAY,CAAC;AAC3C,+BAA+B;AAClB,QAAA,eAAe,GAAG,QAAQ,CAAC;AAExC,kCAAkC;AACrB,QAAA,gBAAgB,GAAG,GAAG,qBAAa,SAAS,CAAC;AAC1D,sBAAsB;AACT,QAAA,gBAAgB,GAAG,GAAG,qBAAa,SAAS,CAAC;AAC7C,QAAA,qBAAqB,GAAG,GAAG,qBAAa,aAAa,CAAC;AACnE,qBAAqB;AACR,QAAA,iBAAiB,GAAG,GAAG,qBAAa,eAAe,CAAC;AACpD,QAAA,sBAAsB,GAAG,GAAG,qBAAa,mBAAmB,CAAC;AAE1E,mBAAmB;AACN,QAAA,aAAa,GAAG,GAAG,qBAAa,MAAM,CAAC;AAEpD,0BAA0B;AACb,QAAA,cAAc,GAAG,GAAG,qBAAa,YAAY,CAAC;AAE3D,mBAAmB;AACN,QAAA,aAAa,GAAG,GAAG,qBAAa,MAAM,CAAC;AAEpD,0BAA0B;AACb,QAAA,cAAc,GAAG,GAAG,qBAAa,YAAY,CAAC;AAE3D,yBAAyB;AACzB,4BAA4B;AACf,QAAA,aAAa,GAAG,GAAG,qBAAa,WAAW,CAAC;AACzD,gBAAgB;AACH,QAAA,QAAQ,GAAG,GAAG,qBAAa,MAAM,CAAC;AAC/C,gBAAgB;AACH,QAAA,QAAQ,GAAG,GAAG,qBAAa,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit-arguments.d.ts","sourceRoot":"","sources":["emit-arguments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,SAAS,WAAW,EAAE,EAClC,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAsBpB"}
|
|
@@ -20,8 +20,8 @@ function emitArguments(code, parameters, returnVarName) {
|
|
|
20
20
|
// the variadic argument as a splat to the append function...
|
|
21
21
|
const head = argsList.slice(0, argsList.length - 1);
|
|
22
22
|
const tail = argsList[argsList.length - 1];
|
|
23
|
-
const variable = util_1.slugify('args', [...argsList, returnVarName]);
|
|
24
|
-
const elt = util_1.slugify('a', [variable]);
|
|
23
|
+
const variable = (0, util_1.slugify)('args', [...argsList, returnVarName]);
|
|
24
|
+
const elt = (0, util_1.slugify)('a', [variable]);
|
|
25
25
|
code.line(`${variable} := []interface{}{${head.join(', ')}}`);
|
|
26
26
|
code.openBlock(`for _, ${elt} := range ${tail}`);
|
|
27
27
|
code.line(`${variable} = append(${variable}, ${elt})`);
|
|
@@ -32,4 +32,4 @@ function emitArguments(code, parameters, returnVarName) {
|
|
|
32
32
|
return `[]interface{}{${argsList.join(', ')}}`;
|
|
33
33
|
}
|
|
34
34
|
exports.emitArguments = emitArguments;
|
|
35
|
-
//# sourceMappingURL=
|
|
35
|
+
//# sourceMappingURL=emit-arguments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit-arguments.js","sourceRoot":"","sources":["emit-arguments.ts"],"names":[],"mappings":";;;AAGA,iCAAiC;AAEjC;;;;;;GAMG;AACH,SAAgB,aAAa,CAC3B,IAAe,EACf,UAAkC,EAClC,aAAqB;IAErB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE;QAChD,0EAA0E;QAC1E,uEAAuE;QACvE,6DAA6D;QAC7D,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,qBAAqB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,aAAa,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,aAAa,QAAQ,KAAK,GAAG,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,iBAAiB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACjD,CAAC;AA1BD,sCA0BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"function-call.d.ts","sourceRoot":"","sources":["function-call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,8BAAsB,YAAY;aACG,MAAM,EAAE,YAAY;gBAApB,MAAM,EAAE,YAAY;IAEvD,SAAS,KAAK,UAAU,IAAI,OAAO,CAElC;IAED,SAAS,KAAK,UAAU,IAAI,MAAM,CAEjC;CACF"}
|
|
@@ -6,12 +6,11 @@ class FunctionCall {
|
|
|
6
6
|
this.parent = parent;
|
|
7
7
|
}
|
|
8
8
|
get returnsVal() {
|
|
9
|
-
|
|
10
|
-
return !((_a = this.parent.reference) === null || _a === void 0 ? void 0 : _a.void);
|
|
9
|
+
return !this.parent.reference?.void;
|
|
11
10
|
}
|
|
12
11
|
get returnType() {
|
|
13
12
|
return this.parent.returnType || 'interface{}';
|
|
14
13
|
}
|
|
15
14
|
}
|
|
16
15
|
exports.FunctionCall = FunctionCall;
|
|
17
|
-
//# sourceMappingURL=
|
|
16
|
+
//# sourceMappingURL=function-call.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"function-call.js","sourceRoot":"","sources":["function-call.ts"],"names":[],"mappings":";;;AAEA,MAAsB,YAAY;IAChC,YAAmC,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE3D,IAAc,UAAU;QACtB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;IACtC,CAAC;IAED,IAAc,UAAU;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,aAAa,CAAC;IACjD,CAAC;CACF;AAVD,oCAUC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
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);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
8
12
|
}));
|
|
9
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
17
|
__exportStar(require("./constants"), exports);
|
|
@@ -15,4 +19,4 @@ __exportStar(require("./class-constructor"), exports);
|
|
|
15
19
|
__exportStar(require("./method-call"), exports);
|
|
16
20
|
__exportStar(require("./property-access"), exports);
|
|
17
21
|
__exportStar(require("./util"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,sDAAoC;AACpC,gDAA8B;AAC9B,oDAAkC;AAClC,yCAAuB"}
|