flow-parser 0.320.0 → 0.321.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.
Files changed (104) hide show
  1. package/README.md +14 -26
  2. package/package.json +6 -7
  3. package/flow_parser.js +0 -14585
  4. package/oxidized/oxidized-src/FlowParser.js +0 -249
  5. package/oxidized/oxidized-src/FlowParserDeserializer.js +0 -209
  6. package/oxidized/oxidized-src/FlowParserNodeDeserializers.js +0 -1781
  7. package/oxidized/oxidized-src/HermesParserDecodeUTF8String.js +0 -45
  8. package/oxidized/oxidized-src/ParserOptions.js +0 -8
  9. package/oxidized/oxidized-src/babel/TransformESTreeToBabel.js +0 -1063
  10. package/oxidized/oxidized-src/estree/StripFlowTypes.js +0 -158
  11. package/oxidized/oxidized-src/estree/StripFlowTypesForBabel.js +0 -191
  12. package/oxidized/oxidized-src/estree/TransformComponentSyntax.js +0 -764
  13. package/oxidized/oxidized-src/estree/TransformEnumSyntax.js +0 -92
  14. package/oxidized/oxidized-src/estree/TransformMatchSyntax.js +0 -990
  15. package/oxidized/oxidized-src/estree/TransformRecordSyntax.js +0 -283
  16. package/oxidized/oxidized-src/generated/ESTreeVisitorKeys.js +0 -234
  17. package/oxidized/oxidized-src/getModuleDocblock.js +0 -87
  18. package/oxidized/oxidized-src/index.js +0 -220
  19. package/oxidized/transform/SimpleTransform.js +0 -95
  20. package/oxidized/transform/astArrayMutationHelpers.js +0 -52
  21. package/oxidized/transform/astNodeMutationHelpers.js +0 -142
  22. package/oxidized/transform/print/comments/comments.js +0 -245
  23. package/oxidized/transform/print/comments/prettier/common/util.js +0 -235
  24. package/oxidized/transform/print/comments/prettier/language-js/comments.js +0 -663
  25. package/oxidized/transform/print/comments/prettier/language-js/loc.js +0 -30
  26. package/oxidized/transform/print/comments/prettier/language-js/printer-estree.js +0 -23
  27. package/oxidized/transform/print/comments/prettier/language-js/utils.js +0 -89
  28. package/oxidized/transform/print/comments/prettier/main/comments.js +0 -374
  29. package/oxidized/transform/print/comments/prettier/utils/get-last.js +0 -5
  30. package/oxidized/transform/print/detachedNodeTypes.js +0 -1
  31. package/oxidized/transform/print/print.js +0 -68
  32. package/oxidized/traverse/SimpleTraverser.js +0 -90
  33. package/oxidized/traverse/getVisitorKeys.js +0 -29
  34. package/oxidized/utils/Builders.js +0 -181
  35. package/oxidized/utils/GenID.js +0 -37
  36. package/oxidized/utils/createSyntaxError.js +0 -15
  37. package/oxidized/utils/isReservedWord.js +0 -53
  38. package/oxidized/utils/mutateESTreeASTForPrettier.js +0 -85
  39. /package/{oxidized → dist}/FlowParser.js +0 -0
  40. /package/{oxidized → dist}/FlowParser.js.flow +0 -0
  41. /package/{oxidized → dist}/FlowParserDeserializer.js +0 -0
  42. /package/{oxidized → dist}/FlowParserDeserializer.js.flow +0 -0
  43. /package/{oxidized → dist}/FlowParserNodeDeserializers.js +0 -0
  44. /package/{oxidized → dist}/FlowParserNodeDeserializers.js.flow +0 -0
  45. /package/{oxidized → dist}/FlowParserWASM.js +0 -0
  46. /package/{oxidized → dist}/FlowParserWASM.js.flow +0 -0
  47. /package/{oxidized → dist}/HermesAST.js.flow +0 -0
  48. /package/{oxidized → dist}/HermesParserDecodeUTF8String.js +0 -0
  49. /package/{oxidized → dist}/HermesParserDecodeUTF8String.js.flow +0 -0
  50. /package/{oxidized → dist}/ParserOptions.js +0 -0
  51. /package/{oxidized → dist}/ParserOptions.js.flow +0 -0
  52. /package/{oxidized → dist}/babel/TransformESTreeToBabel.js +0 -0
  53. /package/{oxidized → dist}/babel/TransformESTreeToBabel.js.flow +0 -0
  54. /package/{oxidized → dist}/estree/StripFlowTypes.js +0 -0
  55. /package/{oxidized → dist}/estree/StripFlowTypes.js.flow +0 -0
  56. /package/{oxidized → dist}/estree/StripFlowTypesForBabel.js +0 -0
  57. /package/{oxidized → dist}/estree/StripFlowTypesForBabel.js.flow +0 -0
  58. /package/{oxidized → dist}/estree/TransformComponentSyntax.js +0 -0
  59. /package/{oxidized → dist}/estree/TransformComponentSyntax.js.flow +0 -0
  60. /package/{oxidized → dist}/estree/TransformEnumSyntax.js +0 -0
  61. /package/{oxidized → dist}/estree/TransformEnumSyntax.js.flow +0 -0
  62. /package/{oxidized → dist}/estree/TransformMatchSyntax.js +0 -0
  63. /package/{oxidized → dist}/estree/TransformMatchSyntax.js.flow +0 -0
  64. /package/{oxidized → dist}/estree/TransformRecordSyntax.js +0 -0
  65. /package/{oxidized → dist}/estree/TransformRecordSyntax.js.flow +0 -0
  66. /package/{oxidized → dist}/generated/ESTreeVisitorKeys.js +0 -0
  67. /package/{oxidized → dist}/generated/ESTreeVisitorKeys.js.flow +0 -0
  68. /package/{oxidized → dist}/getModuleDocblock.js +0 -0
  69. /package/{oxidized → dist}/getModuleDocblock.js.flow +0 -0
  70. /package/{oxidized → dist}/index.js +0 -0
  71. /package/{oxidized → dist}/index.js.flow +0 -0
  72. /package/{oxidized/oxidized-src → dist}/transform/SimpleTransform.js +0 -0
  73. /package/{oxidized → dist}/transform/SimpleTransform.js.flow +0 -0
  74. /package/{oxidized/oxidized-src → dist}/transform/astArrayMutationHelpers.js +0 -0
  75. /package/{oxidized → dist}/transform/astArrayMutationHelpers.js.flow +0 -0
  76. /package/{oxidized/oxidized-src → dist}/transform/astNodeMutationHelpers.js +0 -0
  77. /package/{oxidized → dist}/transform/astNodeMutationHelpers.js.flow +0 -0
  78. /package/{oxidized/oxidized-src → dist}/transform/print/comments/comments.js +0 -0
  79. /package/{oxidized → dist}/transform/print/comments/comments.js.flow +0 -0
  80. /package/{oxidized/oxidized-src → dist}/transform/print/comments/prettier/common/util.js +0 -0
  81. /package/{oxidized/oxidized-src → dist}/transform/print/comments/prettier/language-js/comments.js +0 -0
  82. /package/{oxidized/oxidized-src → dist}/transform/print/comments/prettier/language-js/loc.js +0 -0
  83. /package/{oxidized/oxidized-src → dist}/transform/print/comments/prettier/language-js/printer-estree.js +0 -0
  84. /package/{oxidized/oxidized-src → dist}/transform/print/comments/prettier/language-js/utils.js +0 -0
  85. /package/{oxidized/oxidized-src → dist}/transform/print/comments/prettier/main/comments.js +0 -0
  86. /package/{oxidized/oxidized-src → dist}/transform/print/comments/prettier/utils/get-last.js +0 -0
  87. /package/{oxidized/oxidized-src → dist}/transform/print/detachedNodeTypes.js +0 -0
  88. /package/{oxidized → dist}/transform/print/detachedNodeTypes.js.flow +0 -0
  89. /package/{oxidized/oxidized-src → dist}/transform/print/print.js +0 -0
  90. /package/{oxidized → dist}/transform/print/print.js.flow +0 -0
  91. /package/{oxidized/oxidized-src → dist}/traverse/SimpleTraverser.js +0 -0
  92. /package/{oxidized → dist}/traverse/SimpleTraverser.js.flow +0 -0
  93. /package/{oxidized/oxidized-src → dist}/traverse/getVisitorKeys.js +0 -0
  94. /package/{oxidized → dist}/traverse/getVisitorKeys.js.flow +0 -0
  95. /package/{oxidized/oxidized-src → dist}/utils/Builders.js +0 -0
  96. /package/{oxidized → dist}/utils/Builders.js.flow +0 -0
  97. /package/{oxidized/oxidized-src → dist}/utils/GenID.js +0 -0
  98. /package/{oxidized → dist}/utils/GenID.js.flow +0 -0
  99. /package/{oxidized/oxidized-src → dist}/utils/createSyntaxError.js +0 -0
  100. /package/{oxidized → dist}/utils/createSyntaxError.js.flow +0 -0
  101. /package/{oxidized/oxidized-src → dist}/utils/isReservedWord.js +0 -0
  102. /package/{oxidized → dist}/utils/isReservedWord.js.flow +0 -0
  103. /package/{oxidized/oxidized-src → dist}/utils/mutateESTreeASTForPrettier.js +0 -0
  104. /package/{oxidized → dist}/utils/mutateESTreeASTForPrettier.js.flow +0 -0
