hermes-parser 0.6.0 → 0.7.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.
@@ -104,6 +104,9 @@ class HermesToESTreeAdapter extends _HermesASTAdapter.default {
104
104
  case 'ClassPrivateProperty':
105
105
  return this.mapPrivateProperty(node);
106
106
 
107
+ case 'Property':
108
+ return this.mapProperty(node);
109
+
107
110
  default:
108
111
  return this.mapNodeDefault(node);
109
112
  }
@@ -222,6 +225,17 @@ class HermesToESTreeAdapter extends _HermesASTAdapter.default {
222
225
  return this.mapNodeDefault(node);
223
226
  }
224
227
 
228
+ mapProperty(nodeUnprocessed) {
229
+ const node = this.mapNodeDefault(nodeUnprocessed);
230
+
231
+ if (node.value.type === 'FunctionExpression') {
232
+ node.value.loc.start = node.key.loc.end;
233
+ node.value.range[0] = node.key.range[1];
234
+ }
235
+
236
+ return node;
237
+ }
238
+
225
239
  mapComment(node) {
226
240
  if (node.type === 'CommentBlock') {
227
241
  node.type = 'Block';
@@ -84,6 +84,8 @@ export default class HermesToESTreeAdapter extends HermesASTAdapter {
84
84
  case 'PrivateName':
85
85
  case 'ClassPrivateProperty':
86
86
  return this.mapPrivateProperty(node);
87
+ case 'Property':
88
+ return this.mapProperty(node);
87
89
  default:
88
90
  return this.mapNodeDefault(node);
89
91
  }
@@ -208,6 +210,17 @@ export default class HermesToESTreeAdapter extends HermesASTAdapter {
208
210
  return this.mapNodeDefault(node);
209
211
  }
210
212
 
213
+ mapProperty(nodeUnprocessed: HermesNode): HermesNode {
214
+ const node = this.mapNodeDefault(nodeUnprocessed);
215
+
216
+ if (node.value.type === 'FunctionExpression') {
217
+ node.value.loc.start = node.key.loc.end;
218
+ node.value.range[0] = node.key.range[1];
219
+ }
220
+
221
+ return node;
222
+ }
223
+
211
224
  mapComment(node: HermesNode): HermesNode {
212
225
  if (node.type === 'CommentBlock') {
213
226
  node.type = 'Block';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hermes-parser",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "A JavaScript parser built from the Hermes engine",
5
5
  "main": "dist/index.js",
6
6
  "license": "MIT",
@@ -9,10 +9,10 @@
9
9
  "url": "git@github.com:facebook/hermes.git"
10
10
  },
11
11
  "dependencies": {
12
- "hermes-estree": "0.6.0"
12
+ "hermes-estree": "0.7.0"
13
13
  },
14
14
  "devDependencies": {
15
- "hermes-transform": "0.6.0"
15
+ "hermes-transform": "0.7.0"
16
16
  },
17
17
  "files": [
18
18
  "dist"