@proteinjs/reflection-build 1.0.3 → 1.0.5

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.
Files changed (149) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/modules/typescript-parser/.appveyor.yml +22 -0
  3. package/dist/modules/typescript-parser/DeclarationIndex.d.ts +217 -0
  4. package/dist/modules/typescript-parser/DeclarationIndex.js +441 -0
  5. package/dist/modules/typescript-parser/LICENSE +21 -0
  6. package/dist/modules/typescript-parser/Node.d.ts +23 -0
  7. package/dist/modules/typescript-parser/Node.js +2 -0
  8. package/dist/modules/typescript-parser/README.md +51 -0
  9. package/dist/modules/typescript-parser/SymbolSpecifier.d.ts +22 -0
  10. package/dist/modules/typescript-parser/SymbolSpecifier.js +28 -0
  11. package/dist/modules/typescript-parser/TypescriptParser.d.ts +68 -0
  12. package/dist/modules/typescript-parser/TypescriptParser.js +191 -0
  13. package/dist/modules/typescript-parser/clonable/Clonable.d.ts +17 -0
  14. package/dist/modules/typescript-parser/clonable/Clonable.js +2 -0
  15. package/dist/modules/typescript-parser/code-generators/TypescriptCodeGenerator.d.ts +39 -0
  16. package/dist/modules/typescript-parser/code-generators/TypescriptCodeGenerator.js +66 -0
  17. package/dist/modules/typescript-parser/code-generators/TypescriptGenerationOptions.d.ts +69 -0
  18. package/dist/modules/typescript-parser/code-generators/TypescriptGenerationOptions.js +9 -0
  19. package/dist/modules/typescript-parser/code-generators/typescript-generators/accessorDeclaration.d.ts +11 -0
  20. package/dist/modules/typescript-parser/code-generators/typescript-generators/accessorDeclaration.js +34 -0
  21. package/dist/modules/typescript-parser/code-generators/typescript-generators/externalModuleImport.d.ts +11 -0
  22. package/dist/modules/typescript-parser/code-generators/typescript-generators/externalModuleImport.js +15 -0
  23. package/dist/modules/typescript-parser/code-generators/typescript-generators/methodDeclaration.d.ts +11 -0
  24. package/dist/modules/typescript-parser/code-generators/typescript-generators/methodDeclaration.js +23 -0
  25. package/dist/modules/typescript-parser/code-generators/typescript-generators/namedImport.d.ts +11 -0
  26. package/dist/modules/typescript-parser/code-generators/typescript-generators/namedImport.js +94 -0
  27. package/dist/modules/typescript-parser/code-generators/typescript-generators/namespaceImport.d.ts +11 -0
  28. package/dist/modules/typescript-parser/code-generators/typescript-generators/namespaceImport.js +15 -0
  29. package/dist/modules/typescript-parser/code-generators/typescript-generators/parameterDeclaration.d.ts +9 -0
  30. package/dist/modules/typescript-parser/code-generators/typescript-generators/parameterDeclaration.js +14 -0
  31. package/dist/modules/typescript-parser/code-generators/typescript-generators/propertyDeclaration.d.ts +11 -0
  32. package/dist/modules/typescript-parser/code-generators/typescript-generators/propertyDeclaration.js +18 -0
  33. package/dist/modules/typescript-parser/code-generators/typescript-generators/stringImport.d.ts +11 -0
  34. package/dist/modules/typescript-parser/code-generators/typescript-generators/stringImport.js +15 -0
  35. package/dist/modules/typescript-parser/code-generators/typescript-generators/symbolSpecifier.d.ts +9 -0
  36. package/dist/modules/typescript-parser/code-generators/typescript-generators/symbolSpecifier.js +14 -0
  37. package/dist/modules/typescript-parser/code-generators/typescript-generators/variableDeclaration.d.ts +9 -0
  38. package/dist/modules/typescript-parser/code-generators/typescript-generators/variableDeclaration.js +14 -0
  39. package/dist/modules/typescript-parser/declarations/AccessorDeclaration.d.ts +40 -0
  40. package/dist/modules/typescript-parser/declarations/AccessorDeclaration.js +45 -0
  41. package/dist/modules/typescript-parser/declarations/ClassDeclaration.d.ts +34 -0
  42. package/dist/modules/typescript-parser/declarations/ClassDeclaration.js +26 -0
  43. package/dist/modules/typescript-parser/declarations/ConstructorDeclaration.d.ts +18 -0
  44. package/dist/modules/typescript-parser/declarations/ConstructorDeclaration.js +20 -0
  45. package/dist/modules/typescript-parser/declarations/Declaration.d.ts +215 -0
  46. package/dist/modules/typescript-parser/declarations/Declaration.js +2 -0
  47. package/dist/modules/typescript-parser/declarations/DeclarationInfo.d.ts +13 -0
  48. package/dist/modules/typescript-parser/declarations/DeclarationInfo.js +17 -0
  49. package/dist/modules/typescript-parser/declarations/DeclarationVisibility.d.ts +18 -0
  50. package/dist/modules/typescript-parser/declarations/DeclarationVisibility.js +22 -0
  51. package/dist/modules/typescript-parser/declarations/DefaultDeclaration.d.ts +21 -0
  52. package/dist/modules/typescript-parser/declarations/DefaultDeclaration.js +28 -0
  53. package/dist/modules/typescript-parser/declarations/EnumDeclaration.d.ts +16 -0
  54. package/dist/modules/typescript-parser/declarations/EnumDeclaration.js +20 -0
  55. package/dist/modules/typescript-parser/declarations/FunctionDeclaration.d.ts +23 -0
  56. package/dist/modules/typescript-parser/declarations/FunctionDeclaration.js +25 -0
  57. package/dist/modules/typescript-parser/declarations/InterfaceDeclaration.d.ts +27 -0
  58. package/dist/modules/typescript-parser/declarations/InterfaceDeclaration.js +24 -0
  59. package/dist/modules/typescript-parser/declarations/MethodDeclaration.d.ts +28 -0
  60. package/dist/modules/typescript-parser/declarations/MethodDeclaration.js +29 -0
  61. package/dist/modules/typescript-parser/declarations/ModuleDeclaration.d.ts +15 -0
  62. package/dist/modules/typescript-parser/declarations/ModuleDeclaration.js +19 -0
  63. package/dist/modules/typescript-parser/declarations/ParameterDeclaration.d.ts +33 -0
  64. package/dist/modules/typescript-parser/declarations/ParameterDeclaration.js +54 -0
  65. package/dist/modules/typescript-parser/declarations/PropertyDeclaration.d.ts +20 -0
  66. package/dist/modules/typescript-parser/declarations/PropertyDeclaration.js +23 -0
  67. package/dist/modules/typescript-parser/declarations/TypeAliasDeclaration.d.ts +19 -0
  68. package/dist/modules/typescript-parser/declarations/TypeAliasDeclaration.js +22 -0
  69. package/dist/modules/typescript-parser/declarations/VariableDeclaration.d.ts +19 -0
  70. package/dist/modules/typescript-parser/declarations/VariableDeclaration.js +22 -0
  71. package/dist/modules/typescript-parser/declarations/index.d.ts +16 -0
  72. package/dist/modules/typescript-parser/declarations/index.js +19 -0
  73. package/dist/modules/typescript-parser/errors/NotGeneratableYetError.d.ts +11 -0
  74. package/dist/modules/typescript-parser/errors/NotGeneratableYetError.js +17 -0
  75. package/dist/modules/typescript-parser/exports/AllExport.d.ts +14 -0
  76. package/dist/modules/typescript-parser/exports/AllExport.js +18 -0
  77. package/dist/modules/typescript-parser/exports/AssignedExport.d.ts +26 -0
  78. package/dist/modules/typescript-parser/exports/AssignedExport.js +38 -0
  79. package/dist/modules/typescript-parser/exports/Export.d.ts +10 -0
  80. package/dist/modules/typescript-parser/exports/Export.js +2 -0
  81. package/dist/modules/typescript-parser/exports/NamedExport.d.ts +16 -0
  82. package/dist/modules/typescript-parser/exports/NamedExport.js +18 -0
  83. package/dist/modules/typescript-parser/exports/index.d.ts +4 -0
  84. package/dist/modules/typescript-parser/exports/index.js +7 -0
  85. package/dist/modules/typescript-parser/imports/ExternalModuleImport.d.ts +25 -0
  86. package/dist/modules/typescript-parser/imports/ExternalModuleImport.js +33 -0
  87. package/dist/modules/typescript-parser/imports/Import.d.ts +43 -0
  88. package/dist/modules/typescript-parser/imports/Import.js +2 -0
  89. package/dist/modules/typescript-parser/imports/NamedImport.d.ts +29 -0
  90. package/dist/modules/typescript-parser/imports/NamedImport.js +38 -0
  91. package/dist/modules/typescript-parser/imports/NamespaceImport.d.ts +24 -0
  92. package/dist/modules/typescript-parser/imports/NamespaceImport.js +32 -0
  93. package/dist/modules/typescript-parser/imports/StringImport.d.ts +23 -0
  94. package/dist/modules/typescript-parser/imports/StringImport.js +31 -0
  95. package/dist/modules/typescript-parser/imports/index.d.ts +5 -0
  96. package/dist/modules/typescript-parser/imports/index.js +8 -0
  97. package/dist/modules/typescript-parser/index.d.ts +12 -0
  98. package/dist/modules/typescript-parser/index.js +14 -0
  99. package/dist/modules/typescript-parser/node-parser/changes/parseType.d.ts +14 -0
  100. package/dist/modules/typescript-parser/node-parser/changes/parseType.js +35 -0
  101. package/dist/modules/typescript-parser/node-parser/class-parser.d.ts +30 -0
  102. package/dist/modules/typescript-parser/node-parser/class-parser.js +143 -0
  103. package/dist/modules/typescript-parser/node-parser/enum-parser.d.ts +10 -0
  104. package/dist/modules/typescript-parser/node-parser/enum-parser.js +18 -0
  105. package/dist/modules/typescript-parser/node-parser/export-parser.d.ts +10 -0
  106. package/dist/modules/typescript-parser/node-parser/export-parser.js +58 -0
  107. package/dist/modules/typescript-parser/node-parser/function-parser.d.ts +33 -0
  108. package/dist/modules/typescript-parser/node-parser/function-parser.js +101 -0
  109. package/dist/modules/typescript-parser/node-parser/identifier-parser.d.ts +10 -0
  110. package/dist/modules/typescript-parser/node-parser/identifier-parser.js +81 -0
  111. package/dist/modules/typescript-parser/node-parser/import-parser.d.ts +10 -0
  112. package/dist/modules/typescript-parser/node-parser/import-parser.js +54 -0
  113. package/dist/modules/typescript-parser/node-parser/index.d.ts +0 -0
  114. package/dist/modules/typescript-parser/node-parser/index.js +11 -0
  115. package/dist/modules/typescript-parser/node-parser/interface-parser.d.ts +11 -0
  116. package/dist/modules/typescript-parser/node-parser/interface-parser.js +57 -0
  117. package/dist/modules/typescript-parser/node-parser/module-parser.d.ts +12 -0
  118. package/dist/modules/typescript-parser/node-parser/module-parser.js +23 -0
  119. package/dist/modules/typescript-parser/node-parser/parse-utilities.d.ts +55 -0
  120. package/dist/modules/typescript-parser/node-parser/parse-utilities.js +96 -0
  121. package/dist/modules/typescript-parser/node-parser/traverse-ast.d.ts +1 -0
  122. package/dist/modules/typescript-parser/node-parser/traverse-ast.js +14 -0
  123. package/dist/modules/typescript-parser/node-parser/type-alias-parser.d.ts +10 -0
  124. package/dist/modules/typescript-parser/node-parser/type-alias-parser.js +20 -0
  125. package/dist/modules/typescript-parser/node-parser/variable-parser.d.ts +11 -0
  126. package/dist/modules/typescript-parser/node-parser/variable-parser.js +30 -0
  127. package/dist/modules/typescript-parser/package-lock.json +16793 -0
  128. package/dist/modules/typescript-parser/package.json +55 -0
  129. package/dist/modules/typescript-parser/resources/File.d.ts +45 -0
  130. package/dist/modules/typescript-parser/resources/File.js +58 -0
  131. package/dist/modules/typescript-parser/resources/Module.d.ts +35 -0
  132. package/dist/modules/typescript-parser/resources/Module.js +50 -0
  133. package/dist/modules/typescript-parser/resources/Namespace.d.ts +35 -0
  134. package/dist/modules/typescript-parser/resources/Namespace.js +50 -0
  135. package/dist/modules/typescript-parser/resources/Resource.d.ts +64 -0
  136. package/dist/modules/typescript-parser/resources/Resource.js +2 -0
  137. package/dist/modules/typescript-parser/resources/index.d.ts +4 -0
  138. package/dist/modules/typescript-parser/resources/index.js +7 -0
  139. package/dist/modules/typescript-parser/type-guards/TypescriptGuards.d.ts +153 -0
  140. package/dist/modules/typescript-parser/type-guards/TypescriptGuards.js +213 -0
  141. package/dist/modules/typescript-parser/type-guards/TypescriptHeroGuards.d.ts +26 -0
  142. package/dist/modules/typescript-parser/type-guards/TypescriptHeroGuards.js +36 -0
  143. package/dist/modules/typescript-parser/utilities/PathHelpers.d.ts +22 -0
  144. package/dist/modules/typescript-parser/utilities/PathHelpers.js +42 -0
  145. package/dist/modules/typescript-parser/utilities/StringTemplate.d.ts +9 -0
  146. package/dist/modules/typescript-parser/utilities/StringTemplate.js +21 -0
  147. package/dist/src/runBuild.js +0 -0
  148. package/dist/src/runWatch.js +0 -0
  149. package/package.json +3 -3