@@ -1,158 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.transformProgram = transformProgram;
7
-
8
- var _SimpleTransform = require("../transform/SimpleTransform");
9
-
10
- const nodeWith = _SimpleTransform.SimpleTransform.nodeWith;
11
-
12
- function transformProgram(program, _options) {
13
- return _SimpleTransform.SimpleTransform.transformProgram(program, {
14
- transform(node) {
15
- switch (node.type) {
16
- case 'AsExpression':
17
- case 'AsConstExpression':
18
- case 'TypeCastExpression':
19
- {
20
- return node.expression;
21
- }
22
-
23
- case 'CallExpression':
24
- case 'NewExpression':
25
- {
26
- if (node.typeArguments != null) {
27
- return nodeWith(node, {
28
- typeArguments: null
29
- });
30
- }
31
-
32
- return node;
33
- }
34
-
35
- case 'ObjectPattern':
36
- case 'ArrayPattern':
37
- case 'Identifier':
38
- {
39
- if (node.typeAnnotation != null) {
40
- return nodeWith(node, {
41
- typeAnnotation: null
42
- });
43
- }
44
-
45
- return node;
46
- }
47
-
48
- case 'DeclareClass':
49
- case 'DeclareFunction':
50
- case 'DeclareInterface':
51
- case 'DeclareModule':
52
- case 'DeclareModuleExports':
53
- case 'DeclareNamespace':
54
- case 'DeclareOpaqueType':
55
- case 'DeclareTypeAlias':
56
- case 'DeclareVariable':
57
- case 'InterfaceDeclaration':
58
- case 'OpaqueType':
59
- case 'TypeAlias':
60
- {
61
- return null;
62
- }
63
-
64
- case 'FunctionDeclaration':
65
- case 'ArrowFunctionExpression':
66
- case 'FunctionExpression':
67
- {
68
- const newParams = [];
69
-
70
- for (let i = 0; i < node.params.length; i++) {
71
- if (i === 0 && node.params[0].type === 'Identifier' && node.params[0].name === 'this') {
72
- continue;
73
- }
74
-
75
- let param = node.params[i];
76
-
77
- if (param.type === 'AssignmentPattern') {
78
- param = param.left;
79
- }
80
-
81
- if (param.optional === true) {
82
- param = nodeWith(param, {
83
- optional: false
84
- });
85
- }
86
-
87
- newParams.push(param);
88
- }
89
-
90
- return nodeWith(node, {
91
- params: newParams,
92
- returnType: null,
93
- typeParameters: null,
94
- predicate: null
95
- });
96
- }
97
-
98
- case 'ClassDeclaration':
99
- case 'ClassExpression':
100
- {
101
- return nodeWith(node, {
102
- typeParameters: null,
103
- superTypeArguments: null,
104
- implements: [],
105
- decorators: []
106
- });
107
- }
108
-
109
- case 'PropertyDefinition':
110
- {
111
- return nodeWith(node, {
112
- typeAnnotation: null,
113
- variance: null,
114
- declare: false,
115
- optional: false
116
- });
117
- }
118
-
119
- case 'ImportDeclaration':
120
- {
121
- if (node.importKind === 'type' || node.importKind === 'typeof') {
122
- return null;
123
- }
124
-
125
- const nonTypeSpecifiers = node.specifiers.filter(s => s.type !== 'ImportSpecifier' || s.importKind !== 'type' && s.importKind !== 'typeof');
126
-
127
- if (nonTypeSpecifiers.length === 0) {
128
- return null;
129
- }
130
-
131
- if (nonTypeSpecifiers.length === node.specifiers.length) {
132
- return node;
133
- }
134
-
135
- return nodeWith(node, {
136
- specifiers: nonTypeSpecifiers
137
- });
138
- }
139
-
140
- case 'ExportAllDeclaration':
141
- case 'ExportNamedDeclaration':
142
- {
143
- if (node.exportKind === 'type') {
144
- return null;
145
- }
146
-
147
- return node;
148
- }
149
-
150
- default:
151
- {
152
- return node;
153
- }
154
- }
155
- }
156
-
157
- });
158
- }
@@ -1,191 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.transformProgram = transformProgram;
7
-
8
- var _SimpleTransform = require("../transform/SimpleTransform");
9
-
10
- var _createSyntaxError = require("../utils/createSyntaxError");
11
-
12
- const nodeWith = _SimpleTransform.SimpleTransform.nodeWith;
13
- const EMPTY_PARENT = null;
14
-
15
- function createSimpleGenericTypeAnnotation(name, nodeForLoc) {
16
- return {
17
- type: 'GenericTypeAnnotation',
18
- id: {
19
- type: 'Identifier',
20
- name,
21
- optional: false,
22
- typeAnnotation: null,
23
- loc: nodeForLoc.loc,
24
- range: nodeForLoc.range,
25
- parent: EMPTY_PARENT
26
- },
27
- typeParameters: null,
28
- loc: nodeForLoc.loc,
29
- range: nodeForLoc.range,
30
- parent: nodeForLoc.parent
31
- };
32
- }
33
-
34
- function createAnyTypeAnnotation(node) {
35
- return {
36
- type: 'AnyTypeAnnotation',
37
- loc: node.loc,
38
- range: node.range,
39
- parent: node.parent
40
- };
41
- }
42
-
43
- function declareVariableDeclarator(id, node) {
44
- return {
45
- type: 'VariableDeclarator',
46
- id,
47
- init: null,
48
- loc: node.loc,
49
- range: node.range,
50
- parent: EMPTY_PARENT
51
- };
52
- }
53
-
54
- function mapDeclareEnum(node) {
55
- const id = nodeWith(node.id, {
56
- typeAnnotation: {
57
- type: 'TypeAnnotation',
58
- typeAnnotation: createAnyTypeAnnotation(node.body),
59
- loc: node.body.loc,
60
- range: node.body.range,
61
- parent: EMPTY_PARENT
62
- }
63
- });
64
- return {
65
- type: 'DeclareVariable',
66
- kind: 'const',
67
- declarations: [declareVariableDeclarator(id, node)],
68
- implicitDeclare: false,
69
- loc: node.loc,
70
- range: node.range,
71
- parent: node.parent
72
- };
73
- }
74
-
75
- function mapDeclareNamespace(node) {
76
- const id = nodeWith(node.id, {
77
- typeAnnotation: {
78
- type: 'TypeAnnotation',
79
- typeAnnotation: createAnyTypeAnnotation(node.body),
80
- loc: node.body.loc,
81
- range: node.body.range,
82
- parent: EMPTY_PARENT
83
- }
84
- });
85
- return {
86
- type: 'DeclareVariable',
87
- kind: 'const',
88
- declarations: [declareVariableDeclarator(id, node)],
89
- implicitDeclare: false,
90
- loc: node.loc,
91
- range: node.range,
92
- parent: node.parent
93
- };
94
- }
95
-
96
- function mapFunction(node) {
97
- if (node.params.length !== 0 && node.params[0].name === 'this') {
98
- return nodeWith(node, {
99
- params: node.params.slice(1)
100
- });
101
- }
102
-
103
- return node;
104
- }
105
-
106
- function mapQualifiedTypeofIdentifier(node) {
107
- return {
108
- type: 'QualifiedTypeIdentifier',
109
- qualification: node.qualification.type === 'QualifiedTypeofIdentifier' ? mapQualifiedTypeofIdentifier(node.qualification) : node.qualification,
110
- id: node.id,
111
- loc: node.loc,
112
- range: node.range,
113
- parent: node.parent
114
- };
115
- }
116
-
117
- function transformProgram(program, _options) {
118
- return _SimpleTransform.SimpleTransform.transformProgram(program, {
119
- transform(node) {
120
- switch (node.type) {
121
- case 'SymbolTypeAnnotation':
122
- {
123
- return createSimpleGenericTypeAnnotation('symbol', node);
124
- }
125
-
126
- case 'BigIntTypeAnnotation':
127
- {
128
- return createSimpleGenericTypeAnnotation('bigint', node);
129
- }
130
-
131
- case 'ObjectTypeAnnotation':
132
- {
133
- const shouldStrip = node.properties.some(prop => prop.type === 'ObjectTypeMappedTypeProperty');
134
-
135
- if (shouldStrip) {
136
- return createAnyTypeAnnotation(node);
137
- }
138
-
139
- return node;
140
- }
141
-
142
- case 'ObjectTypeMappedTypeProperty':
143
- {
144
- throw (0, _createSyntaxError.createSyntaxError)(node, `Invalid AST structure, ObjectTypeMappedTypeProperty found outside of an ObjectTypeAnnotation`);
145
- }
146
-
147
- case 'IndexedAccessType':
148
- case 'OptionalIndexedAccessType':
149
- case 'KeyofTypeAnnotation':
150
- case 'ConditionalTypeAnnotation':
151
- case 'InferTypeAnnotation':
152
- case 'TupleTypeLabeledElement':
153
- case 'TupleTypeSpreadElement':
154
- case 'ComponentTypeAnnotation':
155
- case 'HookTypeAnnotation':
156
- case 'TypeOperator':
157
- case 'TypePredicate':
158
- {
159
- return createAnyTypeAnnotation(node);
160
- }
161
-
162
- case 'QualifiedTypeofIdentifier':
163
- {
164
- return mapQualifiedTypeofIdentifier(node);
165
- }
166
-
167
- case 'DeclareEnum':
168
- {
169
- return mapDeclareEnum(node);
170
- }
171
-
172
- case 'DeclareNamespace':
173
- {
174
- return mapDeclareNamespace(node);
175
- }
176
-
177
- case 'FunctionDeclaration':
178
- case 'FunctionExpression':
179
- {
180
- return mapFunction(node);
181
- }
182
-
183
- default:
184
- {
185
- return node;
186
- }
187
- }
188
- }
189
-
190
- });
191
- }