Comments (7)
Hey, very thanks! I'll look into it, I think we just should look more on acorn ast.
from parse-function.
I'm starting to think it may be acorn
issue.
acorn.parse(EqualityChecker.prototype.isEqual.toString(), {ecmaVersion: 7})
throws a syntax error. Or maybe this is the reason why acorn.parse_dammit
exists. And that's why I using it, because such cases. I'm looking on ast that parse_dammit
returns for that, may need more if
s in the walk
:)
from parse-function.
There are few ways:
- detect if result of
toString()
begins withfunction
or at least the letterf
and if not prepend it - add
if
in the walk to listen toCallExpression
Second feels kinda wrong to me and I'm thinking it would mess the things more than it solve them.
from parse-function.
What you think about the fix?
edit: Ooops, labels should stay.
from parse-function.
As much as I am bewildered by the choice of substring check mechanism ([0] and [1] - I assume it's for performance reasons), this is exactly the workaround that I did in my code:
let functionString = methodFunction.toString();
if (functionString.slice(0, 8) !== 'function') {
functionString = 'function ' + functionString;
}
I agree that it is the sane thing to do. Checking for function calls is probably best left alone - there is another npm module for that (extracts call parameters), and it may be wise not to expand into that field.
from parse-function.
Yea.
extracts call parameters
You can try http://npm.im/function-arguments, it works for regular, generator and arrow functions. If you need support only for regular functions can use Sindre's fn-args
, it's lighter and probably faster.
It would be better choice to use one of them if you only need getting arguments.
from parse-function.
Oh sorry, i forget to publish. I doing it now :) v2.3.2
from parse-function.
Related Issues (20)
- Error when parsing a native function HOT 2
- Bug with arguments default value consisting of a list of expressions HOT 11
- fake issue
- v5.1.3 doesn't have a `dist/index.js` file HOT 5
- Ensure dist builds exists
- When default value consists of a list of expressions, default value is not returned as a string
- 5.2.0 has no dist folder HOT 4
- module and main entry points are not exporting the same API HOT 8
- Weekly Digest (10 February, 2019 - 17 February, 2019)
- Weekly Digest (17 February, 2019 - 24 February, 2019)
- Weekly Digest (24 February, 2019 - 3 March, 2019)
- Weekly Digest (3 March, 2019 - 10 March, 2019)
- Arrow function with inner function fails to parse HOT 7
- Function with named parameters is not parsed correctly HOT 1
- V5.3.2 Error: Cannot find module './utils' HOT 4
- Announcement (a bit late): moved to a `tunnckoCore/opensource` monorepo
- add "Plugins Architecture" and "Result" sections
- Strange parser error when an `if` statement is at the top of an async arrow function HOT 8
- Parse bound functions HOT 8
- npm version and github release are not in sync HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from parse-function.