@@ -0,0 +1,11 @@
1
+ import { ExternalModuleImport } from '../../imports/ExternalModuleImport';
2
+ import { TypescriptGenerationOptions } from '../TypescriptGenerationOptions';
3
+ /**
4
+ * Generates typescript code for an external module import.
5
+ *
6
+ * @export
7
+ * @param {ExternalModuleImport} imp
8
+ * @param {TypescriptGenerationOptions} { stringQuoteStyle, eol }
9
+ * @returns {string}
10
+ */
11
+ export declare function generateExternalModuleImport(imp: ExternalModuleImport, { stringQuoteStyle, eol }: TypescriptGenerationOptions): string;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateExternalModuleImport = void 0;
4
+ /**
5
+ * Generates typescript code for an external module import.
6
+ *
7
+ * @export
8
+ * @param {ExternalModuleImport} imp
9
+ * @param {TypescriptGenerationOptions} { stringQuoteStyle, eol }
10
+ * @returns {string}
11
+ */
12
+ function generateExternalModuleImport(imp, { stringQuoteStyle, eol }) {
13
+ return `import ${imp.alias} = require(${stringQuoteStyle}${imp.libraryName}${stringQuoteStyle})${eol}`;
14
+ }
15
+ exports.generateExternalModuleImport = generateExternalModuleImport;
@@ -0,0 +1,11 @@
1
+ import { MethodDeclaration } from '../../declarations/MethodDeclaration';
2
+ import { TypescriptGenerationOptions } from '../TypescriptGenerationOptions';
3
+ /**
4
+ * Generates typescript code for a method declaration.
5
+ *
6
+ * @export
7
+ * @param {MethodDeclaration} method
8
+ * @param {TypescriptGenerationOptions} { tabSize }
9
+ * @returns {string}
10
+ */
11
+ export declare function generateMethodDeclaration(method: MethodDeclaration, { tabSize }: TypescriptGenerationOptions): string;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateMethodDeclaration = void 0;
4
+ const DeclarationVisibility_1 = require("../../declarations/DeclarationVisibility");
5
+ const parameterDeclaration_1 = require("./parameterDeclaration");
6
+ /**
7
+ * Generates typescript code for a method declaration.
8
+ *
9
+ * @export
10
+ * @param {MethodDeclaration} method
11
+ * @param {TypescriptGenerationOptions} { tabSize }
12
+ * @returns {string}
13
+ */
14
+ function generateMethodDeclaration(method, { tabSize }) {
15
+ const intend = Array(tabSize + 1).join(' ');
16
+ return `${intend}` +
17
+ `${method.visibility !== undefined ? DeclarationVisibility_1.getVisibilityText(method.visibility) + ' ' : ''}${method.name}(` +
18
+ `${method.parameters.map(o => parameterDeclaration_1.generateParameterDeclaration(o)).join(', ')})` +
19
+ `${method.type ? `: ${method.type}` : ''} {
20
+ ${intend}${intend}throw new Error('Not implemented yet.');
21
+ ${intend}}\n`;
22
+ }
23
+ exports.generateMethodDeclaration = generateMethodDeclaration;
@@ -0,0 +1,11 @@
1
+ import { NamedImport } from '../../imports/NamedImport';
2
+ import { TypescriptGenerationOptions } from '../TypescriptGenerationOptions';
3
+ /**
4
+ * Generates typescript code for a named import.
5
+ *
6
+ * @export
7
+ * @param {NamedImport} imp
8
+ * @param {TypescriptGenerationOptions} { stringQuoteStyle, eol }
9
+ * @returns {string}
10
+ */
11
+ export declare function generateNamedImport(imp: NamedImport, { eol, stringQuoteStyle, spaceBraces, tabSize, wrapMethod, multiLineWrapThreshold, multiLineTrailingComma, insertSpaces, }: TypescriptGenerationOptions): string;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateNamedImport = void 0;
4
+ const StringTemplate_1 = require("../../utilities/StringTemplate");
5
+ const TypescriptGenerationOptions_1 = require("../TypescriptGenerationOptions");
6
+ const symbolSpecifier_1 = require("./symbolSpecifier");
7
+ const oneLinerImportTemplate = StringTemplate_1.stringTemplate `import ${0} from ${1}`;
8
+ const multiLineImportTemplate = StringTemplate_1.stringTemplate `import ${3}{
9
+ ${0}${1}
10
+ } from ${2}`;
11
+ const defaultAliasOnlyMultiLineImportTemplate = StringTemplate_1.stringTemplate `import ${0}
12
+ from ${1}`;
13
+ /**
14
+ * Sort function for symbol specifiers. Does sort after the specifiers name (to lowercase).
15
+ *
16
+ * @param {SymbolSpecifier} i1
17
+ * @param {SymbolSpecifier} i2
18
+ * @returns {number}
19
+ */
20
+ function specifierSort(i1, i2) {
21
+ const strA = i1.specifier.toLowerCase();
22
+ const strB = i2.specifier.toLowerCase();
23
+ if (strA < strB) {
24
+ return -1;
25
+ }
26
+ if (strA > strB) {
27
+ return 1;
28
+ }
29
+ return 0;
30
+ }
31
+ /**
32
+ * Generates typescript code for a named import.
33
+ *
34
+ * @export
35
+ * @param {NamedImport} imp
36
+ * @param {TypescriptGenerationOptions} { stringQuoteStyle, eol }
37
+ * @returns {string}
38
+ */
39
+ function generateNamedImport(imp, { eol, stringQuoteStyle, spaceBraces, tabSize, wrapMethod, multiLineWrapThreshold, multiLineTrailingComma, insertSpaces = true, }) {
40
+ const lib = `${stringQuoteStyle}${imp.libraryName}${stringQuoteStyle}${eol}`;
41
+ // const specifiers = imp.specifiers.sort(specifierSort).map(o => generateSymbolSpecifier(o)).join(', ');
42
+ const oneLinerImportStatement = oneLinerImportTemplate(getImportSpecifiers(imp, spaceBraces), lib);
43
+ if (oneLinerImportStatement.length <= multiLineWrapThreshold &&
44
+ (wrapMethod !== TypescriptGenerationOptions_1.MultiLineImportRule.strictlyOneImportPerLine ||
45
+ imp.specifiers.length <= 1)) {
46
+ return oneLinerImportStatement;
47
+ }
48
+ const defaultAliasOnly = imp.specifiers.length === 0;
49
+ if (defaultAliasOnly) {
50
+ return defaultAliasOnlyMultiLineImportTemplate(imp.defaultAlias ? `${imp.defaultAlias}, ` : '', `${stringQuoteStyle}${imp.libraryName}${stringQuoteStyle}${eol}`);
51
+ }
52
+ const sortedImportSpecifiers = imp.specifiers.sort(specifierSort);
53
+ let importSpecifierStrings = '';
54
+ const indent = insertSpaces ? Array(tabSize + 1).join(' ') : '\t';
55
+ if (wrapMethod === TypescriptGenerationOptions_1.MultiLineImportRule.strictlyOneImportPerLine ||
56
+ wrapMethod === TypescriptGenerationOptions_1.MultiLineImportRule.oneImportPerLineOnlyAfterThreshold) {
57
+ importSpecifierStrings = sortedImportSpecifiers.map(o => `${indent}${symbolSpecifier_1.generateSymbolSpecifier(o)}`).join(',\n');
58
+ }
59
+ else if (wrapMethod === TypescriptGenerationOptions_1.MultiLineImportRule.multipleImportsPerLine) {
60
+ importSpecifierStrings = sortedImportSpecifiers.reduce((acc, curr) => {
61
+ const symbolSpecifier = symbolSpecifier_1.generateSymbolSpecifier(curr);
62
+ // const dist: number = acc.out.length - acc.lastWrapOffset + symbolSpecifier.length;
63
+ const importLines = acc.out.split('\n');
64
+ const lastImportLine = importLines[importLines.length - 1];
65
+ const dist = lastImportLine.length + `, `.length + symbolSpecifier.length;
66
+ const needsWrap = dist >= multiLineWrapThreshold;
67
+ return {
68
+ out: acc.out + (needsWrap ? `,\n${indent}` : (acc.out.length ? `, ` : `${indent}`)) +
69
+ symbolSpecifier,
70
+ lastWrapOffset: acc.lastWrapOffset + (needsWrap ? dist : 0),
71
+ };
72
+ }, {
73
+ out: '',
74
+ lastWrapOffset: 0,
75
+ }).out;
76
+ }
77
+ return multiLineImportTemplate(importSpecifierStrings, multiLineTrailingComma ? ',' : '', `${stringQuoteStyle}${imp.libraryName}${stringQuoteStyle}${eol}`, imp.defaultAlias ? `${imp.defaultAlias}, ` : '');
78
+ }
79
+ exports.generateNamedImport = generateNamedImport;
80
+ function getImportSpecifiers(namedImport, spaceBraces) {
81
+ if (namedImport.defaultAlias && namedImport.specifiers.length <= 0) {
82
+ return namedImport.defaultAlias;
83
+ }
84
+ const space = spaceBraces ? ' ' : '';
85
+ const specifiers = namedImport.specifiers.sort(specifierSort).map(o => symbolSpecifier_1.generateSymbolSpecifier(o)).join(', ');
86
+ let importSpecifiers = `${space}${specifiers}${space}`;
87
+ if (importSpecifiers.trim().length === 0) {
88
+ importSpecifiers = ' ';
89
+ }
90
+ if (namedImport.defaultAlias && namedImport.specifiers.length > 0) {
91
+ return `${namedImport.defaultAlias}, {${importSpecifiers}}`;
92
+ }
93
+ return `{${importSpecifiers}}`;
94
+ }
@@ -0,0 +1,11 @@
1
+ import { NamespaceImport } from '../../imports/NamespaceImport';
2
+ import { TypescriptGenerationOptions } from '../TypescriptGenerationOptions';
3
+ /**
4
+ * Generates typescript code for a namespace import
5
+ *
6
+ * @export
7
+ * @param {NamespaceImport} imp
8
+ * @param {TypescriptGenerationOptions} { stringQuoteStyle, eol }
9
+ * @returns {string}
10
+ */
11
+ export declare function generateNamespaceImport(imp: NamespaceImport, { stringQuoteStyle, eol }: TypescriptGenerationOptions): string;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateNamespaceImport = void 0;
4
+ /**
5
+ * Generates typescript code for a namespace import
6
+ *
7
+ * @export
8
+ * @param {NamespaceImport} imp
9
+ * @param {TypescriptGenerationOptions} { stringQuoteStyle, eol }
10
+ * @returns {string}
11
+ */
12
+ function generateNamespaceImport(imp, { stringQuoteStyle, eol }) {
13
+ return `import * as ${imp.alias} from ${stringQuoteStyle}${imp.libraryName}${stringQuoteStyle}${eol}`;
14
+ }
15
+ exports.generateNamespaceImport = generateNamespaceImport;
@@ -0,0 +1,9 @@
1
+ import { ParameterDeclaration } from '../../declarations/ParameterDeclaration';
2
+ /**
3
+ * Generates typescript code for parameters.
4
+ *
5
+ * @export
6
+ * @param {ParameterDeclaration} parameter
7
+ * @returns {string}
8
+ */
9
+ export declare function generateParameterDeclaration(parameter: ParameterDeclaration): string;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateParameterDeclaration = void 0;
4
+ /**
5
+ * Generates typescript code for parameters.
6
+ *
7
+ * @export
8
+ * @param {ParameterDeclaration} parameter
9
+ * @returns {string}
10
+ */
11
+ function generateParameterDeclaration(parameter) {
12
+ return `${parameter.name}${parameter.type ? `: ${parameter.type}` : ''}`;
13
+ }
14
+ exports.generateParameterDeclaration = generateParameterDeclaration;
@@ -0,0 +1,11 @@
1
+ import { PropertyDeclaration } from '../../declarations/PropertyDeclaration';
2
+ import { TypescriptGenerationOptions } from '../TypescriptGenerationOptions';
3
+ /**
4
+ * Generates typescript code for a class property.
5
+ *
6
+ * @export
7
+ * @param {PropertyDeclaration} property
8
+ * @param {TypescriptGenerationOptions} { tabSize }
9
+ * @returns {string}
10
+ */
11
+ export declare function generatePropertyDeclaration(property: PropertyDeclaration, { tabSize }: TypescriptGenerationOptions): string;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generatePropertyDeclaration = void 0;
4
+ const DeclarationVisibility_1 = require("../../declarations/DeclarationVisibility");
5
+ /**
6
+ * Generates typescript code for a class property.
7
+ *
8
+ * @export
9
+ * @param {PropertyDeclaration} property
10
+ * @param {TypescriptGenerationOptions} { tabSize }
11
+ * @returns {string}
12
+ */
13
+ function generatePropertyDeclaration(property, { tabSize }) {
14
+ return `${Array(tabSize + 1).join(' ')}` +
15
+ `${property.visibility !== undefined ? DeclarationVisibility_1.getVisibilityText(property.visibility) + ' ' : ''}` +
16
+ `${property.name}${property.isOptional ? '?' : ''}${property.type ? `: ${property.type}` : ''};\n`;
17
+ }
18
+ exports.generatePropertyDeclaration = generatePropertyDeclaration;
@@ -0,0 +1,11 @@
1
+ import { StringImport } from '../../imports/StringImport';
2
+ import { TypescriptGenerationOptions } from '../TypescriptGenerationOptions';
3
+ /**
4
+ * Generates typescript code for a string import.
5
+ *
6
+ * @export
7
+ * @param {StringImport} imp
8
+ * @param {TypescriptGenerationOptions} { stringQuoteStyle, eol }
9
+ * @returns {string}
10
+ */
11
+ export declare function generateStringImport(imp: StringImport, { stringQuoteStyle, eol }: TypescriptGenerationOptions): string;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateStringImport = void 0;
4
+ /**
5
+ * Generates typescript code for a string import.
6
+ *
7
+ * @export
8
+ * @param {StringImport} imp
9
+ * @param {TypescriptGenerationOptions} { stringQuoteStyle, eol }
10
+ * @returns {string}
11
+ */
12
+ function generateStringImport(imp, { stringQuoteStyle, eol }) {
13
+ return `import ${stringQuoteStyle}${imp.libraryName}${stringQuoteStyle}${eol}`;
14
+ }
15
+ exports.generateStringImport = generateStringImport;
@@ -0,0 +1,9 @@
1
+ import { SymbolSpecifier } from '../../SymbolSpecifier';
2
+ /**
3
+ * Generates typescript code for a symbol specifier.
4
+ *
5
+ * @export
6
+ * @param {SymbolSpecifier} specifier
7
+ * @returns {string}
8
+ */
9
+ export declare function generateSymbolSpecifier(specifier: SymbolSpecifier): string;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateSymbolSpecifier = void 0;
4
+ /**
5
+ * Generates typescript code for a symbol specifier.
6
+ *
7
+ * @export
8
+ * @param {SymbolSpecifier} specifier
9
+ * @returns {string}
10
+ */
11
+ function generateSymbolSpecifier(specifier) {
12
+ return `${specifier.specifier}${specifier.alias ? ` as ${specifier.alias}` : ''}`;
13
+ }
14
+ exports.generateSymbolSpecifier = generateSymbolSpecifier;
@@ -0,0 +1,9 @@
1
+ import { VariableDeclaration } from '../../declarations/VariableDeclaration';
2
+ /**
3
+ * Generates typescript code for a variable.
4
+ *
5
+ * @export
6
+ * @param {VariableDelcaration} variable
7
+ * @returns {string}
8
+ */
9
+ export declare function generateVariableDelcaration(variable: VariableDeclaration): string;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateVariableDelcaration = void 0;
4
+ /**
5
+ * Generates typescript code for a variable.
6
+ *
7
+ * @export
8
+ * @param {VariableDelcaration} variable
9
+ * @returns {string}
10
+ */
11
+ function generateVariableDelcaration(variable) {
12
+ return `${variable.name}${variable.type ? `: ${variable.type}` : ''}`;
13
+ }
14
+ exports.generateVariableDelcaration = generateVariableDelcaration;
@@ -0,0 +1,40 @@
1
+ import { AbstractDeclaration, ScopedDeclaration, StaticDeclaration, TypedDeclaration } from './Declaration';
2
+ import { DeclarationVisibility } from './DeclarationVisibility';
3
+ /**
4
+ * Property accessor declaration. This element represents the base and will be used in setters and getters.
5
+ *
6
+ * @export
7
+ * @abstract
8
+ * @class AccessorDeclaration
9
+ * @implements {ScopedDeclaration}
10
+ * @implements {TypedDeclaration}
11
+ * @implements {AbstractDeclaration}
12
+ */
13
+ export declare abstract class AccessorDeclaration implements ScopedDeclaration, StaticDeclaration, TypedDeclaration, AbstractDeclaration {
14
+ name: string;
15
+ visibility: DeclarationVisibility | undefined;
16
+ type: string | undefined;
17
+ isAbstract: boolean;
18
+ isStatic: boolean;
19
+ start?: number | undefined;
20
+ end?: number | undefined;
21
+ constructor(name: string, visibility: DeclarationVisibility | undefined, type: string | undefined, isAbstract: boolean, isStatic: boolean, start?: number | undefined, end?: number | undefined);
22
+ }
23
+ /**
24
+ * Getter declaration for a getter accessor of a class property.
25
+ *
26
+ * @export
27
+ * @class GetterDeclaration
28
+ * @extends {AccessorDeclaration}
29
+ */
30
+ export declare class GetterDeclaration extends AccessorDeclaration {
31
+ }
32
+ /**
33
+ * Setter declaration for a getter accessor of a class property.
34
+ *
35
+ * @export
36
+ * @class SetterDeclaration
37
+ * @extends {AccessorDeclaration}
38
+ */
39
+ export declare class SetterDeclaration extends AccessorDeclaration {
40
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SetterDeclaration = exports.GetterDeclaration = exports.AccessorDeclaration = void 0;
4
+ /**
5
+ * Property accessor declaration. This element represents the base and will be used in setters and getters.
6
+ *
7
+ * @export
8
+ * @abstract
9
+ * @class AccessorDeclaration
10
+ * @implements {ScopedDeclaration}
11
+ * @implements {TypedDeclaration}
12
+ * @implements {AbstractDeclaration}
13
+ */
14
+ class AccessorDeclaration {
15
+ constructor(name, visibility, type, isAbstract, isStatic, start, end) {
16
+ this.name = name;
17
+ this.visibility = visibility;
18
+ this.type = type;
19
+ this.isAbstract = isAbstract;
20
+ this.isStatic = isStatic;
21
+ this.start = start;
22
+ this.end = end;
23
+ }
24
+ }
25
+ exports.AccessorDeclaration = AccessorDeclaration;
26
+ /**
27
+ * Getter declaration for a getter accessor of a class property.
28
+ *
29
+ * @export
30
+ * @class GetterDeclaration
31
+ * @extends {AccessorDeclaration}
32
+ */
33
+ class GetterDeclaration extends AccessorDeclaration {
34
+ }
35
+ exports.GetterDeclaration = GetterDeclaration;
36
+ /**
37
+ * Setter declaration for a getter accessor of a class property.
38
+ *
39
+ * @export
40
+ * @class SetterDeclaration
41
+ * @extends {AccessorDeclaration}
42
+ */
43
+ class SetterDeclaration extends AccessorDeclaration {
44
+ }
45
+ exports.SetterDeclaration = SetterDeclaration;
@@ -0,0 +1,34 @@
1
+ import { AccessorDeclaration } from './AccessorDeclaration';
2
+ import { ConstructorDeclaration } from './ConstructorDeclaration';
3
+ import { ClassLikeDeclaration, ExportableDeclaration, GenericDeclaration } from './Declaration';
4
+ import { MethodDeclaration } from './MethodDeclaration';
5
+ import { PropertyDeclaration } from './PropertyDeclaration';
6
+ /**
7
+ * Class declaration that contains methods, properties and a constructor
8
+ *
9
+ * @export
10
+ * @class ClassDeclaration
11
+ * @implements {ClassLikeDeclaration}
12
+ * @implements {ExportableDeclaration}
13
+ * @implements {GenericDeclaration}
14
+ */
15
+ export declare class ClassDeclaration implements ClassLikeDeclaration, ExportableDeclaration, GenericDeclaration {
16
+ name: string;
17
+ isExported: boolean;
18
+ start?: number | undefined;
19
+ end?: number | undefined;
20
+ ctor: ConstructorDeclaration | undefined;
21
+ accessors: AccessorDeclaration[];
22
+ properties: PropertyDeclaration[];
23
+ methods: MethodDeclaration[];
24
+ typeParameters: string[] | undefined;
25
+ extends: {
26
+ name: string;
27
+ typeParameters: string[];
28
+ }[];
29
+ implements: {
30
+ name: string;
31
+ typeParameters: string[];
32
+ }[];
33
+ constructor(name: string, isExported: boolean, start?: number | undefined, end?: number | undefined);
34
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClassDeclaration = void 0;
4
+ /**
5
+ * Class declaration that contains methods, properties and a constructor
6
+ *
7
+ * @export
8
+ * @class ClassDeclaration
9
+ * @implements {ClassLikeDeclaration}
10
+ * @implements {ExportableDeclaration}
11
+ * @implements {GenericDeclaration}
12
+ */
13
+ class ClassDeclaration {
14
+ constructor(name, isExported, start, end) {
15
+ this.name = name;
16
+ this.isExported = isExported;
17
+ this.start = start;
18
+ this.end = end;
19
+ this.accessors = [];
20
+ this.properties = [];
21
+ this.methods = [];
22
+ this.extends = [];
23
+ this.implements = [];
24
+ }
25
+ }
26
+ exports.ClassDeclaration = ClassDeclaration;
@@ -0,0 +1,18 @@
1
+ import { CallableDeclaration } from './Declaration';
2
+ import { ParameterDeclaration } from './ParameterDeclaration';
3
+ import { VariableDeclaration } from './VariableDeclaration';
4
+ /**
5
+ * Constructor declaration that is contained in a class.
6
+ *
7
+ * @export
8
+ * @class ConstructorDeclaration
9
+ * @implements {CallableDeclaration}
10
+ */
11
+ export declare class ConstructorDeclaration implements CallableDeclaration {
12
+ name: string;
13
+ start?: number | undefined;
14
+ end?: number | undefined;
15
+ parameters: ParameterDeclaration[];
16
+ variables: VariableDeclaration[];
17
+ constructor(name: string, start?: number | undefined, end?: number | undefined);
18
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConstructorDeclaration = void 0;
4
+ /**
5
+ * Constructor declaration that is contained in a class.
6
+ *
7
+ * @export
8
+ * @class ConstructorDeclaration
9
+ * @implements {CallableDeclaration}
10
+ */
11
+ class ConstructorDeclaration {
12
+ constructor(name, start, end) {
13
+ this.name = name;
14
+ this.start = start;
15
+ this.end = end;
16
+ this.parameters = [];
17
+ this.variables = [];
18
+ }
19
+ }
20
+ exports.ConstructorDeclaration = ConstructorDeclaration;