@rightcapital/phpdoc-parser 0.6.2-renovate-lock-file-maintenance.2572.1.0 → 0.6.2

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 (179) hide show
  1. package/package.json +5 -4
  2. package/dist/index.d.ts +0 -85
  3. package/dist/index.js +0 -182
  4. package/dist/phpdoc-parser/ast/abstract-node-visitor.d.ts +0 -8
  5. package/dist/phpdoc-parser/ast/abstract-node-visitor.js +0 -18
  6. package/dist/phpdoc-parser/ast/base-node.d.ts +0 -10
  7. package/dist/phpdoc-parser/ast/base-node.js +0 -27
  8. package/dist/phpdoc-parser/ast/comment.d.ts +0 -7
  9. package/dist/phpdoc-parser/ast/comment.js +0 -14
  10. package/dist/phpdoc-parser/ast/const-expr/const-expr-array-item-node.d.ts +0 -8
  11. package/dist/phpdoc-parser/ast/const-expr/const-expr-array-item-node.js +0 -21
  12. package/dist/phpdoc-parser/ast/const-expr/const-expr-array-node.d.ts +0 -8
  13. package/dist/phpdoc-parser/ast/const-expr/const-expr-array-node.js +0 -17
  14. package/dist/phpdoc-parser/ast/const-expr/const-expr-false-node.d.ts +0 -5
  15. package/dist/phpdoc-parser/ast/const-expr/const-expr-false-node.js +0 -13
  16. package/dist/phpdoc-parser/ast/const-expr/const-expr-float-node.d.ts +0 -7
  17. package/dist/phpdoc-parser/ast/const-expr/const-expr-float-node.js +0 -17
  18. package/dist/phpdoc-parser/ast/const-expr/const-expr-integer-node.d.ts +0 -7
  19. package/dist/phpdoc-parser/ast/const-expr/const-expr-integer-node.js +0 -17
  20. package/dist/phpdoc-parser/ast/const-expr/const-expr-node.d.ts +0 -23
  21. package/dist/phpdoc-parser/ast/const-expr/const-expr-node.js +0 -40
  22. package/dist/phpdoc-parser/ast/const-expr/const-expr-null-node.d.ts +0 -5
  23. package/dist/phpdoc-parser/ast/const-expr/const-expr-null-node.js +0 -13
  24. package/dist/phpdoc-parser/ast/const-expr/const-expr-string-node.d.ts +0 -11
  25. package/dist/phpdoc-parser/ast/const-expr/const-expr-string-node.js +0 -48
  26. package/dist/phpdoc-parser/ast/const-expr/const-expr-true-node.d.ts +0 -5
  27. package/dist/phpdoc-parser/ast/const-expr/const-expr-true-node.js +0 -13
  28. package/dist/phpdoc-parser/ast/const-expr/const-fetch-node.d.ts +0 -8
  29. package/dist/phpdoc-parser/ast/const-expr/const-fetch-node.js +0 -21
  30. package/dist/phpdoc-parser/ast/node-traverser.d.ts +0 -11
  31. package/dist/phpdoc-parser/ast/node-traverser.js +0 -216
  32. package/dist/phpdoc-parser/ast/node-visitor/cloning-visitor.d.ts +0 -5
  33. package/dist/phpdoc-parser/ast/node-visitor/cloning-visitor.js +0 -14
  34. package/dist/phpdoc-parser/ast/node-visitor.d.ts +0 -11
  35. package/dist/phpdoc-parser/ast/node-visitor.js +0 -2
  36. package/dist/phpdoc-parser/ast/node.d.ts +0 -6
  37. package/dist/phpdoc-parser/ast/node.js +0 -2
  38. package/dist/phpdoc-parser/ast/php-doc/assert-tag-method-value-node.d.ts +0 -13
  39. package/dist/phpdoc-parser/ast/php-doc/assert-tag-method-value-node.js +0 -24
  40. package/dist/phpdoc-parser/ast/php-doc/assert-tag-property-value-node.d.ts +0 -13
  41. package/dist/phpdoc-parser/ast/php-doc/assert-tag-property-value-node.js +0 -24
  42. package/dist/phpdoc-parser/ast/php-doc/assert-tag-value-node.d.ts +0 -12
  43. package/dist/phpdoc-parser/ast/php-doc/assert-tag-value-node.js +0 -23
  44. package/dist/phpdoc-parser/ast/php-doc/deprecated-tag-value-node.d.ts +0 -7
  45. package/dist/phpdoc-parser/ast/php-doc/deprecated-tag-value-node.js +0 -17
  46. package/dist/phpdoc-parser/ast/php-doc/extends-tag-value-node.d.ts +0 -9
  47. package/dist/phpdoc-parser/ast/php-doc/extends-tag-value-node.js +0 -18
  48. package/dist/phpdoc-parser/ast/php-doc/generic-tag-value-node.d.ts +0 -7
  49. package/dist/phpdoc-parser/ast/php-doc/generic-tag-value-node.js +0 -17
  50. package/dist/phpdoc-parser/ast/php-doc/helpers.d.ts +0 -48
  51. package/dist/phpdoc-parser/ast/php-doc/helpers.js +0 -99
  52. package/dist/phpdoc-parser/ast/php-doc/implements-tag-value-node.d.ts +0 -9
  53. package/dist/phpdoc-parser/ast/php-doc/implements-tag-value-node.js +0 -18
  54. package/dist/phpdoc-parser/ast/php-doc/invalid-tag-value-node.d.ts +0 -10
  55. package/dist/phpdoc-parser/ast/php-doc/invalid-tag-value-node.js +0 -33
  56. package/dist/phpdoc-parser/ast/php-doc/method-tag-value-node.d.ts +0 -15
  57. package/dist/phpdoc-parser/ast/php-doc/method-tag-value-node.js +0 -27
  58. package/dist/phpdoc-parser/ast/php-doc/method-tag-value-parameter-node.d.ts +0 -13
  59. package/dist/phpdoc-parser/ast/php-doc/method-tag-value-parameter-node.js +0 -27
  60. package/dist/phpdoc-parser/ast/php-doc/mixin-tag-value-node.d.ts +0 -9
  61. package/dist/phpdoc-parser/ast/php-doc/mixin-tag-value-node.js +0 -18
  62. package/dist/phpdoc-parser/ast/php-doc/param-closure-this-tag-value-node.d.ts +0 -10
  63. package/dist/phpdoc-parser/ast/php-doc/param-closure-this-tag-value-node.js +0 -19
  64. package/dist/phpdoc-parser/ast/php-doc/param-immediately-invoked-callable-tag-value-node.d.ts +0 -8
  65. package/dist/phpdoc-parser/ast/php-doc/param-immediately-invoked-callable-tag-value-node.js +0 -18
  66. package/dist/phpdoc-parser/ast/php-doc/param-later-invoked-callable-tag-value-node.d.ts +0 -8
  67. package/dist/phpdoc-parser/ast/php-doc/param-later-invoked-callable-tag-value-node.js +0 -18
  68. package/dist/phpdoc-parser/ast/php-doc/param-out-tag-value-node.d.ts +0 -10
  69. package/dist/phpdoc-parser/ast/php-doc/param-out-tag-value-node.js +0 -19
  70. package/dist/phpdoc-parser/ast/php-doc/param-tag-value-node.d.ts +0 -12
  71. package/dist/phpdoc-parser/ast/php-doc/param-tag-value-node.js +0 -28
  72. package/dist/phpdoc-parser/ast/php-doc/php-doc-child-node.d.ts +0 -4
  73. package/dist/phpdoc-parser/ast/php-doc/php-doc-child-node.js +0 -10
  74. package/dist/phpdoc-parser/ast/php-doc/php-doc-node.d.ts +0 -36
  75. package/dist/phpdoc-parser/ast/php-doc/php-doc-node.js +0 -111
  76. package/dist/phpdoc-parser/ast/php-doc/php-doc-tag-node.d.ts +0 -9
  77. package/dist/phpdoc-parser/ast/php-doc/php-doc-tag-node.js +0 -18
  78. package/dist/phpdoc-parser/ast/php-doc/php-doc-tag-value-node.d.ts +0 -4
  79. package/dist/phpdoc-parser/ast/php-doc/php-doc-tag-value-node.js +0 -10
  80. package/dist/phpdoc-parser/ast/php-doc/php-doc-text-node.d.ts +0 -7
  81. package/dist/phpdoc-parser/ast/php-doc/php-doc-text-node.js +0 -17
  82. package/dist/phpdoc-parser/ast/php-doc/property-tag-value-node.d.ts +0 -10
  83. package/dist/phpdoc-parser/ast/php-doc/property-tag-value-node.js +0 -19
  84. package/dist/phpdoc-parser/ast/php-doc/pure-unless-callable-is-impure-tag-value-node.d.ts +0 -8
  85. package/dist/phpdoc-parser/ast/php-doc/pure-unless-callable-is-impure-tag-value-node.js +0 -18
  86. package/dist/phpdoc-parser/ast/php-doc/require-extends-tag-value-node.d.ts +0 -9
  87. package/dist/phpdoc-parser/ast/php-doc/require-extends-tag-value-node.js +0 -18
  88. package/dist/phpdoc-parser/ast/php-doc/require-implements-tag-value-node.d.ts +0 -9
  89. package/dist/phpdoc-parser/ast/php-doc/require-implements-tag-value-node.js +0 -18
  90. package/dist/phpdoc-parser/ast/php-doc/return-tag-value-node.d.ts +0 -9
  91. package/dist/phpdoc-parser/ast/php-doc/return-tag-value-node.js +0 -18
  92. package/dist/phpdoc-parser/ast/php-doc/sealed-tag-value-node.d.ts +0 -9
  93. package/dist/phpdoc-parser/ast/php-doc/sealed-tag-value-node.js +0 -18
  94. package/dist/phpdoc-parser/ast/php-doc/self-out-tag-value-node.d.ts +0 -9
  95. package/dist/phpdoc-parser/ast/php-doc/self-out-tag-value-node.js +0 -18
  96. package/dist/phpdoc-parser/ast/php-doc/template-tag-value-node.d.ts +0 -12
  97. package/dist/phpdoc-parser/ast/php-doc/template-tag-value-node.js +0 -26
  98. package/dist/phpdoc-parser/ast/php-doc/throws-tag-value-node.d.ts +0 -9
  99. package/dist/phpdoc-parser/ast/php-doc/throws-tag-value-node.js +0 -18
  100. package/dist/phpdoc-parser/ast/php-doc/type-alias-import-tag-value-node.d.ts +0 -10
  101. package/dist/phpdoc-parser/ast/php-doc/type-alias-import-tag-value-node.js +0 -22
  102. package/dist/phpdoc-parser/ast/php-doc/type-alias-tag-value-node.d.ts +0 -9
  103. package/dist/phpdoc-parser/ast/php-doc/type-alias-tag-value-node.js +0 -18
  104. package/dist/phpdoc-parser/ast/php-doc/typeless-param-tag-value-node.d.ts +0 -10
  105. package/dist/phpdoc-parser/ast/php-doc/typeless-param-tag-value-node.js +0 -22
  106. package/dist/phpdoc-parser/ast/php-doc/uses-tag-value-node.d.ts +0 -9
  107. package/dist/phpdoc-parser/ast/php-doc/uses-tag-value-node.js +0 -18
  108. package/dist/phpdoc-parser/ast/php-doc/var-tag-value-node.d.ts +0 -10
  109. package/dist/phpdoc-parser/ast/php-doc/var-tag-value-node.js +0 -19
  110. package/dist/phpdoc-parser/ast/type/array-shape-item-node.d.ts +0 -13
  111. package/dist/phpdoc-parser/ast/type/array-shape-item-node.js +0 -22
  112. package/dist/phpdoc-parser/ast/type/array-shape-node.d.ts +0 -20
  113. package/dist/phpdoc-parser/ast/type/array-shape-node.js +0 -41
  114. package/dist/phpdoc-parser/ast/type/array-shape-unsealed-type-node.d.ts +0 -8
  115. package/dist/phpdoc-parser/ast/type/array-shape-unsealed-type-node.js +0 -21
  116. package/dist/phpdoc-parser/ast/type/array-type-node.d.ts +0 -7
  117. package/dist/phpdoc-parser/ast/type/array-type-node.js +0 -25
  118. package/dist/phpdoc-parser/ast/type/callable-type-node.d.ts +0 -13
  119. package/dist/phpdoc-parser/ast/type/callable-type-node.js +0 -26
  120. package/dist/phpdoc-parser/ast/type/callable-type-parameter-node.d.ts +0 -11
  121. package/dist/phpdoc-parser/ast/type/callable-type-parameter-node.js +0 -26
  122. package/dist/phpdoc-parser/ast/type/conditional-type-for-parameter-node.d.ts +0 -11
  123. package/dist/phpdoc-parser/ast/type/conditional-type-for-parameter-node.js +0 -21
  124. package/dist/phpdoc-parser/ast/type/conditional-type-node.d.ts +0 -11
  125. package/dist/phpdoc-parser/ast/type/conditional-type-node.js +0 -21
  126. package/dist/phpdoc-parser/ast/type/const-type-node.d.ts +0 -8
  127. package/dist/phpdoc-parser/ast/type/const-type-node.js +0 -17
  128. package/dist/phpdoc-parser/ast/type/generic-type-node.d.ts +0 -15
  129. package/dist/phpdoc-parser/ast/type/generic-type-node.js +0 -37
  130. package/dist/phpdoc-parser/ast/type/identifier-type-node.d.ts +0 -7
  131. package/dist/phpdoc-parser/ast/type/identifier-type-node.js +0 -17
  132. package/dist/phpdoc-parser/ast/type/intersection-type-node.d.ts +0 -7
  133. package/dist/phpdoc-parser/ast/type/intersection-type-node.js +0 -25
  134. package/dist/phpdoc-parser/ast/type/invalid-type-node.d.ts +0 -10
  135. package/dist/phpdoc-parser/ast/type/invalid-type-node.js +0 -29
  136. package/dist/phpdoc-parser/ast/type/nullable-type-node.d.ts +0 -7
  137. package/dist/phpdoc-parser/ast/type/nullable-type-node.js +0 -17
  138. package/dist/phpdoc-parser/ast/type/object-shape-item-node.d.ts +0 -11
  139. package/dist/phpdoc-parser/ast/type/object-shape-item-node.js +0 -22
  140. package/dist/phpdoc-parser/ast/type/object-shape-node.d.ts +0 -8
  141. package/dist/phpdoc-parser/ast/type/object-shape-node.js +0 -17
  142. package/dist/phpdoc-parser/ast/type/offset-access-type-node.d.ts +0 -8
  143. package/dist/phpdoc-parser/ast/type/offset-access-type-node.js +0 -26
  144. package/dist/phpdoc-parser/ast/type/this-type-node.d.ts +0 -5
  145. package/dist/phpdoc-parser/ast/type/this-type-node.js +0 -13
  146. package/dist/phpdoc-parser/ast/type/type-node.d.ts +0 -40
  147. package/dist/phpdoc-parser/ast/type/type-node.js +0 -64
  148. package/dist/phpdoc-parser/ast/type/union-type-node.d.ts +0 -7
  149. package/dist/phpdoc-parser/ast/type/union-type-node.js +0 -25
  150. package/dist/phpdoc-parser/ast/types.d.ts +0 -14
  151. package/dist/phpdoc-parser/ast/types.js +0 -19
  152. package/dist/phpdoc-parser/lexer/lexer.d.ts +0 -82
  153. package/dist/phpdoc-parser/lexer/lexer.js +0 -146
  154. package/dist/phpdoc-parser/parser/const-expr-parser.d.ts +0 -14
  155. package/dist/phpdoc-parser/parser/const-expr-parser.js +0 -132
  156. package/dist/phpdoc-parser/parser/node-collecting-visitor.d.ts +0 -7
  157. package/dist/phpdoc-parser/parser/node-collecting-visitor.js +0 -15
  158. package/dist/phpdoc-parser/parser/parser-exception.d.ts +0 -16
  159. package/dist/phpdoc-parser/parser/parser-exception.js +0 -44
  160. package/dist/phpdoc-parser/parser/php-doc-parser.d.ts +0 -49
  161. package/dist/phpdoc-parser/parser/php-doc-parser.js +0 -604
  162. package/dist/phpdoc-parser/parser/string-unescaper.d.ts +0 -6
  163. package/dist/phpdoc-parser/parser/string-unescaper.js +0 -41
  164. package/dist/phpdoc-parser/parser/token-iterator.d.ts +0 -44
  165. package/dist/phpdoc-parser/parser/token-iterator.js +0 -243
  166. package/dist/phpdoc-parser/parser/type-parser.d.ts +0 -47
  167. package/dist/phpdoc-parser/parser/type-parser.js +0 -706
  168. package/dist/phpdoc-parser/parser-config.d.ts +0 -10
  169. package/dist/phpdoc-parser/parser-config.js +0 -12
  170. package/dist/phpdoc-parser/printer/diff-elem.d.ts +0 -12
  171. package/dist/phpdoc-parser/printer/diff-elem.js +0 -19
  172. package/dist/phpdoc-parser/printer/differ.d.ts +0 -10
  173. package/dist/phpdoc-parser/printer/differ.js +0 -111
  174. package/dist/phpdoc-parser/printer/printer.d.ts +0 -20
  175. package/dist/phpdoc-parser/printer/printer.js +0 -612
  176. package/dist/phpdoc-parser/transpiler/helpers.d.ts +0 -10
  177. package/dist/phpdoc-parser/transpiler/helpers.js +0 -73
  178. package/dist/phpdoc-parser/transpiler/php-doc-to-typescript-type-transpiler.d.ts +0 -26
  179. package/dist/phpdoc-parser/transpiler/php-doc-to-typescript-type-transpiler.js +0 -122
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createSourceFileRoot = createSourceFileRoot;
4
- exports.addStatementsToNode = addStatementsToNode;
5
- exports.createImportDeclarationNode = createImportDeclarationNode;
6
- exports.createExportDeclarationNode = createExportDeclarationNode;
7
- exports.createInterfaceNode = createInterfaceNode;
8
- exports.createCommentNode = createCommentNode;
9
- exports.createEnumNode = createEnumNode;
10
- exports.renderTsNodeToString = renderTsNodeToString;
11
- exports.renderTsSourceFileToString = renderTsSourceFileToString;
12
- const typescript_1 = require("typescript");
13
- function createSourceFileRoot(fileName, sourceText = '', scriptTarget = typescript_1.ScriptTarget.Latest, scriptKind = typescript_1.ScriptKind.TS) {
14
- const sourceFile = (0, typescript_1.createSourceFile)(fileName, sourceText, scriptTarget, true, scriptKind);
15
- return sourceFile;
16
- }
17
- function addStatementsToNode(sourceFile, newStatements) {
18
- const updatedStatements = typescript_1.factory.createNodeArray([
19
- ...sourceFile.statements,
20
- ...newStatements,
21
- ]);
22
- return typescript_1.factory.updateSourceFile(sourceFile, updatedStatements);
23
- }
24
- function createImportDeclarationNode(symbols, filePath) {
25
- const importClause = typescript_1.factory.createImportClause(true, undefined, typescript_1.factory.createNamedImports(symbols.map((symbol) => typescript_1.factory.createImportSpecifier(false, undefined, typescript_1.factory.createIdentifier(symbol)))));
26
- const moduleSpecifier = typescript_1.factory.createStringLiteral(filePath);
27
- const importDeclaration = typescript_1.factory.createImportDeclaration(undefined, importClause, moduleSpecifier);
28
- return importDeclaration;
29
- }
30
- function createExportDeclarationNode(symbols, moduleSpecifierString) {
31
- const exportSpecifiers = symbols.map((symbol) => typescript_1.factory.createExportSpecifier(false, undefined, typescript_1.factory.createIdentifier(symbol)));
32
- const namedExports = typescript_1.factory.createNamedExports(exportSpecifiers);
33
- const moduleSpecifier = moduleSpecifierString
34
- ? typescript_1.factory.createStringLiteral(moduleSpecifierString)
35
- : undefined;
36
- const exportDeclaration = typescript_1.factory.createExportDeclaration(undefined, false, namedExports, moduleSpecifier);
37
- return exportDeclaration;
38
- }
39
- function createInterfaceNode(interfaceName, members = [], typeParameters = [], heritageClauses = []) {
40
- const interfaceDeclaration = typescript_1.factory.createInterfaceDeclaration([typescript_1.factory.createModifier(typescript_1.SyntaxKind.ExportKeyword)], typescript_1.factory.createIdentifier(interfaceName), typeParameters, heritageClauses, members);
41
- return interfaceDeclaration;
42
- }
43
- function createCommentNode(commentText, isMultiLine = true, hasTrailingNewLine = true) {
44
- const emptyStatement = typescript_1.factory.createEmptyStatement();
45
- let formattedCommentText;
46
- if (isMultiLine) {
47
- formattedCommentText = `*\n * ${commentText.split('\n').join('\n * ')}\n `;
48
- }
49
- else {
50
- formattedCommentText = commentText;
51
- }
52
- const emptyStatementWithComment = (0, typescript_1.addSyntheticLeadingComment)(emptyStatement, isMultiLine
53
- ? typescript_1.SyntaxKind.MultiLineCommentTrivia
54
- : typescript_1.SyntaxKind.SingleLineCommentTrivia, formattedCommentText, hasTrailingNewLine);
55
- return emptyStatementWithComment;
56
- }
57
- function createEnumNode(enumName, members, modifiers) {
58
- const memberNodes = members.map(([key, value]) => typescript_1.factory.createEnumMember(key, typeof value === 'number'
59
- ? typescript_1.factory.createNumericLiteral(value)
60
- : typescript_1.factory.createStringLiteral(value)));
61
- const enumDeclaration = typescript_1.factory.createEnumDeclaration(modifiers.map((modifier) => typescript_1.factory.createToken(modifier)), typescript_1.factory.createIdentifier(enumName), memberNodes);
62
- return enumDeclaration;
63
- }
64
- function renderTsNodeToString(tsNode) {
65
- const printer = (0, typescript_1.createPrinter)({ newLine: typescript_1.NewLineKind.LineFeed });
66
- const resultFile = createSourceFileRoot('temp.ts');
67
- return printer.printNode(typescript_1.EmitHint.Unspecified, tsNode, resultFile);
68
- }
69
- function renderTsSourceFileToString(sourceFile) {
70
- const printer = (0, typescript_1.createPrinter)({ newLine: typescript_1.NewLineKind.LineFeed });
71
- const sourceFileContent = printer.printFile(sourceFile);
72
- return sourceFileContent;
73
- }
@@ -1,26 +0,0 @@
1
- import { type ImportDeclaration, type TypeNode } from 'typescript';
2
- import type { TypeNode as PhpDocTypeNode } from '../ast/type/type-node';
3
- export type NameNodePathResolver<T> = (this: T, nodeParts: string[]) => {
4
- path: string;
5
- importName: string;
6
- isTypeOnly: boolean;
7
- typeIdentifiers: string[];
8
- };
9
- export declare class PhpDocTypeNodeToTypescriptTypeNodeTranspiler {
10
- nameNodePathResolver: (nodeParts: string[]) => {
11
- path: string;
12
- importName: string;
13
- isTypeOnly: boolean;
14
- typeIdentifiers: string[];
15
- };
16
- constructor(nameNodePathResolver: (nodeParts: string[]) => {
17
- path: string;
18
- importName: string;
19
- isTypeOnly: boolean;
20
- typeIdentifiers: string[];
21
- });
22
- transpile(sourceTypeNode: PhpDocTypeNode): TypeNode;
23
- beforeTranspile(): void;
24
- getImportDeclarations(): ImportDeclaration[];
25
- protected importDeclarations: ImportDeclaration[];
26
- }
@@ -1,122 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PhpDocTypeNodeToTypescriptTypeNodeTranspiler = void 0;
4
- const typescript_1 = require("typescript");
5
- const const_expr_string_node_1 = require("../ast/const-expr/const-expr-string-node");
6
- const array_shape_node_1 = require("../ast/type/array-shape-node");
7
- const array_type_node_1 = require("../ast/type/array-type-node");
8
- const object_shape_node_1 = require("../ast/type/object-shape-node");
9
- const union_type_node_1 = require("../ast/type/union-type-node");
10
- class PhpDocTypeNodeToTypescriptTypeNodeTranspiler {
11
- constructor(nameNodePathResolver) {
12
- this.nameNodePathResolver = nameNodePathResolver;
13
- }
14
- transpile(sourceTypeNode) {
15
- if (sourceTypeNode instanceof union_type_node_1.UnionTypeNode) {
16
- return typescript_1.factory.createUnionTypeNode(sourceTypeNode.types.map(this.transpile.bind(this)));
17
- }
18
- if (sourceTypeNode instanceof array_type_node_1.ArrayTypeNode) {
19
- return typescript_1.factory.createArrayTypeNode(this.transpile(sourceTypeNode.type));
20
- }
21
- if (sourceTypeNode instanceof array_shape_node_1.ArrayShapeNode) {
22
- return typescript_1.factory.createTypeLiteralNode(sourceTypeNode.items.map((item) => {
23
- const keyName = item.keyName instanceof const_expr_string_node_1.ConstExprStringNode
24
- ? item.keyName.value
25
- : item.keyName.toString();
26
- return typescript_1.factory.createPropertySignature(undefined, keyName, item.optional
27
- ? typescript_1.factory.createToken(typescript_1.SyntaxKind.QuestionToken)
28
- : undefined, this.transpile(item.valueType));
29
- }));
30
- }
31
- if (sourceTypeNode instanceof object_shape_node_1.ObjectShapeNode) {
32
- return typescript_1.factory.createTypeLiteralNode(sourceTypeNode.items.map((item) => {
33
- const keyName = item.keyName instanceof const_expr_string_node_1.ConstExprStringNode
34
- ? item.keyName.value
35
- : item.keyName.toString();
36
- return typescript_1.factory.createPropertySignature(undefined, keyName, item.optional
37
- ? typescript_1.factory.createToken(typescript_1.SyntaxKind.QuestionToken)
38
- : undefined, this.transpile(item.valueType));
39
- }));
40
- }
41
- if (sourceTypeNode.isGenericTypeNode()) {
42
- if ([
43
- 'array',
44
- 'non-empty-array',
45
- 'list',
46
- 'non-empty-list',
47
- '\\Illuminate\\Support\\Collection',
48
- '\\Illuminate\\Database\\Eloquent\\Collection',
49
- ].includes(sourceTypeNode.type.name)) {
50
- if (sourceTypeNode.genericTypes.length === 1) {
51
- return typescript_1.factory.createArrayTypeNode(this.transpile(sourceTypeNode.genericTypes[0]));
52
- }
53
- if (sourceTypeNode.genericTypes.length === 2) {
54
- if (sourceTypeNode.genericTypes[0].isIdentifierTypeNode() &&
55
- ['int', 'integer', 'float', 'double'].includes(sourceTypeNode.genericTypes[0].name)) {
56
- return typescript_1.factory.createArrayTypeNode(this.transpile(sourceTypeNode.genericTypes[1]));
57
- }
58
- return typescript_1.factory.createTypeReferenceNode(typescript_1.factory.createIdentifier('Record'), [
59
- this.transpile(sourceTypeNode.genericTypes[0]),
60
- this.transpile(sourceTypeNode.genericTypes[1]),
61
- ]);
62
- }
63
- }
64
- throw Error('Not yet supported Generic type so far');
65
- }
66
- if (sourceTypeNode.isIdentifierTypeNode()) {
67
- if (['bool', 'boolean', 'true', 'false'].includes(sourceTypeNode.name)) {
68
- return typescript_1.factory.createKeywordTypeNode(typescript_1.SyntaxKind.BooleanKeyword);
69
- }
70
- if (['int', 'integer', 'float', 'double'].includes(sourceTypeNode.name)) {
71
- return typescript_1.factory.createKeywordTypeNode(typescript_1.SyntaxKind.NumberKeyword);
72
- }
73
- if (sourceTypeNode.name === 'string') {
74
- return typescript_1.factory.createKeywordTypeNode(typescript_1.SyntaxKind.StringKeyword);
75
- }
76
- if (sourceTypeNode.name === 'array-key') {
77
- return typescript_1.factory.createUnionTypeNode([
78
- typescript_1.factory.createKeywordTypeNode(typescript_1.SyntaxKind.StringKeyword),
79
- typescript_1.factory.createKeywordTypeNode(typescript_1.SyntaxKind.NumberKeyword),
80
- ]);
81
- }
82
- if (sourceTypeNode.name === 'scalar') {
83
- return typescript_1.factory.createUnionTypeNode([
84
- typescript_1.factory.createKeywordTypeNode(typescript_1.SyntaxKind.StringKeyword),
85
- typescript_1.factory.createKeywordTypeNode(typescript_1.SyntaxKind.NumberKeyword),
86
- typescript_1.factory.createKeywordTypeNode(typescript_1.SyntaxKind.BooleanKeyword),
87
- ]);
88
- }
89
- if (sourceTypeNode.name === 'mixed') {
90
- typescript_1.factory.createKeywordTypeNode(typescript_1.SyntaxKind.AnyKeyword);
91
- }
92
- if (sourceTypeNode.name === 'void') {
93
- return typescript_1.factory.createToken(typescript_1.SyntaxKind.VoidKeyword);
94
- }
95
- if (['\\Illuminate\\Http\\Resources\\MissingValue', 'null'].includes(sourceTypeNode.name)) {
96
- return typescript_1.factory.createLiteralTypeNode(typescript_1.factory.createNull());
97
- }
98
- if (/^[A-Z\\]/.test(sourceTypeNode.name)) {
99
- const nameNodeParts = sourceTypeNode.name.split('\\');
100
- const { path, isTypeOnly, importName, typeIdentifiers } = this.nameNodePathResolver(nameNodeParts);
101
- if (importName !== 'string' && path !== '') {
102
- this.importDeclarations.push(typescript_1.factory.createImportDeclaration(undefined, typescript_1.factory.createImportClause(isTypeOnly, undefined, typescript_1.factory.createNamedImports([
103
- typescript_1.factory.createImportSpecifier(false, undefined, typescript_1.factory.createIdentifier(importName)),
104
- ])), typescript_1.factory.createStringLiteral(path), undefined));
105
- }
106
- let typeNameNode = typescript_1.factory.createIdentifier(typeIdentifiers[0]);
107
- for (let i = 1; i < typeIdentifiers.length; i += 1) {
108
- typeNameNode = typescript_1.factory.createQualifiedName(typeNameNode, typescript_1.factory.createIdentifier(typeIdentifiers[i]));
109
- }
110
- return typescript_1.factory.createTypeReferenceNode(typeNameNode, undefined);
111
- }
112
- }
113
- return typescript_1.factory.createKeywordTypeNode(typescript_1.SyntaxKind.AnyKeyword);
114
- }
115
- beforeTranspile() {
116
- this.importDeclarations = [];
117
- }
118
- getImportDeclarations() {
119
- return this.importDeclarations;
120
- }
121
- }
122
- exports.PhpDocTypeNodeToTypescriptTypeNodeTranspiler = PhpDocTypeNodeToTypescriptTypeNodeTranspiler;