@d-fischer/documen.ts 0.16.9 → 0.17.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/index.html +36 -35
- package/lib/common/CustomError.js +1 -4
- package/lib/common/CustomError.js.map +1 -1
- package/lib/common/Paths.js +1 -2
- package/lib/common/components/Badge.js +7 -10
- package/lib/common/components/Badge.js.map +1 -1
- package/lib/common/components/BetaNotice.js +5 -10
- package/lib/common/components/BetaNotice.js.map +1 -1
- package/lib/common/components/Button.js +8 -12
- package/lib/common/components/Button.js.map +1 -1
- package/lib/common/components/CodeBlock.js +45 -61
- package/lib/common/components/CodeBlock.js.map +1 -1
- package/lib/common/components/CodeLink.js +12 -15
- package/lib/common/components/CodeLink.js.map +1 -1
- package/lib/common/components/DeprecationNotice.js +5 -10
- package/lib/common/components/DeprecationNotice.js.map +1 -1
- package/lib/common/components/FunctionParamDesc.js +7 -19
- package/lib/common/components/FunctionParamDesc.js.map +1 -1
- package/lib/common/components/FunctionParamDescEntry.js +26 -38
- package/lib/common/components/FunctionParamDescEntry.js.map +1 -1
- package/lib/common/components/FunctionReturnType.js +8 -17
- package/lib/common/components/FunctionReturnType.js.map +1 -1
- package/lib/common/components/FunctionSignature.js +7 -22
- package/lib/common/components/FunctionSignature.js.map +1 -1
- package/lib/common/components/InterfaceDetail.js +11 -18
- package/lib/common/components/InterfaceDetail.js.map +1 -1
- package/lib/common/components/InterfaceRepresentation.js +21 -40
- package/lib/common/components/InterfaceRepresentation.js.map +1 -1
- package/lib/common/components/MainMenu.js +20 -36
- package/lib/common/components/MainMenu.js.map +1 -1
- package/lib/common/components/NavMenu.js +6 -9
- package/lib/common/components/NavMenu.js.map +1 -1
- package/lib/common/components/NavMenuGroup.js +5 -10
- package/lib/common/components/NavMenuGroup.js.map +1 -1
- package/lib/common/components/NavMenuItem.js +8 -11
- package/lib/common/components/NavMenuItem.js.map +1 -1
- package/lib/common/components/PageArticle.js +7 -10
- package/lib/common/components/PageArticle.js.map +1 -1
- package/lib/common/components/SymbolHeader.js +6 -20
- package/lib/common/components/SymbolHeader.js.map +1 -1
- package/lib/common/components/TypeAliasHint.js +7 -22
- package/lib/common/components/TypeAliasHint.js.map +1 -1
- package/lib/common/components/TypeLink.js +12 -16
- package/lib/common/components/TypeLink.js.map +1 -1
- package/lib/common/components/VersionMenu.js +21 -28
- package/lib/common/components/VersionMenu.js.map +1 -1
- package/lib/common/components/cards/CardToolbar.js +11 -17
- package/lib/common/components/cards/CardToolbar.js.map +1 -1
- package/lib/common/components/cards/EventCard.js +21 -46
- package/lib/common/components/cards/EventCard.js.map +1 -1
- package/lib/common/components/cards/FunctionCardHeader.js +13 -25
- package/lib/common/components/cards/FunctionCardHeader.js.map +1 -1
- package/lib/common/components/cards/MethodCard.js +13 -23
- package/lib/common/components/cards/MethodCard.js.map +1 -1
- package/lib/common/components/cards/PropertyCard.js +15 -31
- package/lib/common/components/cards/PropertyCard.js.map +1 -1
- package/lib/common/components/codeBuilders/ReferenceTypeView.js +12 -25
- package/lib/common/components/codeBuilders/ReferenceTypeView.js.map +1 -1
- package/lib/common/components/codeBuilders/Type.js +30 -75
- package/lib/common/components/codeBuilders/Type.js.map +1 -1
- package/lib/common/components/overviewTable/OverviewTable.js +6 -21
- package/lib/common/components/overviewTable/OverviewTable.js.map +1 -1
- package/lib/common/components/overviewTable/OverviewTableEntry.js +13 -22
- package/lib/common/components/overviewTable/OverviewTableEntry.js.map +1 -1
- package/lib/common/config/Config.js +1 -2
- package/lib/common/config/Util.js +4 -8
- package/lib/common/config/Util.js.map +1 -1
- package/lib/common/config/index.js +5 -9
- package/lib/common/config/index.js.map +1 -1
- package/lib/common/containers/App.js +10 -18
- package/lib/common/containers/App.js.map +1 -1
- package/lib/common/containers/AppLayout.js +5 -10
- package/lib/common/containers/AppLayout.js.map +1 -1
- package/lib/common/containers/Card.js +6 -9
- package/lib/common/containers/Card.js.map +1 -1
- package/lib/common/containers/PageContent.js +5 -8
- package/lib/common/containers/PageContent.js.map +1 -1
- package/lib/common/containers/PageHeader.js +5 -8
- package/lib/common/containers/PageHeader.js.map +1 -1
- package/lib/common/containers/PageSwitch.js +10 -19
- package/lib/common/containers/PageSwitch.js.map +1 -1
- package/lib/common/containers/ReferencePackageContainer.js +37 -54
- package/lib/common/containers/ReferencePackageContainer.js.map +1 -1
- package/lib/common/htmlRenderer/HtmlRenderer.js +23 -37
- package/lib/common/htmlRenderer/HtmlRenderer.js.map +1 -1
- package/lib/common/htmlRenderer/RouterMode.js +1 -2
- package/lib/common/htmlRenderer/StaticRouterWithSuffix.js +20 -24
- package/lib/common/htmlRenderer/StaticRouterWithSuffix.js.map +1 -1
- package/lib/common/pages/ClassPage.js +39 -67
- package/lib/common/pages/ClassPage.js.map +1 -1
- package/lib/common/pages/DocPage.js +27 -39
- package/lib/common/pages/DocPage.js.map +1 -1
- package/lib/common/pages/EnumPage.js +20 -40
- package/lib/common/pages/EnumPage.js.map +1 -1
- package/lib/common/pages/FunctionPage.js +20 -39
- package/lib/common/pages/FunctionPage.js.map +1 -1
- package/lib/common/pages/InterfacePage.js +20 -32
- package/lib/common/pages/InterfacePage.js.map +1 -1
- package/lib/common/pages/TypeAliasPage.js +19 -34
- package/lib/common/pages/TypeAliasPage.js.map +1 -1
- package/lib/common/reference/index.js +1 -3
- package/lib/common/reference/index.js.map +1 -1
- package/lib/common/theme.js +1 -3
- package/lib/common/theme.js.map +1 -1
- package/lib/common/tools/ArrayTools.js +7 -18
- package/lib/common/tools/ArrayTools.js.map +1 -1
- package/lib/common/tools/CodeTools.js +12 -23
- package/lib/common/tools/CodeTools.js.map +1 -1
- package/lib/common/tools/ConfigTools.js +15 -20
- package/lib/common/tools/ConfigTools.js.map +1 -1
- package/lib/common/tools/FileTools.js +9 -16
- package/lib/common/tools/FileTools.js.map +1 -1
- package/lib/common/tools/FunctionTools.js +3 -7
- package/lib/common/tools/FunctionTools.js.map +1 -1
- package/lib/common/tools/NodeTools.js +22 -33
- package/lib/common/tools/NodeTools.js.map +1 -1
- package/lib/common/tools/Point.js +1 -2
- package/lib/common/tools/ReferenceTools.js +30 -43
- package/lib/common/tools/ReferenceTools.js.map +1 -1
- package/lib/common/tools/StringTools.js +3 -9
- package/lib/common/tools/StringTools.js.map +1 -1
- package/lib/common/tools/TypeTools.js +1 -2
- package/lib/common/tools/markdown/MarkdownParser.js +21 -28
- package/lib/common/tools/markdown/MarkdownParser.js.map +1 -1
- package/lib/common/tools/markdown/plugins/customDirectives.js +15 -17
- package/lib/common/tools/markdown/plugins/customDirectives.js.map +1 -1
- package/lib/common/tools/markdown/plugins/gfmTables.js +7 -12
- package/lib/common/tools/markdown/plugins/gfmTables.js.map +1 -1
- package/lib/common/tools/markdown/plugins/symbolLinks.js +9 -13
- package/lib/common/tools/markdown/plugins/symbolLinks.js.map +1 -1
- package/lib/generator/analyzer/AnalyzeContext.js +5 -6
- package/lib/generator/analyzer/AnalyzeContext.js.map +1 -1
- package/lib/generator/analyzer/DocComment.js +17 -23
- package/lib/generator/analyzer/DocComment.js.map +1 -1
- package/lib/generator/analyzer/DocCommentTag.js +4 -5
- package/lib/generator/analyzer/DocCommentTag.js.map +1 -1
- package/lib/generator/analyzer/Project.js +71 -84
- package/lib/generator/analyzer/Project.js.map +1 -1
- package/lib/generator/analyzer/createReflection.js +87 -101
- package/lib/generator/analyzer/createReflection.js.map +1 -1
- package/lib/generator/analyzer/createType.js +51 -62
- package/lib/generator/analyzer/createType.js.map +1 -1
- package/lib/generator/analyzer/reflections/AccessorReflection.js +36 -39
- package/lib/generator/analyzer/reflections/AccessorReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/ClassReflection.js +58 -51
- package/lib/generator/analyzer/reflections/ClassReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/ConstructorReflection.js +28 -36
- package/lib/generator/analyzer/reflections/ConstructorReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/EnumMemberReflection.js +15 -18
- package/lib/generator/analyzer/reflections/EnumMemberReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/EnumReflection.js +21 -23
- package/lib/generator/analyzer/reflections/EnumReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/FunctionReflection.js +14 -16
- package/lib/generator/analyzer/reflections/FunctionReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/Heritage.js +6 -11
- package/lib/generator/analyzer/reflections/Heritage.js.map +1 -1
- package/lib/generator/analyzer/reflections/InterfaceReflection.js +41 -41
- package/lib/generator/analyzer/reflections/InterfaceReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/MethodReflection.js +40 -45
- package/lib/generator/analyzer/reflections/MethodReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/ParameterReflection.js +68 -69
- package/lib/generator/analyzer/reflections/ParameterReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/PropertyReflection.js +43 -40
- package/lib/generator/analyzer/reflections/PropertyReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/ReferenceReflection.js +8 -7
- package/lib/generator/analyzer/reflections/ReferenceReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/Reflection.js +35 -38
- package/lib/generator/analyzer/reflections/Reflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/SignatureReflection.js +42 -46
- package/lib/generator/analyzer/reflections/SignatureReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/SymbolBasedReflection.js +6 -13
- package/lib/generator/analyzer/reflections/SymbolBasedReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/TypeAliasReflection.js +24 -26
- package/lib/generator/analyzer/reflections/TypeAliasReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/TypeLiteralReflection.js +22 -21
- package/lib/generator/analyzer/reflections/TypeLiteralReflection.js.map +1 -1
- package/lib/generator/analyzer/reflections/TypeParameterReflection.js +38 -39
- package/lib/generator/analyzer/reflections/TypeParameterReflection.js.map +1 -1
- package/lib/generator/analyzer/types/ArrayType.js +15 -23
- package/lib/generator/analyzer/types/ArrayType.js.map +1 -1
- package/lib/generator/analyzer/types/FunctionType.js +31 -38
- package/lib/generator/analyzer/types/FunctionType.js.map +1 -1
- package/lib/generator/analyzer/types/IntersectionType.js +12 -20
- package/lib/generator/analyzer/types/IntersectionType.js.map +1 -1
- package/lib/generator/analyzer/types/IntrinsicType.js +33 -41
- package/lib/generator/analyzer/types/IntrinsicType.js.map +1 -1
- package/lib/generator/analyzer/types/LiteralType.js +60 -68
- package/lib/generator/analyzer/types/LiteralType.js.map +1 -1
- package/lib/generator/analyzer/types/NamedTupleElementType.js +11 -15
- package/lib/generator/analyzer/types/NamedTupleElementType.js.map +1 -1
- package/lib/generator/analyzer/types/ObjectLiteralType.js +21 -30
- package/lib/generator/analyzer/types/ObjectLiteralType.js.map +1 -1
- package/lib/generator/analyzer/types/OptionalType.js +11 -17
- package/lib/generator/analyzer/types/OptionalType.js.map +1 -1
- package/lib/generator/analyzer/types/ReferenceType.js +118 -133
- package/lib/generator/analyzer/types/ReferenceType.js.map +1 -1
- package/lib/generator/analyzer/types/ReflectionType.js +4 -7
- package/lib/generator/analyzer/types/ReflectionType.js.map +1 -1
- package/lib/generator/analyzer/types/TupleType.js +27 -31
- package/lib/generator/analyzer/types/TupleType.js.map +1 -1
- package/lib/generator/analyzer/types/Type.js +1 -5
- package/lib/generator/analyzer/types/Type.js.map +1 -1
- package/lib/generator/analyzer/types/TypeOperatorType.js +38 -40
- package/lib/generator/analyzer/types/TypeOperatorType.js.map +1 -1
- package/lib/generator/analyzer/types/UnionType.js +22 -30
- package/lib/generator/analyzer/types/UnionType.js.map +1 -1
- package/lib/generator/analyzer/types/UnknownType.js +5 -6
- package/lib/generator/analyzer/types/UnknownType.js.map +1 -1
- package/lib/generator/analyzer/util/expressions.js +8 -13
- package/lib/generator/analyzer/util/expressions.js.map +1 -1
- package/lib/generator/analyzer/util/functions.js +15 -19
- package/lib/generator/analyzer/util/functions.js.map +1 -1
- package/lib/generator/analyzer/util/inheritance.js +26 -32
- package/lib/generator/analyzer/util/inheritance.js.map +1 -1
- package/lib/generator/analyzer/util/promises.js +2 -9
- package/lib/generator/analyzer/util/promises.js.map +1 -1
- package/lib/generator/analyzer/util/sourceMaps.js +12 -20
- package/lib/generator/analyzer/util/sourceMaps.js.map +1 -1
- package/lib/generator/analyzer/util/symbols.js +3 -9
- package/lib/generator/analyzer/util/symbols.js.map +1 -1
- package/lib/generator/analyzer/util/types.js +6 -10
- package/lib/generator/analyzer/util/types.js.map +1 -1
- package/lib/generator/cli.js +5 -8
- package/lib/generator/cli.js.map +1 -1
- package/lib/generator/commands/default.js +260 -259
- package/lib/generator/commands/default.js.map +1 -1
- package/lib/generator/index.js +1 -1
- package/lib/generator/modes/Generator.js +20 -31
- package/lib/generator/modes/Generator.js.map +1 -1
- package/lib/generator/modes/HtmlGenerator.js +214 -228
- package/lib/generator/modes/HtmlGenerator.js.map +1 -1
- package/lib/generator/modes/MonorepoGenerator.js +143 -159
- package/lib/generator/modes/MonorepoGenerator.js.map +1 -1
- package/lib/generator/modes/OutputGenerator.js +2 -7
- package/lib/generator/modes/OutputGenerator.js.map +1 -1
- package/lib/progressiveEnhancement/fsMap.js +2 -5
- package/lib/progressiveEnhancement/fsMap.js.map +1 -1
- package/package.json +16 -16
- package/src/common/components/CodeBlock.tsx +2 -2
- package/src/common/components/CodeLink.tsx +2 -2
- package/src/common/components/DeprecationNotice.tsx +2 -2
- package/src/common/components/FunctionParamDesc.tsx +3 -3
- package/src/common/components/FunctionParamDescEntry.tsx +6 -6
- package/src/common/components/FunctionReturnType.tsx +3 -3
- package/src/common/components/FunctionSignature.tsx +2 -2
- package/src/common/components/InterfaceDetail.tsx +15 -7
- package/src/common/components/InterfaceRepresentation.tsx +9 -9
- package/src/common/components/MainMenu.tsx +4 -4
- package/src/common/components/NavMenuItem.tsx +1 -1
- package/src/common/components/PageArticle.tsx +2 -2
- package/src/common/components/SymbolHeader.tsx +7 -9
- package/src/common/components/TypeAliasHint.tsx +3 -5
- package/src/common/components/TypeLink.tsx +6 -7
- package/src/common/components/VersionMenu.tsx +3 -3
- package/src/common/components/cards/CardToolbar.tsx +10 -6
- package/src/common/components/cards/EventCard.tsx +19 -23
- package/src/common/components/cards/FunctionCardHeader.tsx +8 -8
- package/src/common/components/cards/MethodCard.tsx +8 -8
- package/src/common/components/cards/PropertyCard.tsx +11 -11
- package/src/common/components/codeBuilders/ReferenceTypeView.tsx +4 -4
- package/src/common/components/codeBuilders/Type.tsx +4 -4
- package/src/common/components/overviewTable/OverviewTable.tsx +2 -2
- package/src/common/components/overviewTable/OverviewTableEntry.tsx +7 -7
- package/src/common/config/Config.ts +1 -1
- package/src/common/config/Util.ts +11 -3
- package/src/common/config/index.tsx +2 -2
- package/src/common/containers/App.tsx +12 -9
- package/src/common/containers/AppLayout.tsx +2 -2
- package/src/common/containers/PageHeader.tsx +2 -2
- package/src/common/containers/PageSwitch.tsx +7 -7
- package/src/common/containers/ReferencePackageContainer.tsx +13 -13
- package/src/common/htmlRenderer/HtmlRenderer.tsx +8 -9
- package/src/common/htmlRenderer/StaticRouterWithSuffix.tsx +18 -21
- package/src/common/pages/ClassPage.tsx +17 -17
- package/src/common/pages/DocPage.tsx +10 -10
- package/src/common/pages/EnumPage.tsx +14 -14
- package/src/common/pages/FunctionPage.tsx +15 -15
- package/src/common/pages/InterfacePage.tsx +13 -13
- package/src/common/pages/TypeAliasPage.tsx +12 -12
- package/src/common/reference/index.ts +0 -1
- package/src/common/tools/ArrayTools.ts +27 -11
- package/src/common/tools/CodeTools.tsx +1 -1
- package/src/common/tools/ConfigTools.ts +1 -1
- package/src/common/tools/FunctionTools.ts +2 -3
- package/src/common/tools/NodeTools.ts +3 -2
- package/src/common/tools/ReferenceTools.ts +10 -11
- package/src/common/tools/StringTools.ts +1 -1
- package/src/common/tools/markdown/MarkdownParser.tsx +13 -15
- package/src/common/tools/markdown/plugins/customDirectives.ts +1 -1
- package/src/common/tools/markdown/plugins/symbolLinks.ts +3 -3
- package/src/dev/index.tsx +9 -9
- package/src/dev/registerServiceWorker.ts +8 -16
- package/src/progressiveEnhancement/fsMap.ts +0 -1
- package/src/progressiveEnhancement/index.tsx +9 -11
- package/tsconfig-dev.json +1 -6
- package/tsconfig-enhance.json +1 -5
- package/tsconfig-html.json +1 -5
- package/tsconfig.json +7 -21
- package/types/globals.d.ts +0 -1
- package/types/react-router-hash-link.d.ts +0 -8
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const UnknownType_1 = require("./UnknownType");
|
|
13
|
-
class TypeOperatorType extends Type_1.Type {
|
|
1
|
+
import assert from 'assert';
|
|
2
|
+
import ts from 'typescript';
|
|
3
|
+
import { createTypeFromNode, createTypeFromTsType } from '../createType.js';
|
|
4
|
+
import { resolvePromiseArray } from '../util/promises.js';
|
|
5
|
+
import { ArrayType } from './ArrayType.js';
|
|
6
|
+
import { TupleType } from './TupleType.js';
|
|
7
|
+
import { Type } from './Type.js';
|
|
8
|
+
import { UnknownType } from './UnknownType.js';
|
|
9
|
+
export class TypeOperatorType extends Type {
|
|
10
|
+
_operator;
|
|
11
|
+
_type;
|
|
14
12
|
constructor(_operator, _type) {
|
|
15
13
|
super();
|
|
16
14
|
this._operator = _operator;
|
|
@@ -24,40 +22,40 @@ class TypeOperatorType extends Type_1.Type {
|
|
|
24
22
|
};
|
|
25
23
|
}
|
|
26
24
|
}
|
|
27
|
-
exports.TypeOperatorType = TypeOperatorType;
|
|
28
25
|
const operators = {
|
|
29
|
-
[
|
|
30
|
-
[
|
|
31
|
-
[
|
|
26
|
+
[ts.SyntaxKind.KeyOfKeyword]: 'keyof',
|
|
27
|
+
[ts.SyntaxKind.UniqueKeyword]: 'unique',
|
|
28
|
+
[ts.SyntaxKind.ReadonlyKeyword]: 'readonly'
|
|
32
29
|
};
|
|
33
30
|
function isObjectType(type) {
|
|
34
31
|
return typeof type.objectFlags === 'number';
|
|
35
32
|
}
|
|
36
|
-
|
|
37
|
-
kinds: [
|
|
38
|
-
fromNode(ctx, node) {
|
|
39
|
-
return
|
|
40
|
-
return new TypeOperatorType(operators[node.operator], yield (0, createType_1.createTypeFromNode)(ctx, node.type));
|
|
41
|
-
});
|
|
33
|
+
export const typeOperatorTypeReflector = {
|
|
34
|
+
kinds: [ts.SyntaxKind.TypeOperator],
|
|
35
|
+
async fromNode(ctx, node) {
|
|
36
|
+
return new TypeOperatorType(operators[node.operator], await createTypeFromNode(ctx, node.type));
|
|
42
37
|
},
|
|
43
|
-
fromType(ctx, type, node) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
38
|
+
async fromType(ctx, type, node) {
|
|
39
|
+
if (node.operator === ts.SyntaxKind.ReadonlyKeyword) {
|
|
40
|
+
assert(isObjectType(type));
|
|
41
|
+
const typeArguments = await resolvePromiseArray(ctx.checker
|
|
42
|
+
.getTypeArguments(type)
|
|
43
|
+
.map(async (typeArg) => await createTypeFromTsType(ctx, typeArg)));
|
|
44
|
+
const inner =
|
|
45
|
+
// eslint-disable-next-line no-bitwise
|
|
46
|
+
type.objectFlags & ts.ObjectFlags.Tuple
|
|
47
|
+
? new TupleType(typeArguments)
|
|
48
|
+
: new ArrayType(typeArguments[0]);
|
|
49
|
+
return new TypeOperatorType('readonly', inner);
|
|
50
|
+
}
|
|
51
|
+
if (node.operator === ts.SyntaxKind.KeyOfKeyword) {
|
|
52
|
+
if (type.isUnion() && type.origin) {
|
|
53
|
+
return await createTypeFromTsType(ctx, type.origin);
|
|
51
54
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const targetType = type.type;
|
|
57
|
-
return new TypeOperatorType('keyof', yield (0, createType_1.createTypeFromTsType)(ctx, targetType));
|
|
58
|
-
}
|
|
59
|
-
return new UnknownType_1.UnknownType(node.getText(), 'TypeOperator');
|
|
60
|
-
});
|
|
55
|
+
const targetType = type.type;
|
|
56
|
+
return new TypeOperatorType('keyof', await createTypeFromTsType(ctx, targetType));
|
|
57
|
+
}
|
|
58
|
+
return new UnknownType(node.getText(), 'TypeOperator');
|
|
61
59
|
}
|
|
62
60
|
};
|
|
63
61
|
//# sourceMappingURL=TypeOperatorType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeOperatorType.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/types/TypeOperatorType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TypeOperatorType.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/types/TypeOperatorType.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const LiteralType_1 = require("./LiteralType");
|
|
10
|
-
const Type_1 = require("./Type");
|
|
11
|
-
class UnionType extends Type_1.Type {
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
import { createTypeFromNode, createTypeFromTsType } from '../createType.js';
|
|
3
|
+
import { resolvePromiseArray } from '../util/promises.js';
|
|
4
|
+
import { IntrinsicType } from './IntrinsicType.js';
|
|
5
|
+
import { LiteralType } from './LiteralType.js';
|
|
6
|
+
import { Type } from './Type.js';
|
|
7
|
+
export class UnionType extends Type {
|
|
8
|
+
_elements;
|
|
12
9
|
constructor(_elements) {
|
|
13
10
|
super();
|
|
14
11
|
this._elements = _elements;
|
|
15
12
|
this._elements.sort((a, b) => {
|
|
16
13
|
let orderA = 1;
|
|
17
|
-
if (a instanceof
|
|
14
|
+
if (a instanceof LiteralType) {
|
|
18
15
|
if (a.value === null) {
|
|
19
16
|
orderA = 2;
|
|
20
17
|
}
|
|
21
18
|
}
|
|
22
|
-
else if (a instanceof
|
|
19
|
+
else if (a instanceof IntrinsicType) {
|
|
23
20
|
if (a.name === 'undefined') {
|
|
24
21
|
orderA = 3;
|
|
25
22
|
}
|
|
26
23
|
}
|
|
27
24
|
let orderB = 1;
|
|
28
|
-
if (b instanceof
|
|
25
|
+
if (b instanceof LiteralType) {
|
|
29
26
|
if (b.value === null) {
|
|
30
27
|
orderB = 2;
|
|
31
28
|
}
|
|
32
29
|
}
|
|
33
|
-
else if (b instanceof
|
|
30
|
+
else if (b instanceof IntrinsicType) {
|
|
34
31
|
if (b.name === 'undefined') {
|
|
35
32
|
orderB = 3;
|
|
36
33
|
}
|
|
@@ -48,21 +45,16 @@ class UnionType extends Type_1.Type {
|
|
|
48
45
|
};
|
|
49
46
|
}
|
|
50
47
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
return new UnionType(yield (0, promises_1.resolvePromiseArray)(node.types.map((subTypeNode) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield (0, createType_1.createTypeFromNode)(ctx, subTypeNode); }))));
|
|
57
|
-
});
|
|
58
|
-
},
|
|
59
|
-
fromType(ctx, type) {
|
|
60
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
if (type.origin) {
|
|
62
|
-
return yield (0, createType_1.createTypeFromTsType)(ctx, type.origin);
|
|
63
|
-
}
|
|
64
|
-
return new UnionType(yield (0, promises_1.resolvePromiseArray)(type.types.map((subType) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield (0, createType_1.createTypeFromTsType)(ctx, subType); }))));
|
|
65
|
-
});
|
|
48
|
+
export const unionTypeReflector = {
|
|
49
|
+
kinds: [ts.SyntaxKind.UnionType],
|
|
50
|
+
async fromNode(ctx, node) {
|
|
51
|
+
return new UnionType(await resolvePromiseArray(node.types.map(async (subTypeNode) => await createTypeFromNode(ctx, subTypeNode))));
|
|
66
52
|
},
|
|
53
|
+
async fromType(ctx, type) {
|
|
54
|
+
if (type.origin) {
|
|
55
|
+
return await createTypeFromTsType(ctx, type.origin);
|
|
56
|
+
}
|
|
57
|
+
return new UnionType(await resolvePromiseArray(type.types.map(async (subType) => await createTypeFromTsType(ctx, subType))));
|
|
58
|
+
}
|
|
67
59
|
};
|
|
68
60
|
//# sourceMappingURL=UnionType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnionType.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/types/UnionType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UnionType.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/types/UnionType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAsB,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,OAAO,SAAU,SAAQ,IAAI;IACL;IAA7B,YAA6B,SAAiB;QAC7C,KAAK,EAAE,CAAC;QADoB,cAAS,GAAT,SAAS,CAAQ;QAG7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5B,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,YAAY,WAAW,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBACtB,MAAM,GAAG,CAAC,CAAC;gBACZ,CAAC;YACF,CAAC;iBAAM,IAAI,CAAC,YAAY,aAAa,EAAE,CAAC;gBACvC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC5B,MAAM,GAAG,CAAC,CAAC;gBACZ,CAAC;YACF,CAAC;YAED,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,YAAY,WAAW,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBACtB,MAAM,GAAG,CAAC,CAAC;gBACZ,CAAC;YACF,CAAC;iBAAM,IAAI,CAAC,YAAY,aAAa,EAAE,CAAC;gBACvC,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC5B,MAAM,GAAG,CAAC,CAAC;gBACZ,CAAC;YACF,CAAC;YAED,OAAO,MAAM,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED,SAAS;QACR,OAAO;YACN,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;SAC/C,CAAC;IACH,CAAC;CACD;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAkD;IAChF,KAAK,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;IAChC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI;QACvB,OAAO,IAAI,SAAS,CACnB,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,WAAW,EAAC,EAAE,CAAC,MAAM,kBAAkB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAC1G,CAAC;IACH,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,MAAM,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,SAAS,CACnB,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE,CAAC,MAAM,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CACpG,CAAC;IACH,CAAC;CACD,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { Type } from './Type.js';
|
|
2
|
+
export class UnknownType extends Type {
|
|
3
|
+
_name;
|
|
4
|
+
_debugKind;
|
|
5
|
+
_source;
|
|
6
6
|
constructor(_name, _debugKind, _source = 'direct') {
|
|
7
7
|
super();
|
|
8
8
|
this._name = _name;
|
|
@@ -21,5 +21,4 @@ class UnknownType extends Type_1.Type {
|
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
exports.UnknownType = UnknownType;
|
|
25
24
|
//# sourceMappingURL=UnknownType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnknownType.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/types/UnknownType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UnknownType.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/types/UnknownType.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,OAAO,WAAY,SAAQ,IAAI;IAElB;IACA;IACA;IAHlB,YACkB,KAAa,EACb,UAAkB,EAClB,UAAU,QAAQ;QAEnC,KAAK,EAAE,CAAC;QAJS,UAAK,GAAL,KAAK,CAAQ;QACb,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAW;IAGpC,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,SAAS;QACR,OAAO;YACN,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,SAAS,EAAE,IAAI,CAAC,UAAU;SACE,CAAC;IAC/B,CAAC;CACD"}
|
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.stringifyExpression = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const typescript_1 = tslib_1.__importDefault(require("typescript"));
|
|
6
|
-
function stringifyExpression(expression) {
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
export function stringifyExpression(expression) {
|
|
7
3
|
switch (expression.kind) {
|
|
8
|
-
case
|
|
9
|
-
case
|
|
10
|
-
case
|
|
11
|
-
case
|
|
12
|
-
case
|
|
13
|
-
case
|
|
4
|
+
case ts.SyntaxKind.TrueKeyword:
|
|
5
|
+
case ts.SyntaxKind.FalseKeyword:
|
|
6
|
+
case ts.SyntaxKind.NumericLiteral:
|
|
7
|
+
case ts.SyntaxKind.StringLiteral:
|
|
8
|
+
case ts.SyntaxKind.NullKeyword:
|
|
9
|
+
case ts.SyntaxKind.PrefixUnaryExpression: {
|
|
14
10
|
return expression.getText();
|
|
15
11
|
}
|
|
16
12
|
default:
|
|
17
13
|
return '<complex>';
|
|
18
14
|
}
|
|
19
15
|
}
|
|
20
|
-
exports.stringifyExpression = stringifyExpression;
|
|
21
16
|
//# sourceMappingURL=expressions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/util/expressions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/util/expressions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,UAAU,mBAAmB,CAAC,UAAyB;IAC5D,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QAC/B,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;QAChC,KAAK,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;QAClC,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QACjC,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QAC/B,KAAK,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC1C,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QACD;YACC,OAAO,WAAW,CAAC;IACrB,CAAC;AACF,CAAC"}
|
|
@@ -1,21 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const declarations = (_j = (_h = symbol.getDeclarations()) === null || _h === void 0 ? void 0 : _h.filter(ts.isFunctionLike)) !== null && _j !== void 0 ? _j : [];
|
|
17
|
-
return yield Promise.all([...(0, ArrayTools_1.zip)(declarations, sigs)].map(([decl, sig]) => tslib_1.__awaiter(this, void 0, void 0, function* () { return yield SignatureReflection_1.SignatureReflection.fromTsSignature(ctx, ts.SyntaxKind.CallSignature, sig, reflection, decl); })));
|
|
18
|
-
});
|
|
1
|
+
import assert from 'assert';
|
|
2
|
+
import * as ts from 'typescript';
|
|
3
|
+
import { zip } from '../../../common/tools/ArrayTools.js';
|
|
4
|
+
import { SignatureReflection } from '../reflections/SignatureReflection.js';
|
|
5
|
+
export async function getReflectedCallSignatures(ctx, symbol, reflection, parent) {
|
|
6
|
+
const locationDeclaration = parent?.symbol
|
|
7
|
+
.getDeclarations()
|
|
8
|
+
?.find(decl => ts.isClassDeclaration(decl) || ts.isInterfaceDeclaration(decl)) ??
|
|
9
|
+
parent?.symbol.getDeclarations()?.[0]?.getSourceFile() ??
|
|
10
|
+
symbol.getDeclarations()?.[0]?.getSourceFile();
|
|
11
|
+
assert(locationDeclaration);
|
|
12
|
+
const type = ctx.checker.getTypeOfSymbolAtLocation(symbol, locationDeclaration);
|
|
13
|
+
const sigs = type.getCallSignatures();
|
|
14
|
+
const declarations = symbol.getDeclarations()?.filter(ts.isFunctionLike) ?? [];
|
|
15
|
+
return await Promise.all([...zip(declarations, sigs)].map(async ([decl, sig]) => await SignatureReflection.fromTsSignature(ctx, ts.SyntaxKind.CallSignature, sig, reflection, decl)));
|
|
19
16
|
}
|
|
20
|
-
exports.getReflectedCallSignatures = getReflectedCallSignatures;
|
|
21
17
|
//# sourceMappingURL=functions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/util/functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/util/functions.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAG5E,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC/C,GAAmB,EACnB,MAAiB,EACjB,UAAiC,EACjC,MAA8B;IAE9B,MAAM,mBAAmB,GACxB,MAAM,EAAE,MAAM;SACZ,eAAe,EAAE;QAClB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC/E,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE;QACtD,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;IAChD,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE5B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAEhF,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/E,OAAO,MAAM,OAAO,CAAC,GAAG,CACvB,CAAC,GAAG,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAC/B,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CACrB,MAAM,mBAAmB,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CACnG,CACD,CAAC;AACH,CAAC"}
|
|
@@ -1,47 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const ClassReflection_1 = require("../reflections/ClassReflection");
|
|
7
|
-
const InterfaceReflection_1 = require("../reflections/InterfaceReflection");
|
|
8
|
-
const ReferenceType_1 = require("../types/ReferenceType");
|
|
9
|
-
function handleInheritance(ctx, reflection) {
|
|
10
|
-
var _a, _b, _c;
|
|
1
|
+
import assert from 'assert';
|
|
2
|
+
import { ClassReflection } from '../reflections/ClassReflection.js';
|
|
3
|
+
import { InterfaceReflection } from '../reflections/InterfaceReflection.js';
|
|
4
|
+
import { ReferenceType } from '../types/ReferenceType.js';
|
|
5
|
+
export function handleInheritance(ctx, reflection) {
|
|
11
6
|
const parentReflection = reflection.parent;
|
|
12
7
|
// TODO handle interfaces
|
|
13
|
-
if (parentReflection instanceof
|
|
14
|
-
const parentDeclaration = parentReflection.declarations
|
|
15
|
-
(
|
|
8
|
+
if (parentReflection instanceof ClassReflection || parentReflection instanceof InterfaceReflection) {
|
|
9
|
+
const [parentDeclaration] = parentReflection.declarations;
|
|
10
|
+
assert(parentDeclaration);
|
|
16
11
|
const isStatic = reflection.flags.has('isStatic');
|
|
17
|
-
for (const superType of
|
|
12
|
+
for (const superType of parentReflection.extends ?? []) {
|
|
18
13
|
const tsSuperType = ctx.checker.getTypeAtLocation(isStatic ? superType.node.expression : superType.node);
|
|
19
14
|
const tsType = isStatic
|
|
20
15
|
? ctx.checker.getTypeOfSymbolAtLocation(parentReflection.symbol, parentDeclaration)
|
|
21
16
|
: ctx.checker.getDeclaredTypeOfSymbol(parentReflection.symbol);
|
|
22
17
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
23
|
-
const tsProperty = tsType.getProperties().find(prop =>
|
|
18
|
+
const tsProperty = tsType.getProperties().find(prop => (prop.escapedName ?? prop.name) === reflection.name);
|
|
24
19
|
if (!tsProperty) {
|
|
25
20
|
continue;
|
|
26
21
|
}
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
const tsSuperProperty = tsSuperType
|
|
23
|
+
.getProperties()
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
25
|
+
.find(prop => (prop.escapedName ?? prop.name) === reflection.name);
|
|
29
26
|
if (tsSuperProperty) {
|
|
30
|
-
const inherits =
|
|
27
|
+
const inherits = tsProperty.getDeclarations()?.some(decl => decl.parent !== parentDeclaration);
|
|
31
28
|
const key = inherits ? 'inheritedFrom' : 'overwrites';
|
|
32
29
|
const superReflection = ctx.project.getReflectionForSymbol(tsSuperType.symbol);
|
|
33
30
|
const qualifiedName = `${tsSuperType.symbol.name}.${reflection.name}`;
|
|
34
31
|
if (superReflection) {
|
|
35
32
|
// might be uninitialized here
|
|
36
33
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
37
|
-
const superProperty =
|
|
34
|
+
const superProperty = superReflection.members?.find(mem => mem.name === reflection.name && mem.flags.has('isStatic') === isStatic);
|
|
38
35
|
if (superProperty) {
|
|
39
36
|
const packageForSuperProperty = ctx.project.getPackageNameForReflectionId(superProperty.id);
|
|
40
|
-
reflection[key] = new
|
|
37
|
+
reflection[key] = new ReferenceType(qualifiedName, undefined, superProperty.id, packageForSuperProperty);
|
|
41
38
|
break;
|
|
42
39
|
}
|
|
43
40
|
}
|
|
44
|
-
const ref = new
|
|
41
|
+
const ref = new ReferenceType(qualifiedName);
|
|
45
42
|
ctx.project.registerBrokenReference(tsSuperProperty, ref);
|
|
46
43
|
reflection[key] = ref;
|
|
47
44
|
break;
|
|
@@ -49,21 +46,19 @@ function handleInheritance(ctx, reflection) {
|
|
|
49
46
|
}
|
|
50
47
|
}
|
|
51
48
|
}
|
|
52
|
-
|
|
53
|
-
function handleConstructorInheritance(ctx, reflection, signatures) {
|
|
54
|
-
var _a, _b, _c;
|
|
49
|
+
export function handleConstructorInheritance(ctx, reflection, signatures) {
|
|
55
50
|
const cls = reflection.parent;
|
|
56
|
-
const extendedClass =
|
|
51
|
+
const extendedClass = cls.extends?.[0];
|
|
57
52
|
if (!extendedClass) {
|
|
58
53
|
return;
|
|
59
54
|
}
|
|
60
|
-
const ctorDecl =
|
|
61
|
-
const ctorSymbol = ctorDecl
|
|
55
|
+
const ctorDecl = signatures[0]?.getDeclaration();
|
|
56
|
+
const ctorSymbol = ctorDecl?.symbol;
|
|
62
57
|
if (!ctorSymbol) {
|
|
63
58
|
return;
|
|
64
59
|
}
|
|
65
|
-
const declaration =
|
|
66
|
-
(
|
|
60
|
+
const declaration = ctorSymbol.declarations?.[0];
|
|
61
|
+
assert(declaration);
|
|
67
62
|
const qualifiedName = `${declaration.parent.name.getText()}.constructor`;
|
|
68
63
|
const ctorReflection = ctx.project.getReflectionForSymbol(ctorSymbol);
|
|
69
64
|
if (ctorReflection) {
|
|
@@ -72,16 +67,15 @@ function handleConstructorInheritance(ctx, reflection, signatures) {
|
|
|
72
67
|
return;
|
|
73
68
|
}
|
|
74
69
|
const packageForSuperProperty = ctx.project.getPackageNameForReflectionId(ctorReflection.id);
|
|
75
|
-
const ref = new
|
|
70
|
+
const ref = new ReferenceType(qualifiedName, undefined, ctorReflection.id, packageForSuperProperty);
|
|
76
71
|
reflection.inheritedFrom = ref;
|
|
77
72
|
if (!packageForSuperProperty) {
|
|
78
73
|
ctx.project.registerBrokenReference(ctorSymbol, ref);
|
|
79
74
|
}
|
|
80
75
|
return;
|
|
81
76
|
}
|
|
82
|
-
const ref = new
|
|
77
|
+
const ref = new ReferenceType(qualifiedName);
|
|
83
78
|
reflection.inheritedFrom = ref;
|
|
84
79
|
ctx.project.registerBrokenReference(ctorSymbol, ref);
|
|
85
80
|
}
|
|
86
|
-
exports.handleConstructorInheritance = handleConstructorInheritance;
|
|
87
81
|
//# sourceMappingURL=inheritance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inheritance.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/util/inheritance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inheritance.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/util/inheritance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.resolvePromiseArray = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
function resolvePromiseArray(promises) {
|
|
6
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
7
|
-
return promises ? yield Promise.all(promises) : undefined;
|
|
8
|
-
});
|
|
1
|
+
export async function resolvePromiseArray(promises) {
|
|
2
|
+
return promises ? await Promise.all(promises) : undefined;
|
|
9
3
|
}
|
|
10
|
-
exports.resolvePromiseArray = resolvePromiseArray;
|
|
11
4
|
//# sourceMappingURL=promises.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promises.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/util/promises.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"promises.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/util/promises.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAI,QAAuC;IACnF,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC"}
|
|
@@ -1,23 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const fs_1 = require("fs");
|
|
6
|
-
const path_1 = tslib_1.__importDefault(require("path"));
|
|
7
|
-
const source_map_1 = require("source-map");
|
|
1
|
+
import { promises as fs } from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { SourceMapConsumer } from 'source-map';
|
|
8
4
|
const consumers = new Map();
|
|
9
|
-
function getSourceMapConsumer(baseFileName, mapUrl) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
consumers.set(absolutePath, newConsumer);
|
|
19
|
-
return newConsumer;
|
|
20
|
-
});
|
|
5
|
+
export async function getSourceMapConsumer(baseFileName, mapUrl) {
|
|
6
|
+
const absolutePath = path.resolve(baseFileName, mapUrl);
|
|
7
|
+
if (consumers.has(absolutePath)) {
|
|
8
|
+
return consumers.get(absolutePath);
|
|
9
|
+
}
|
|
10
|
+
const mapContents = await fs.readFile(absolutePath, 'utf8');
|
|
11
|
+
const newConsumer = (await new SourceMapConsumer(mapContents));
|
|
12
|
+
consumers.set(absolutePath, newConsumer);
|
|
13
|
+
return newConsumer;
|
|
21
14
|
}
|
|
22
|
-
exports.getSourceMapConsumer = getSourceMapConsumer;
|
|
23
15
|
//# sourceMappingURL=sourceMaps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sourceMaps.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/util/sourceMaps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sourceMaps.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/util/sourceMaps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,SAAS,GAAG,IAAI,GAAG,EAA6B,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,YAAoB,EAAE,MAAc;IAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAExD,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;IACrC,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAsB,CAAC;IACpF,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAEzC,OAAO,WAAW,CAAC;AACpB,CAAC"}
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.nodeToSymbol = exports.resolveAliasesForSymbol = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const ts = tslib_1.__importStar(require("typescript"));
|
|
6
|
-
function resolveAliasesForSymbol(ctx, symbol) {
|
|
1
|
+
import * as ts from 'typescript';
|
|
2
|
+
export function resolveAliasesForSymbol(ctx, symbol) {
|
|
7
3
|
// eslint-disable-next-line no-bitwise
|
|
8
4
|
while (symbol && symbol.flags & ts.SymbolFlags.Alias) {
|
|
9
5
|
symbol = ctx.checker.getAliasedSymbol(symbol);
|
|
10
6
|
}
|
|
11
7
|
return symbol;
|
|
12
8
|
}
|
|
13
|
-
|
|
14
|
-
function nodeToSymbol(ctx, node) {
|
|
9
|
+
export function nodeToSymbol(ctx, node) {
|
|
15
10
|
const localSymbol = ctx.checker.getSymbolAtLocation(node);
|
|
16
11
|
return resolveAliasesForSymbol(ctx, localSymbol);
|
|
17
12
|
}
|
|
18
|
-
exports.nodeToSymbol = nodeToSymbol;
|
|
19
13
|
//# sourceMappingURL=symbols.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/util/symbols.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/util/symbols.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAKjC,MAAM,UAAU,uBAAuB,CAAC,GAAmB,EAAE,MAA6B;IACzF,sCAAsC;IACtC,OAAO,MAAM,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACtD,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAmB,EAAE,IAAa;IAC9D,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAE,CAAC;IAC3D,OAAO,uBAAuB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
function removeUndefined(type) {
|
|
7
|
-
if (type instanceof UnionType_1.UnionType) {
|
|
8
|
-
const otherTypes = type.elements.filter(t => !(t instanceof IntrinsicType_1.IntrinsicType && t.name === 'undefined'));
|
|
1
|
+
import { IntrinsicType } from '../types/IntrinsicType.js';
|
|
2
|
+
import { UnionType } from '../types/UnionType.js';
|
|
3
|
+
export function removeUndefined(type) {
|
|
4
|
+
if (type instanceof UnionType) {
|
|
5
|
+
const otherTypes = type.elements.filter(t => !(t instanceof IntrinsicType && t.name === 'undefined'));
|
|
9
6
|
if (otherTypes.length === 1) {
|
|
10
7
|
return otherTypes[0];
|
|
11
8
|
}
|
|
12
|
-
return new
|
|
9
|
+
return new UnionType(otherTypes);
|
|
13
10
|
}
|
|
14
11
|
return type;
|
|
15
12
|
}
|
|
16
|
-
exports.removeUndefined = removeUndefined;
|
|
17
13
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/util/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/generator/analyzer/util/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,UAAU,eAAe,CAAC,IAAU;IACzC,IAAI,IAAI,YAAY,SAAS,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC;QACtG,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
|