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,18 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver,
|
|
3
|
-
if (
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
return value;
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
8
7
|
};
|
|
9
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver,
|
|
10
|
-
if (!
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return privateMap.get(receiver);
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
14
12
|
};
|
|
15
|
-
var
|
|
13
|
+
var _Dict_element, _List_element, _Optional_wrapped, _Primitive_pythonType, _Union_options, _UserType_fqn;
|
|
16
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
15
|
exports.toPythonFqn = exports.mergePythonImports = exports.toPackageName = exports.toTypeName = void 0;
|
|
18
16
|
const spec_1 = require("@jsii/spec");
|
|
@@ -26,10 +24,10 @@ function toTypeName(ref) {
|
|
|
26
24
|
const type = isOptionalValue(ref) ? ref.type : ref;
|
|
27
25
|
const optional = isOptionalValue(ref) && ref.optional;
|
|
28
26
|
let result = Primitive.ANY;
|
|
29
|
-
if (spec_1.isPrimitiveTypeReference(type)) {
|
|
27
|
+
if ((0, spec_1.isPrimitiveTypeReference)(type)) {
|
|
30
28
|
result = Primitive.of(type);
|
|
31
29
|
}
|
|
32
|
-
else if (spec_1.isCollectionTypeReference(type)) {
|
|
30
|
+
else if ((0, spec_1.isCollectionTypeReference)(type)) {
|
|
33
31
|
const elt = toTypeName(type.collection.elementtype);
|
|
34
32
|
if (type.collection.kind === spec_1.CollectionKind.Array) {
|
|
35
33
|
result = new List(elt);
|
|
@@ -38,10 +36,10 @@ function toTypeName(ref) {
|
|
|
38
36
|
result = new Dict(elt);
|
|
39
37
|
}
|
|
40
38
|
}
|
|
41
|
-
else if (spec_1.isUnionTypeReference(type)) {
|
|
39
|
+
else if ((0, spec_1.isUnionTypeReference)(type)) {
|
|
42
40
|
result = new Union(type.union.types.map(toTypeName));
|
|
43
41
|
}
|
|
44
|
-
else if (spec_1.isNamedTypeReference(type)) {
|
|
42
|
+
else if ((0, spec_1.isNamedTypeReference)(type)) {
|
|
45
43
|
result = new UserType(type.fqn);
|
|
46
44
|
}
|
|
47
45
|
return optional ? new Optional(result) : result;
|
|
@@ -78,58 +76,58 @@ function isOptionalValue(type) {
|
|
|
78
76
|
class Dict {
|
|
79
77
|
constructor(element) {
|
|
80
78
|
// eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
|
|
81
|
-
|
|
82
|
-
__classPrivateFieldSet(this,
|
|
79
|
+
_Dict_element.set(this, void 0);
|
|
80
|
+
__classPrivateFieldSet(this, _Dict_element, element, "f");
|
|
83
81
|
}
|
|
84
82
|
pythonType(context) {
|
|
85
|
-
return `typing.Mapping[builtins.str, ${__classPrivateFieldGet(this,
|
|
83
|
+
return `typing.Mapping[builtins.str, ${__classPrivateFieldGet(this, _Dict_element, "f").pythonType(context)}]`;
|
|
86
84
|
}
|
|
87
85
|
requiredImports(context) {
|
|
88
|
-
return __classPrivateFieldGet(this,
|
|
86
|
+
return __classPrivateFieldGet(this, _Dict_element, "f").requiredImports(context);
|
|
89
87
|
}
|
|
90
88
|
}
|
|
91
|
-
|
|
89
|
+
_Dict_element = new WeakMap();
|
|
92
90
|
class List {
|
|
93
91
|
constructor(element) {
|
|
94
92
|
// eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
|
|
95
|
-
|
|
96
|
-
__classPrivateFieldSet(this,
|
|
93
|
+
_List_element.set(this, void 0);
|
|
94
|
+
__classPrivateFieldSet(this, _List_element, element, "f");
|
|
97
95
|
}
|
|
98
96
|
pythonType(context) {
|
|
99
97
|
const type = context.parameterType ? 'Sequence' : 'List';
|
|
100
|
-
return `typing.${type}[${__classPrivateFieldGet(this,
|
|
98
|
+
return `typing.${type}[${__classPrivateFieldGet(this, _List_element, "f").pythonType(context)}]`;
|
|
101
99
|
}
|
|
102
100
|
requiredImports(context) {
|
|
103
|
-
return __classPrivateFieldGet(this,
|
|
101
|
+
return __classPrivateFieldGet(this, _List_element, "f").requiredImports(context);
|
|
104
102
|
}
|
|
105
103
|
}
|
|
106
|
-
|
|
104
|
+
_List_element = new WeakMap();
|
|
107
105
|
class Optional {
|
|
108
106
|
constructor(wrapped) {
|
|
109
107
|
// eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
|
|
110
|
-
|
|
111
|
-
__classPrivateFieldSet(this,
|
|
108
|
+
_Optional_wrapped.set(this, void 0);
|
|
109
|
+
__classPrivateFieldSet(this, _Optional_wrapped, wrapped, "f");
|
|
112
110
|
}
|
|
113
111
|
pythonType(context) {
|
|
114
|
-
const optionalType = __classPrivateFieldGet(this,
|
|
112
|
+
const optionalType = __classPrivateFieldGet(this, _Optional_wrapped, "f").pythonType({
|
|
115
113
|
...context,
|
|
116
114
|
ignoreOptional: true,
|
|
117
115
|
});
|
|
118
|
-
if (context.ignoreOptional || __classPrivateFieldGet(this,
|
|
116
|
+
if (context.ignoreOptional || __classPrivateFieldGet(this, _Optional_wrapped, "f") === Primitive.ANY) {
|
|
119
117
|
return optionalType;
|
|
120
118
|
}
|
|
121
119
|
return `typing.Optional[${optionalType}]`;
|
|
122
120
|
}
|
|
123
121
|
requiredImports(context) {
|
|
124
|
-
return __classPrivateFieldGet(this,
|
|
122
|
+
return __classPrivateFieldGet(this, _Optional_wrapped, "f").requiredImports({ ...context, ignoreOptional: true });
|
|
125
123
|
}
|
|
126
124
|
}
|
|
127
|
-
|
|
125
|
+
_Optional_wrapped = new WeakMap();
|
|
128
126
|
class Primitive {
|
|
129
127
|
constructor(pythonType) {
|
|
130
128
|
// eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
|
|
131
|
-
|
|
132
|
-
__classPrivateFieldSet(this,
|
|
129
|
+
_Primitive_pythonType.set(this, void 0);
|
|
130
|
+
__classPrivateFieldSet(this, _Primitive_pythonType, pythonType, "f");
|
|
133
131
|
}
|
|
134
132
|
static of(type) {
|
|
135
133
|
switch (type.primitive) {
|
|
@@ -149,13 +147,13 @@ class Primitive {
|
|
|
149
147
|
}
|
|
150
148
|
}
|
|
151
149
|
pythonType() {
|
|
152
|
-
return __classPrivateFieldGet(this,
|
|
150
|
+
return __classPrivateFieldGet(this, _Primitive_pythonType, "f");
|
|
153
151
|
}
|
|
154
152
|
requiredImports() {
|
|
155
153
|
return {};
|
|
156
154
|
}
|
|
157
155
|
}
|
|
158
|
-
|
|
156
|
+
_Primitive_pythonType = new WeakMap();
|
|
159
157
|
Primitive.BOOL = new Primitive('builtins.bool');
|
|
160
158
|
Primitive.DATE = new Primitive('datetime.datetime');
|
|
161
159
|
Primitive.JSII_NUMBER = new Primitive('jsii.Number'); // "jsii" is always already imported!
|
|
@@ -166,23 +164,24 @@ Primitive.NONE = new Primitive('None');
|
|
|
166
164
|
class Union {
|
|
167
165
|
constructor(options) {
|
|
168
166
|
// eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
|
|
169
|
-
|
|
170
|
-
__classPrivateFieldSet(this,
|
|
167
|
+
_Union_options.set(this, void 0);
|
|
168
|
+
__classPrivateFieldSet(this, _Union_options, options, "f");
|
|
171
169
|
}
|
|
172
170
|
pythonType(context) {
|
|
173
|
-
return `typing.Union[${__classPrivateFieldGet(this,
|
|
171
|
+
return `typing.Union[${__classPrivateFieldGet(this, _Union_options, "f")
|
|
172
|
+
.map((o) => o.pythonType(context))
|
|
174
173
|
.join(', ')}]`;
|
|
175
174
|
}
|
|
176
175
|
requiredImports(context) {
|
|
177
|
-
return mergePythonImports(...__classPrivateFieldGet(this,
|
|
176
|
+
return mergePythonImports(...__classPrivateFieldGet(this, _Union_options, "f").map((o) => o.requiredImports(context)));
|
|
178
177
|
}
|
|
179
178
|
}
|
|
180
|
-
|
|
179
|
+
_Union_options = new WeakMap();
|
|
181
180
|
class UserType {
|
|
182
181
|
constructor(fqn) {
|
|
183
182
|
// eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
|
|
184
|
-
|
|
185
|
-
__classPrivateFieldSet(this,
|
|
183
|
+
_UserType_fqn.set(this, void 0);
|
|
184
|
+
__classPrivateFieldSet(this, _UserType_fqn, fqn, "f");
|
|
186
185
|
}
|
|
187
186
|
pythonType(context) {
|
|
188
187
|
return this.resolve(context).pythonType;
|
|
@@ -195,8 +194,7 @@ class UserType {
|
|
|
195
194
|
return { [requiredImport.sourcePackage]: new Set([requiredImport.item]) };
|
|
196
195
|
}
|
|
197
196
|
resolve({ assembly, emittedTypes, submodule, surroundingTypeFqns, typeAnnotation = true, }) {
|
|
198
|
-
|
|
199
|
-
const { assemblyName, packageName, pythonFqn } = toPythonFqn(__classPrivateFieldGet(this, _fqn), assembly);
|
|
197
|
+
const { assemblyName, packageName, pythonFqn } = toPythonFqn(__classPrivateFieldGet(this, _UserType_fqn, "f"), assembly);
|
|
200
198
|
if (assemblyName !== assembly.name) {
|
|
201
199
|
return {
|
|
202
200
|
pythonType: pythonFqn,
|
|
@@ -207,15 +205,18 @@ class UserType {
|
|
|
207
205
|
};
|
|
208
206
|
}
|
|
209
207
|
const submodulePythonName = toPythonFqn(submodule, assembly).pythonFqn;
|
|
210
|
-
const typeSubmodulePythonName = toPythonFqn(findParentSubmodule(assembly.types[__classPrivateFieldGet(this,
|
|
208
|
+
const typeSubmodulePythonName = toPythonFqn(findParentSubmodule(assembly.types[__classPrivateFieldGet(this, _UserType_fqn, "f")], assembly), assembly).pythonFqn;
|
|
211
209
|
if (typeSubmodulePythonName === submodulePythonName) {
|
|
212
210
|
// Identifiy declarations that are not yet initialized and hence cannot be
|
|
213
211
|
// used as part of a type qualification. Since this is not a forward
|
|
214
212
|
// reference, the type was already emitted and its un-qualified name must
|
|
215
213
|
// be used instead of it's locally qualified name.
|
|
216
|
-
const nestingParent =
|
|
214
|
+
const nestingParent = surroundingTypeFqns
|
|
215
|
+
?.map((fqn) => toPythonFqn(fqn, assembly).pythonFqn)
|
|
216
|
+
?.reverse()
|
|
217
|
+
?.find((parent) => pythonFqn.startsWith(`${parent}.`));
|
|
217
218
|
if (typeAnnotation &&
|
|
218
|
-
(!emittedTypes.has(__classPrivateFieldGet(this,
|
|
219
|
+
(!emittedTypes.has(__classPrivateFieldGet(this, _UserType_fqn, "f")) || nestingParent != null)) {
|
|
219
220
|
// Possibly a forward reference, outputting the stringifierd python FQN
|
|
220
221
|
return {
|
|
221
222
|
pythonType: JSON.stringify(pythonFqn.substring(submodulePythonName.length + 1)),
|
|
@@ -235,7 +236,7 @@ class UserType {
|
|
|
235
236
|
const [toImport, ...nested] = pythonFqn
|
|
236
237
|
.substring(typeSubmodulePythonName.length + 1)
|
|
237
238
|
.split('.');
|
|
238
|
-
const aliasSuffix = crypto_1.createHash('sha256')
|
|
239
|
+
const aliasSuffix = (0, crypto_1.createHash)('sha256')
|
|
239
240
|
.update(typeSubmodulePythonName)
|
|
240
241
|
.update('.')
|
|
241
242
|
.update(toImport)
|
|
@@ -251,12 +252,12 @@ class UserType {
|
|
|
251
252
|
};
|
|
252
253
|
}
|
|
253
254
|
}
|
|
254
|
-
|
|
255
|
+
_UserType_fqn = new WeakMap();
|
|
255
256
|
function toPythonFqn(fqn, rootAssm) {
|
|
256
257
|
const { assemblyName, packageName, tail } = getPackageName(fqn, rootAssm);
|
|
257
258
|
const fqnParts = [packageName];
|
|
258
259
|
for (const part of tail) {
|
|
259
|
-
fqnParts.push(util_1.toPythonIdentifier(part));
|
|
260
|
+
fqnParts.push((0, util_1.toPythonIdentifier)(part));
|
|
260
261
|
}
|
|
261
262
|
return { assemblyName, packageName, pythonFqn: fqnParts.join('.') };
|
|
262
263
|
}
|
|
@@ -284,13 +285,14 @@ function relativeImportPath(fromPkg, toPkg) {
|
|
|
284
285
|
return `.${relativeImportPath(fromPkgParent, toPkg)}`;
|
|
285
286
|
}
|
|
286
287
|
function getPackageName(fqn, rootAssm) {
|
|
287
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
288
288
|
const segments = fqn.split('.');
|
|
289
289
|
const assemblyName = segments[0];
|
|
290
290
|
const config = assemblyName === rootAssm.name
|
|
291
291
|
? rootAssm
|
|
292
|
-
:
|
|
293
|
-
|
|
292
|
+
: rootAssm.dependencyClosure?.[assemblyName] ??
|
|
293
|
+
(0, util_1.die)(`Unable to find configuration for assembly "${assemblyName}" in dependency closure`);
|
|
294
|
+
const rootPkg = config.targets?.python?.module ??
|
|
295
|
+
(0, util_1.die)(`No Python target was configured in assembly "${assemblyName}"`);
|
|
294
296
|
const pkg = new Array();
|
|
295
297
|
const tail = new Array();
|
|
296
298
|
for (let len = segments.length; len > 0; len--) {
|
|
@@ -299,35 +301,34 @@ function getPackageName(fqn, rootAssm) {
|
|
|
299
301
|
pkg.unshift(rootPkg);
|
|
300
302
|
break;
|
|
301
303
|
}
|
|
302
|
-
const submoduleConfig =
|
|
304
|
+
const submoduleConfig = config.submodules?.[submodule];
|
|
303
305
|
if (submoduleConfig == null) {
|
|
304
306
|
// Not in a submodule - so the current lead name is not a package name part.
|
|
305
307
|
tail.unshift(segments[len - 1]);
|
|
306
308
|
continue;
|
|
307
309
|
}
|
|
308
|
-
const subPackage =
|
|
310
|
+
const subPackage = submoduleConfig.targets?.python?.module;
|
|
309
311
|
if (subPackage != null) {
|
|
310
312
|
// Found a sub-package. Confirm it's nested right in, and make this the head end of our package name.
|
|
311
313
|
if (!subPackage.startsWith(`${rootPkg}.`)) {
|
|
312
|
-
util_1.die(`Submodule "${submodule}" is mapped to Python sub-package "${subPackage}" which isn't nested under "${rootPkg}"!`);
|
|
314
|
+
(0, util_1.die)(`Submodule "${submodule}" is mapped to Python sub-package "${subPackage}" which isn't nested under "${rootPkg}"!`);
|
|
313
315
|
}
|
|
314
316
|
pkg.unshift(subPackage);
|
|
315
317
|
break;
|
|
316
318
|
}
|
|
317
319
|
// Just use whatever the default name is for this package name part.
|
|
318
|
-
pkg.unshift(codemaker_1.toSnakeCase(util_1.toPythonIdentifier(segments[len - 1])));
|
|
320
|
+
pkg.unshift((0, codemaker_1.toSnakeCase)((0, util_1.toPythonIdentifier)(segments[len - 1])));
|
|
319
321
|
}
|
|
320
322
|
return { assemblyName, packageName: pkg.join('.'), tail };
|
|
321
323
|
}
|
|
322
324
|
function findParentSubmodule(type, assm) {
|
|
323
|
-
var _a, _b;
|
|
324
325
|
if (type.namespace == null) {
|
|
325
326
|
return assm.name;
|
|
326
327
|
}
|
|
327
328
|
const namespaceFqn = `${assm.name}.${type.namespace}`;
|
|
328
|
-
if (
|
|
329
|
-
return findParentSubmodule(
|
|
329
|
+
if (assm.types?.[namespaceFqn] != null) {
|
|
330
|
+
return findParentSubmodule(assm.types?.[namespaceFqn], assm);
|
|
330
331
|
}
|
|
331
332
|
return namespaceFqn;
|
|
332
333
|
}
|
|
333
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1uYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHlwZS1uYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUNBWW9CO0FBQ3BCLHlDQUF3QztBQUN4QyxtQ0FBb0M7QUFFcEMsaUNBQWlEO0FBa0VqRCxTQUFnQixVQUFVLENBQUMsR0FBbUM7SUFDNUQsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFO1FBQ2YsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDO0tBQ3ZCO0lBRUQsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDbkQsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFFdEQsSUFBSSxNQUFNLEdBQWEsU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUVyQyxJQUFJLCtCQUF3QixDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2xDLE1BQU0sR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzdCO1NBQU0sSUFBSSxnQ0FBeUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMxQyxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLHFCQUFjLENBQUMsS0FBSyxFQUFFO1lBQ2pELE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjthQUFNO1lBQ0wsTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3hCO0tBQ0Y7U0FBTSxJQUFJLDJCQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3JDLE1BQU0sR0FBRyxJQUFJLEtB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LE9BQUEsSUFBSSxDQUFDLEtBQUssMENBQUcsWUFBWSxNQUFLLElBQUksRUFBRTtRQUN0QyxPQUFPLG1CQUFtQixPQUFDLElBQUksQ0FBQyxLQUFLLDBDQUFHLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQztLQUM5RDtJQUNELE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBc3NlbWJseSxcbiAgT3B0aW9uYWxWYWx1ZSxcbiAgVHlwZVJlZmVyZW5jZSxcbiAgaXNDb2xsZWN0aW9uVHlwZVJlZmVyZW5jZSxcbiAgQ29sbGVjdGlvbktpbmQsXG4gIGlzTmFtZWRUeXBlUmVmZXJlbmNlLFxuICBpc1ByaW1pdGl2ZVR5cGVSZWZlcmVuY2UsXG4gIFByaW1pdGl2ZVR5cGUsXG4gIFByaW1pdGl2ZVR5cGVSZWZlcmVuY2UsXG4gIGlzVW5pb25UeXBlUmVmZXJlbmNlLFxuICBUeXBlLFxufSBmcm9tICdAanNpaS9zcGVjJztcbmltcG9ydCB7IHRvU25ha2VDYXNlIH0gZnJvbSAnY29kZW1ha2VyJztcbmltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tICdjcnlwdG8nO1xuXG5pbXBvcnQgeyBkaWUsIHRvUHl0aG9uSWRlbnRpZmllciB9IGZyb20gJy4vdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZU5hbWUge1xuICBweXRob25UeXBlKGNvbnRleHQ6IE5hbWluZ0NvbnRleHQpOiBzdHJpbmc7XG4gIHJlcXVpcmVkSW1wb3J0cyhjb250ZXh0OiBOYW1pbmdDb250ZXh0KTogUHl0aG9uSW1wb3J0cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQeXRob25JbXBvcnRzIHtcbiAgLyoqXG4gICAqIEZvciBhIGdpdmVuIHNvdXJjZSBtb2R1bGUsIHdoYXQgZWxlbWVudHMgdG8gaW1wb3J0LiBUaGUgZW1wdHkgc3RyaW5nIHZhbHVlXG4gICAqIGluZGljYXRlcyBhIG5lZWQgdG8gaW1wb3J0IHRoZSBtb2R1bGUgZnVsbHkgKFwiaW1wb3J0IDxuYW1lPlwiKSBpbnN0ZWFkIG9mXG4gICAqIGRvaW5nIGEgcGllY2VtZWFsIGltcG9ydCAoXCJmcm9tIDxuYW1lPiBpbXBvcnQgPGl0ZW0+XCIpLlxuICAgKi9cbiAgcmVhZG9ubHkgW3NvdXJjZVBhY2thZ2U6IHN0cmluZ106IFJlYWRvbmx5U2V0PHN0cmluZz47XG59XG5cbi8qKlxuICogVGhlIGNvbnRleHQgaW4gd2hpY2ggYSBQeXRob25UeXBlIGlzIGJlaW5nIGNvbnNpZGVyZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFtaW5nQ29udGV4dCB7XG4gIC8qKiBUaGUgYXNzZW1ibHkgaW4gd2hpY2ggdGhlIFB5dGhvblR5cGUgaXMgZXhwcmVzc2VkLiAqL1xuICByZWFkb25seSBhc3NlbWJseTogQXNzZW1ibHk7XG5cbiAgLyoqIFRoZSBzdWJtb2R1bGUgb2YgdGhlIGFzc2VtYmx5IGluIHdoaWNoIHRoZSBQeXRob25UeXBlIGlzIGV4cHJlc3NlZCAoY291bGQgYmUgdGhlIG1vZHVsZSByb290KSAqL1xuICByZWFkb25seSBzdWJtb2R1bGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlY2xhcmF0aW9uIGlzIG1hZGUgaW4gdGhlIGNvbnRleHQgb2YgYSB0eXBlIGFubm90YXRpb24gKHNvIGl0IGNhbiBiZSBxdW90ZWQpXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHR5cGVBbm5vdGF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBhbiBhcnJheSByZXByZXNlbnRpbmcgdGhlIHN0YWNrIG9mIGRlY2xhcmF0aW9ucyBjdXJyZW50bHkgYmVpbmdcbiAgICogaW5pdGlhbGl6ZWQuIEFsbCBvZiB0aGVzZSBuYW1lcyBjYW4gb25seSBiZSByZWZlcnJlZCB0byB1c2luZyBhIGZvcndhcmRcbiAgICogcmVmZXJlbmNlIChzdHJpbmdpZmllZCB0eXBlIG5hbWUpIGluIHRoZSBjb250ZXh0IG9mIHR5cGUgc2lnbmF0dXJlcyAoYnV0XG4gICAqIHRoZXkgY2FuIGJlIHVzZWQgc2FmZWx5IGZyb20gaW1wbGVtZW50YXRpb25zIHNvIGxvbmcgYXMgdGhvc2UgYXJlIG5vdCAqcnVuKlxuICAgKiBhcyBwYXJ0IG9mIHRoZSBkZWNsYXJhdGlvbikuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBzdXJyb3VuZGluZ1R5cGVGcW5zPzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIGdlbmVyYXRpbmcgdHlwaW5nLk9wdGlvbmFsIHdyYXBwZXJzXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlT3B0aW9uYWw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0IG9mIGpzaWkgdHlwZSBGUU5zIHRoYXQgaGF2ZSBhbHJlYWR5IGJlZW4gZW1pdHRlZCBzbyBmYXIuIFRoaXMgaXNcbiAgICogdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBhIGdpdmVuIHR5cGUgcmVmZXJlbmNlIGlzIGEgZm9yd2FyZCBkZWNsYXJhdGlvblxuICAgKiBvciBub3Qgd2hlbiBlbWl0dGluZyB0eXBlIHNpZ25hdHVyZXMuXG4gICAqL1xuICByZWFkb25seSBlbWl0dGVkVHlwZXM6IFNldDxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0eXBlIGlzIGVtaXR0ZWQgZm9yIGEgcGFyYW1ldGVyIG9yIG5vdC4gVGhpcyBtYXkgY2hhbmdlIHRoZVxuICAgKiBleGFjdCB0eXBlIHNpZ25hdHVyZSBiZWluZyBlbWl0dGVkIChlLmc6IEFycmF5cyBhcmUgdHlwaW5nLlNlcXVlbmNlW1RdIGZvclxuICAgKiBwYXJhbWV0ZXJzLCBhbmQgdHlwaW5nLkxpc3RbVF0gb3RoZXJ3aXNlKS5cbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlclR5cGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9UeXBlTmFtZShyZWY/OiBPcHRpb25hbFZhbHVlIHwgVHlwZVJlZmVyZW5jZSk6IFR5cGVOYW1lIHtcbiAgaWYgKHJlZiA9PSBudWxsKSB7XG4gICAgcmV0dXJuIFByaW1pdGl2ZS5OT05FO1xuICB9XG5cbiAgY29uc3QgdHlwZSA9IGlzT3B0aW9uYWxWYWx1ZShyZWYpID8gcmVmLnR5cGUgOiByZWY7XG4gIGNvbnN0IG9wdGlvbmFsID0gaXNPcHRpb25hbFZhbHVlKHJlZikgJiYgcmVmLm9wdGlvbmFsO1xuXG4gIGxldCByZXN1bHQ6IFR5cGVOYW1lID0gUHJpbWl0aXZlLkFOWTtcblxuICBpZiAoaXNQcmltaXRpdmVUeXBlUmVmZXJlbmNlKHR5cGUpKSB7XG4gICAgcmVzdWx0ID0gUHJpbWl0aXZlLm9mKHR5cGUpO1xuICB9IGVsc2UgaWYgKGlzQ29sbGVjdGlvblR5cGVSZWZlcmVuY2UodHlwZSkpIHtcbiAgICBjb25zdCBlbHQgPSB0b1R5cGVOYW1lKHR5cGUuY29sbGVjdGlvbi5lbGVtZW50dHlwZSk7XG4gICAgaWYgKHR5cGUuY29sbGVjdGlvbi5raW5kID09PSBDb2xsZWN0aW9uS2luZC5BcnJheSkge1xuICAgICAgcmVzdWx0ID0gbmV3IExpc3QoZWx0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gbmV3IERpY3QoZWx0KTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaXNVbmlvblR5cGVSZWZlcmVuY2UodHlwZSkpIHtcbiAgICByZXN1bHQgPSBuZXcgVW5pb24odHlwZS51bmlvbi50eXBlcy5tYXAodG9UeXBlTmFtZSkpO1xuICB9IGVsc2UgaWYgKGlzTmFtZWRUeXBlUmVmZXJlbmNlKHR5cGUpKSB7XG4gICAgcmVzdWx0ID0gbmV3IFVzZXJUeXBlKHR5cGUuZnFuKTtcbiAgfVxuXG4gIHJldHVybiBvcHRpb25hbCA/IG5ldyBPcHRpb25hbChyZXN1bHQpIDogcmVzdWx0O1xufVxuXG4vKipcbiAqIE9idGFpbnMgdGhlIFB5dGhvbiBwYWNrYWdlIG5hbWUgZm9yIGEgZ2l2ZW4gc3VibW9kdWxlIEZRTi5cbiAqXG4gKiBAcGFyYW0gZnFuICAgICAgdGhlIHN1Ym1vZHVsZSBGUU4gZm9yIHdoaWNoIGEgcGFja2FnZSBuYW1lIGlzIG5lZWRlZC5cbiAqIEBwYXJhbSByb290QXNzbSB0aGUgYXNzZW1ibHkgdGhpcyBGUU4gYmVsb25ncyB0by5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUGFja2FnZU5hbWUoZnFuOiBzdHJpbmcsIHJvb3RBc3NtOiBBc3NlbWJseSk6IHN0cmluZyB7XG4gIHJldHVybiBnZXRQYWNrYWdlTmFtZShmcW4sIHJvb3RBc3NtKS5wYWNrYWdlTmFtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlUHl0aG9uSW1wb3J0cyhcbiAgLi4ucHl0aG9uSW1wb3J0czogcmVhZG9ubHkgUHl0aG9uSW1wb3J0c1tdXG4pOiBQeXRob25JbXBvcnRzIHtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBTZXQ8c3RyaW5nPj4gPSB7fTtcbiAgZm9yIChjb25zdCBiYWcgb2YgcHl0aG9uSW1wb3J0cykge1xuICAgIGZvciAoY29uc3QgW3BhY2thZ2VOYW1lLCBpdGVtc10gb2YgT2JqZWN0LmVudHJpZXMoYmFnKSkge1xuICAgICAgaWYgKCEocGFja2FnZU5hbWUgaW4gcmVzdWx0KSkge1xuICAgICAgICByZXN1bHRbcGFja2FnZU5hbWVdID0gbmV3IFNldCgpO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICAgIHJlc3VsdFtwYWNrYWdlTmFtZV0uYWRkKGl0ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBpc09wdGlvbmFsVmFsdWUoXG4gIHR5cGU6IE9wdGlvbmFsVmFsdWUgfCBUeXBlUmVmZXJlbmNlLFxuKTogdHlwZSBpcyBPcHRpb25hbFZhbHVlIHtcbiAgcmV0dXJuICh0eXBlIGFzIHVua25vd24gYXMgT3B0aW9uYWxWYWx1ZSkudHlwZSAhPSBudWxsO1xufVxuXG5jbGFzcyBEaWN0IGltcGxlbWVudHMgVHlwZU5hbWUge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1lbWJlci1hY2Nlc3NpYmlsaXR5XG4gIHJlYWRvbmx5ICNlbGVtZW50OiBUeXBlTmFtZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoZWxlbWVudDogVHlwZU5hbWUpIHtcbiAgICB0aGlzLiNlbGVtZW50ID0gZWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBweXRob25UeXBlKGNvbnRleHQ6IE5hbWluZ0NvbnRleHQpIHtcbiAgICByZXR1cm4gYHR5cGluZy5NYXBwaW5nW2J1aWx0aW5zLnN0ciwgJHt0aGlzLiNlbGVtZW50LnB5dGhvblR5cGUoY29udGV4dCl9XWA7XG4gIH1cblxuICBwdWJsaWMgcmVxdWlyZWRJbXBvcnRzKGNvbnRleHQ6IE5hbWluZ0NvbnRleHQpIHtcbiAgICByZXR1cm4gdGhpcy4jZWxlbWVudC5yZXF1aXJlZEltcG9ydHMoY29udGV4dCk7XG4gIH1cbn1cblxuY2xhc3MgTGlzdCBpbXBsZW1lbnRzIFR5cGVOYW1lIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tZW1iZXItYWNjZXNzaWJpbGl0eVxuICByZWFkb25seSAjZWxlbWVudDogVHlwZU5hbWU7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IFR5cGVOYW1lKSB7XG4gICAgdGhpcy4jZWxlbWVudCA9IGVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgcHl0aG9uVHlwZShjb250ZXh0OiBOYW1pbmdDb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IGNvbnRleHQucGFyYW1ldGVyVHlwZSA/ICdTZXF1ZW5jZScgOiAnTGlzdCc7XG4gICAgcmV0dXJuIGB0eXBpbmcuJHt0eXBlfVske3RoaXMuI2VsZW1lbnQucHl0aG9uVHlwZShjb250ZXh0KX1dYDtcbiAgfVxuXG4gIHB1YmxpYyByZXF1aXJlZEltcG9ydHMoY29udGV4dDogTmFtaW5nQ29udGV4dCkge1xuICAgIHJldHVybiB0aGlzLiNlbGVtZW50LnJlcXVpcmVkSW1wb3J0cyhjb250ZXh0KTtcbiAgfVxufVxuXG5jbGFzcyBPcHRpb25hbCBpbXBsZW1lbnRzIFR5cGVOYW1lIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tZW1iZXItYWNjZXNzaWJpbGl0eVxuICByZWFkb25seSAjd3JhcHBlZDogVHlwZU5hbWU7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHdyYXBwZWQ6IFR5cGVOYW1lKSB7XG4gICAgdGhpcy4jd3JhcHBlZCA9IHdyYXBwZWQ7XG4gIH1cblxuICBwdWJsaWMgcHl0aG9uVHlwZShjb250ZXh0OiBOYW1pbmdDb250ZXh0KSB7XG4gICAgY29uc3Qgb3B0aW9uYWxUeXBlID0gdGhpcy4jd3JhcHBlZC5weXRob25UeXBlKHtcbiAgICAgIC4uLmNvbnRleHQsXG4gICAgICBpZ25vcmVPcHRpb25hbDogdHJ1ZSxcbiAgICB9KTtcbiAgICBpZiAoY29udGV4dC5pZ25vcmVPcHRpb25hbCB8fCB0aGlzLiN3cmFwcGVkID09PSBQcmltaXRpdmUuQU5ZKSB7XG4gICAgICByZXR1cm4gb3B0aW9uYWxUeXBlO1xuICAgIH1cbiAgICByZXR1cm4gYHR5cGluZy5PcHRpb25hbFske29wdGlvbmFsVHlwZX1dYDtcbiAgfVxuXG4gIHB1YmxpYyByZXF1aXJlZEltcG9ydHMoY29udGV4dDogTmFtaW5nQ29udGV4dCkge1xuICAgIHJldHVybiB0aGlzLiN3cmFwcGVkLnJlcXVpcmVkSW1wb3J0cyh7IC4uLmNvbnRleHQsIGlnbm9yZU9wdGlvbmFsOiB0cnVlIH0pO1xuICB9XG59XG5cbmNsYXNzIFByaW1pdGl2ZSBpbXBsZW1lbnRzIFR5cGVOYW1lIHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQk9PTCA9IG5ldyBQcmltaXRpdmUoJ2J1aWx0aW5zLmJvb2wnKTtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREFURSA9IG5ldyBQcmltaXRpdmUoJ2RhdGV0aW1lLmRhdGV0aW1lJyk7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEpTSUlfTlVNQkVSID0gbmV3IFByaW1pdGl2ZSgnanNpaS5OdW1iZXInKTsgLy8gXCJqc2lpXCIgaXMgYWx3YXlzIGFscmVhZHkgaW1wb3J0ZWQhXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFNUUiA9IG5ldyBQcmltaXRpdmUoJ2J1aWx0aW5zLnN0cicpO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBKU09OID0gbmV3IFByaW1pdGl2ZShcbiAgICAndHlwaW5nLk1hcHBpbmdbdHlwaW5nLkFueSwgdHlwaW5nLkFueV0nLFxuICApO1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQU5ZID0gbmV3IFByaW1pdGl2ZSgndHlwaW5nLkFueScpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PTkUgPSBuZXcgUHJpbWl0aXZlKCdOb25lJyk7XG5cbiAgcHVibGljIHN0YXRpYyBvZih0eXBlOiBQcmltaXRpdmVUeXBlUmVmZXJlbmNlKTogVHlwZU5hbWUge1xuICAgIHN3aXRjaCAodHlwZS5wcmltaXRpdmUpIHtcbiAgICAgIGNhc2UgUHJpbWl0aXZlVHlwZS5Cb29sZWFuOlxuICAgICAgICByZXR1cm4gUHJpbWl0aXZlLkJPT0w7XG4gICAgICBjYXNlIFByaW1pdGl2ZVR5cGUuRGF0ZTpcbiAgICAgICAgcmV0dXJuIFByaW1pdGl2ZS5EQVRFO1xuICAgICAgY2FzZSBQcmltaXRpdmVUeXBlLk51bWJlcjpcbiAgICAgICAgcmV0dXJuIFByaW1pdGl2ZS5KU0lJX05VTUJFUjtcbiAgICAgIGNhc2UgUHJpbWl0aXZlVHlwZS5TdHJpbmc6XG4gICAgICAgIHJldHVybiBQcmltaXRpdmUuU1RSO1xuICAgICAgY2FzZSBQcmltaXRpdmVUeXBlLkpzb246XG4gICAgICAgIHJldHVybiBQcmltaXRpdmUuSlNPTjtcbiAgICAgIGNhc2UgUHJpbWl0aXZlVHlwZS5Bbnk6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gUHJpbWl0aXZlLkFOWTtcbiAgICB9XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1lbWJlci1hY2Nlc3NpYmlsaXR5XG4gIHJlYWRvbmx5ICNweXRob25UeXBlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihweXRob25UeXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNweXRob25UeXBlID0gcHl0aG9uVHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBweXRob25UeXBlKCkge1xuICAgIHJldHVybiB0aGlzLiNweXRob25UeXBlO1xuICB9XG5cbiAgcHVibGljIHJlcXVpcmVkSW1wb3J0cygpIHtcbiAgICByZXR1cm4ge307XG4gIH1cbn1cblxuY2xhc3MgVW5pb24gaW1wbGVtZW50cyBUeXBlTmFtZSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbWVtYmVyLWFjY2Vzc2liaWxpdHlcbiAgcmVhZG9ubHkgI29wdGlvbnM6IHJlYWRvbmx5IFR5cGVOYW1lW107XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKG9wdGlvbnM6IHJlYWRvbmx5IFR5cGVOYW1lW10pIHtcbiAgICB0aGlzLiNvcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBweXRob25UeXBlKGNvbnRleHQ6IE5hbWluZ0NvbnRleHQpIHtcbiAgICByZXR1cm4gYHR5cGluZy5Vbmlvblske3RoaXMuI29wdGlvbnNcbiAgICAgIC5tYXAoKG8pID0+IG8ucHl0aG9uVHlwZShjb250ZXh0KSlcbiAgICAgIC5qb2luKCcsICcpfV1gO1xuICB9XG5cbiAgcHVibGljIHJlcXVpcmVkSW1wb3J0cyhjb250ZXh0OiBOYW1pbmdDb250ZXh0KSB7XG4gICAgcmV0dXJuIG1lcmdlUHl0aG9uSW1wb3J0cyhcbiAgICAgIC4uLnRoaXMuI29wdGlvbnMubWFwKChvKSA9PiBvLnJlcXVpcmVkSW1wb3J0cyhjb250ZXh0KSksXG4gICAgKTtcbiAgfVxufVxuXG5jbGFzcyBVc2VyVHlwZSBpbXBsZW1lbnRzIFR5cGVOYW1lIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tZW1iZXItYWNjZXNzaWJpbGl0eVxuICByZWFkb25seSAjZnFuOiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGZxbjogc3RyaW5nKSB7XG4gICAgdGhpcy4jZnFuID0gZnFuO1xuICB9XG5cbiAgcHVibGljIHB5dGhvblR5cGUoY29udGV4dDogTmFtaW5nQ29udGV4dCkge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmUoY29udGV4dCkucHl0aG9uVHlwZTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1aXJlZEltcG9ydHMoY29udGV4dDogTmFtaW5nQ29udGV4dCkge1xuICAgIGNvbnN0IHJlcXVpcmVkSW1wb3J0ID0gdGhpcy5yZXNvbHZlKGNvbnRleHQpLnJlcXVpcmVkSW1wb3J0O1xuICAgIGlmIChyZXF1aXJlZEltcG9ydCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIHJldHVybiB7IFtyZXF1aXJlZEltcG9ydC5zb3VyY2VQYWNrYWdlXTogbmV3IFNldChbcmVxdWlyZWRJbXBvcnQuaXRlbV0pIH07XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmUoe1xuICAgIGFzc2VtYmx5LFxuICAgIGVtaXR0ZWRUeXBlcyxcbiAgICBzdWJtb2R1bGUsXG4gICAgc3Vycm91bmRpbmdUeXBlRnFucyxcbiAgICB0eXBlQW5ub3RhdGlvbiA9IHRydWUsXG4gIH06IE5hbWluZ0NvbnRleHQpIHtcbiAgICBjb25zdCB7IGFzc2VtYmx5TmFtZSwgcGFja2FnZU5hbWUsIHB5dGhvbkZxbiB9ID0gdG9QeXRob25GcW4oXG4gICAgICB0aGlzLiNmcW4sXG4gICAgICBhc3NlbWJseSxcbiAgICApO1xuICAgIGlmIChhc3NlbWJseU5hbWUgIT09IGFzc2VtYmx5Lm5hbWUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHB5dGhvblR5cGU6IHB5dGhvbkZxbixcbiAgICAgICAgcmVxdWlyZWRJbXBvcnQ6IHtcbiAgICAgICAgICBzb3VyY2VQYWNrYWdlOiBwYWNrYWdlTmFtZSxcbiAgICAgICAgICBpdGVtOiAnJyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3Qgc3VibW9kdWxlUHl0aG9uTmFtZSA9IHRvUHl0aG9uRnFuKHN1Ym1vZHVsZSwgYXNzZW1ibHkpLnB5dGhvbkZxbjtcbiAgICBjb25zdCB0eXBlU3VibW9kdWxlUHl0aG9uTmFtZSA9IHRvUHl0aG9uRnFuKFxuICAgICAgZmluZFBhcmVudFN1Ym1vZHVsZShhc3NlbWJseS50eXBlcyFbdGhpcy4jZnFuXSwgYXNzZW1ibHkpLFxuICAgICAgYXNzZW1ibHksXG4gICAgKS5weXRob25GcW47XG5cbiAgICBpZiAodHlwZVN1Ym1vZHVsZVB5dGhvbk5hbWUgPT09IHN1Ym1vZHVsZVB5dGhvbk5hbWUpIHtcbiAgICAgIC8vIElkZW50aWZpeSBkZWNsYXJhdGlvbnMgdGhhdCBhcmUgbm90IHlldCBpbml0aWFsaXplZCBhbmQgaGVuY2UgY2Fubm90IGJlXG4gICAgICAvLyB1c2VkIGFzIHBhcnQgb2YgYSB0eXBlIHF1YWxpZmljYXRpb24uIFNpbmNlIHRoaXMgaXMgbm90IGEgZm9yd2FyZFxuICAgICAgLy8gcmVmZXJlbmNlLCB0aGUgdHlwZSB3YXMgYWxyZWFkeSBlbWl0dGVkIGFuZCBpdHMgdW4tcXVhbGlmaWVkIG5hbWUgbXVzdFxuICAgICAgLy8gYmUgdXNlZCBpbnN0ZWFkIG9mIGl0J3MgbG9jYWxseSBxdWFsaWZpZWQgbmFtZS5cbiAgICAgIGNvbnN0IG5lc3RpbmdQYXJlbnQgPSBzdXJyb3VuZGluZ1R5cGVGcW5zXG4gICAgICAgID8ubWFwKChmcW4pID0+IHRvUHl0aG9uRnFuKGZxbiwgYXNzZW1ibHkpLnB5dGhvbkZxbilcbiAgICAgICAgPy5yZXZlcnNlKClcbiAgICAgICAgPy5maW5kKChwYXJlbnQpID0+IHB5dGhvbkZxbi5zdGFydHNXaXRoKGAke3BhcmVudH0uYCkpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVBbm5vdGF0aW9uICYmXG4gICAgICAgICghZW1pdHRlZFR5cGVzLmhhcyh0aGlzLiNmcW4pIHx8IG5lc3RpbmdQYXJlbnQgIT0gbnVsbClcbiAgICAgICkge1xuICAgICAgICAvLyBQb3NzaWJseSBhIGZvcndhcmQgcmVmZXJlbmNlLCBvdXRwdXR0aW5nIHRoZSBzdHJpbmdpZmllcmQgcHl0aG9uIEZRTlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHB5dGhvblR5cGU6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgcHl0aG9uRnFuLnN1YnN0cmluZyhzdWJtb2R1bGVQeXRob25OYW1lLmxlbmd0aCArIDEpLFxuICAgICAgICAgICksXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmICghdHlwZUFubm90YXRpb24gJiYgbmVzdGluZ1BhcmVudCkge1xuICAgICAgICAvLyBUaGlzIGlzIG5vdCBmb3IgYSB0eXBlIGFubm90YXRpb24sIHNvIHdlIHNob3VsZCBiZSBhdCBhIHBvaW50IGluIHRpbWVcbiAgICAgICAgLy8gd2hlcmUgdGhlIHN1cnJvdW5kaW5nIHN5bWJvbCBoYXMgYmVlbiBkZWZpbmVkIGVudGlyZWx5LCBzbyB3ZSBjYW5cbiAgICAgICAgLy8gcmVmZXIgdG8gaXQgXCJub3JtYWxseVwiIG5vdy5cbiAgICAgICAgcmV0dXJuIHsgcHl0aG9uVHlwZTogcHl0aG9uRnFuLnN1YnN0cmluZyhuZXN0aW5nUGFyZW50Lmxlbmd0aCArIDEpIH07XG4gICAgICB9XG5cbiAgICAgIC8vIFdlJ2xsIGp1c3QgbWFrZSBhIG1vZHVsZS1xdWFsaWZpZWQgcmVmZXJlbmNlIGF0IHRoaXMgcG9pbnQuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBweXRob25UeXBlOiBweXRob25GcW4uc3Vic3RyaW5nKHN1Ym1vZHVsZVB5dGhvbk5hbWUubGVuZ3RoICsgMSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IFt0b0ltcG9ydCwgLi4ubmVzdGVkXSA9IHB5dGhvbkZxblxuICAgICAgLnN1YnN0cmluZyh0eXBlU3VibW9kdWxlUHl0aG9uTmFtZS5sZW5ndGggKyAxKVxuICAgICAgLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgYWxpYXNTdWZmaXggPSBjcmVhdGVIYXNoKCdzaGEyNTYnKVxuICAgICAgLnVwZGF0ZSh0eXBlU3VibW9kdWxlUHl0aG9uTmFtZSlcbiAgICAgIC51cGRhdGUoJy4nKVxuICAgICAgLnVwZGF0ZSh0b0ltcG9ydClcbiAgICAgIC5kaWdlc3QoJ2hleCcpXG4gICAgICAuc3Vic3RyaW5nKDAsIDgpO1xuICAgIGNvbnN0IGFsaWFzID0gYF8ke3RvSW1wb3J0fV8ke2FsaWFzU3VmZml4fWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHl0aG9uVHlwZTogW2FsaWFzLCAuLi5uZXN0ZWRdLmpvaW4oJy4nKSxcbiAgICAgIHJlcXVpcmVkSW1wb3J0OiB7XG4gICAgICAgIHNvdXJjZVBhY2thZ2U6IHJlbGF0aXZlSW1wb3J0UGF0aChcbiAgICAgICAgICBzdWJtb2R1bGVQeXRob25OYW1lLFxuICAgICAgICAgIHR5cGVTdWJtb2R1bGVQeXRob25OYW1lLFxuICAgICAgICApLFxuICAgICAgICBpdGVtOiBgJHt0b0ltcG9ydH0gYXMgJHthbGlhc31gLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1B5dGhvbkZxbihmcW46IHN0cmluZywgcm9vdEFzc206IEFzc2VtYmx5KSB7XG4gIGNvbnN0IHsgYXNzZW1ibHlOYW1lLCBwYWNrYWdlTmFtZSwgdGFpbCB9ID0gZ2V0UGFja2FnZU5hbWUoZnFuLCByb290QXNzbSk7XG4gIGNvbnN0IGZxblBhcnRzOiBzdHJpbmdbXSA9IFtwYWNrYWdlTmFtZV07XG5cbiAgZm9yIChjb25zdCBwYXJ0IG9mIHRhaWwpIHtcbiAgICBmcW5QYXJ0cy5wdXNoKHRvUHl0aG9uSWRlbnRpZmllcihwYXJ0KSk7XG4gIH1cblxuICByZXR1cm4geyBhc3NlbWJseU5hbWUsIHBhY2thZ2VOYW1lLCBweXRob25GcW46IGZxblBhcnRzLmpvaW4oJy4nKSB9O1xufVxuXG4vKipcbiAqIENvbXB1dGVzIHRoZSBweXRob24gcmVsYXRpdmUgaW1wb3J0IHBhdGggZnJvbSBgZnJvbU1vZHVsZWAgdG8gYHRvTW9kdWxlYC5cbiAqXG4gKiBAcGFyYW0gZnJvbVBrZyB0aGUgcGFja2FnZSB3aGVyZSB0aGUgcmVsYXRpdmUgaW1wb3J0IHN0YXRlbWVudCBpcyBsb2NhdGVkLlxuICogQHBhcmFtIHRvUGtnICAgdGhlIHBhY2thZ2UgdGhhdCBuZWVkcyB0byBiZSByZWxhdGl2ZWx5IGltcG9ydGVkLlxuICpcbiAqIEByZXR1cm5zIGEgcmVsYXRpdmUgaW1wb3J0IHBhdGguXG4gKlxuICogQGV4YW1wbGVcbiAqICByZWxhdGl2ZUltcG9ydFBhdGgoJ0EuQi5DLkQnLCAnQS5CLkUnKSA9PT0gJy4uLkUnO1xuICogIHJlbGF0aXZlSW1wb3J0UGF0aCgnQS5CLkMnLCAnQS5CJykgICAgID09PSAnLi4nO1xuICogIHJlbGF0aXZlSW1wb3J0UGF0aCgnQS5CJywgJ0EuQi5DJykgICAgID09PSAnLkMnO1xuICovXG5mdW5jdGlvbiByZWxhdGl2ZUltcG9ydFBhdGgoZnJvbVBrZzogc3RyaW5nLCB0b1BrZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHRvUGtnLnN0YXJ0c1dpdGgoZnJvbVBrZykpIHtcbiAgICAvLyBmcm9tIEEuQiB0byBBLkIuQyA9PT0gLkNcbiAgICByZXR1cm4gYC4ke3RvUGtnLnN1YnN0cmluZyhmcm9tUGtnLmxlbmd0aCArIDEpfWA7XG4gIH1cbiAgLy8gZnJvbSBBLkIuRSB0byBBLkIuQyA9PT0gLjxmcm9tIEEuQiB0byBBLkIuQz5cbiAgY29uc3QgZnJvbVBrZ1BhcmVudCA9IGZyb21Qa2cuc3Vic3RyaW5nKDAsIGZyb21Qa2cubGFzdEluZGV4T2YoJy4nKSk7XG4gIHJldHVybiBgLiR7cmVsYXRpdmVJbXBvcnRQYXRoKGZyb21Qa2dQYXJlbnQsIHRvUGtnKX1gO1xufVxuXG5mdW5jdGlvbiBnZXRQYWNrYWdlTmFtZShmcW46IHN0cmluZywgcm9vdEFzc206IEFzc2VtYmx5KSB7XG4gIGNvbnN0IHNlZ21lbnRzID0gZnFuLnNwbGl0KCcuJyk7XG4gIGNvbnN0IGFzc2VtYmx5TmFtZSA9IHNlZ21lbnRzWzBdO1xuICBjb25zdCBjb25maWcgPVxuICAgIGFzc2VtYmx5TmFtZSA9PT0gcm9vdEFzc20ubmFtZVxuICAgICAgPyByb290QXNzbVxuICAgICAgOiByb290QXNzbS5kZXBlbmRlbmN5Q2xvc3VyZT8uW2Fzc2VtYmx5TmFtZV0gPz9cbiAgICAgICAgZGllKFxuICAgICAgICAgIGBVbmFibGUgdG8gZmluZCBjb25maWd1cmF0aW9uIGZvciBhc3NlbWJseSBcIiR7YXNzZW1ibHlOYW1lfVwiIGluIGRlcGVuZGVuY3kgY2xvc3VyZWAsXG4gICAgICAgICk7XG4gIGNvbnN0IHJvb3RQa2cgPVxuICAgIGNvbmZpZy50YXJnZXRzPy5weXRob24/Lm1vZHVsZSA/P1xuICAgIGRpZShgTm8gUHl0aG9uIHRhcmdldCB3YXMgY29uZmlndXJlZCBpbiBhc3NlbWJseSBcIiR7YXNzZW1ibHlOYW1lfVwiYCk7XG5cbiAgY29uc3QgcGtnID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgY29uc3QgdGFpbCA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG5cbiAgZm9yIChsZXQgbGVuID0gc2VnbWVudHMubGVuZ3RoOyBsZW4gPiAwOyBsZW4tLSkge1xuICAgIGNvbnN0IHN1Ym1vZHVsZSA9IHNlZ21lbnRzLnNsaWNlKDAsIGxlbikuam9pbignLicpO1xuICAgIGlmIChzdWJtb2R1bGUgPT09IGFzc2VtYmx5TmFtZSkge1xuICAgICAgcGtnLnVuc2hpZnQocm9vdFBrZyk7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjb25zdCBzdWJtb2R1bGVDb25maWcgPSBjb25maWcuc3VibW9kdWxlcz8uW3N1Ym1vZHVsZV07XG4gICAgaWYgKHN1Ym1vZHVsZUNvbmZpZyA9PSBudWxsKSB7XG4gICAgICAvLyBOb3QgaW4gYSBzdWJtb2R1bGUgLSBzbyB0aGUgY3VycmVudCBsZWFkIG5hbWUgaXMgbm90IGEgcGFja2FnZSBuYW1lIHBhcnQuXG4gICAgICB0YWlsLnVuc2hpZnQoc2VnbWVudHNbbGVuIC0gMV0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc3ViUGFja2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIHN1Ym1vZHVsZUNvbmZpZy50YXJnZXRzPy5weXRob24/Lm1vZHVsZTtcbiAgICBpZiAoc3ViUGFja2FnZSAhPSBudWxsKSB7XG4gICAgICAvLyBGb3VuZCBhIHN1Yi1wYWNrYWdlLiBDb25maXJtIGl0J3MgbmVzdGVkIHJpZ2h0IGluLCBhbmQgbWFrZSB0aGlzIHRoZSBoZWFkIGVuZCBvZiBvdXIgcGFja2FnZSBuYW1lLlxuICAgICAgaWYgKCFzdWJQYWNrYWdlLnN0YXJ0c1dpdGgoYCR7cm9vdFBrZ30uYCkpIHtcbiAgICAgICAgZGllKFxuICAgICAgICAgIGBTdWJtb2R1bGUgXCIke3N1Ym1vZHVsZX1cIiBpcyBtYXBwZWQgdG8gUHl0aG9uIHN1Yi1wYWNrYWdlIFwiJHtzdWJQYWNrYWdlfVwiIHdoaWNoIGlzbid0IG5lc3RlZCB1bmRlciBcIiR7cm9vdFBrZ31cIiFgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcGtnLnVuc2hpZnQoc3ViUGFja2FnZSk7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBKdXN0IHVzZSB3aGF0ZXZlciB0aGUgZGVmYXVsdCBuYW1lIGlzIGZvciB0aGlzIHBhY2thZ2UgbmFtZSBwYXJ0LlxuICAgIHBrZy51bnNoaWZ0KHRvU25ha2VDYXNlKHRvUHl0aG9uSWRlbnRpZmllcihzZWdtZW50c1tsZW4gLSAxXSkpKTtcbiAgfVxuXG4gIHJldHVybiB7IGFzc2VtYmx5TmFtZSwgcGFja2FnZU5hbWU6IHBrZy5qb2luKCcuJyksIHRhaWwgfTtcbn1cblxuZnVuY3Rpb24gZmluZFBhcmVudFN1Ym1vZHVsZSh0eXBlOiBUeXBlLCBhc3NtOiBBc3NlbWJseSk6IHN0cmluZyB7XG4gIGlmICh0eXBlLm5hbWVzcGFjZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGFzc20ubmFtZTtcbiAgfVxuICBjb25zdCBuYW1lc3BhY2VGcW4gPSBgJHthc3NtLm5hbWV9LiR7dHlwZS5uYW1lc3BhY2V9YDtcbiAgaWYgKGFzc20udHlwZXM/LltuYW1lc3BhY2VGcW5dICE9IG51bGwpIHtcbiAgICByZXR1cm4gZmluZFBhcmVudFN1Ym1vZHVsZShhc3NtLnR5cGVzPy5bbmFtZXNwYWNlRnFuXSwgYXNzbSk7XG4gIH1cbiAgcmV0dXJuIG5hbWVzcGFjZUZxbjtcbn1cbiJdfQ==
|
|
334
|
+
//# sourceMappingURL=type-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-name.js","sourceRoot":"","sources":["type-name.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":"AAsCA,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAE1C;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKvD"}
|
|
@@ -49,4 +49,4 @@ function toPythonIdentifier(name) {
|
|
|
49
49
|
return name;
|
|
50
50
|
}
|
|
51
51
|
exports.toPythonIdentifier = toPythonIdentifier;
|
|
52
|
-
//# sourceMappingURL=
|
|
52
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":";;;AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,IAAI;IACJ,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,KAAK;IACL,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,UAAU;IACV,KAAK;IACL,IAAI;IACJ,MAAM;IACN,OAAO;IACP,QAAQ;IACR,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;CACR,CAAC,CAAC;AAEH,SAAgB,GAAG,CAAC,OAAe;IACjC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAFD,kBAEC;AAED,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC7B,OAAO,GAAG,IAAI,GAAG,CAAC;KACnB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AALD,gDAKC"}
|
package/lib/targets/python.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python.d.ts","sourceRoot":"","sources":["python.ts"],"names":[],"mappings":"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"}
|