| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
I’m a bit concerned that the code has grown quite a lot. I wonder if there might be a cleaner implementation—does that seem difficult? |
Sorry, something went wrong.
… solution addressing complexity concerns (yahoo#195)
You raised valid points. I've taken a second look at it and realised it can be simpler. There are a few edge cases that the shorter implementation doesn't cover. I've noted example failing test cases for those edge cases I could think of: // Test 1: Named function with complex expressions
var objWithNamedFunction = {
process: function processData(data) {
const result = data.map(x=>x*2);
if(result.length>0) {
return result.filter(x=>x>10);
}
return [];
}
};
// Test 2: Arrow function with nested blocks
var objWithArrowFunction = {
transform: (x) => {
const doubled = x*2;
if(doubled>10) {
return doubled;
}
return 0;
}
};
// Test 3: Multiple functions with mixed edge cases
var objWithMultipleFunctions = {
fn1: function(){return 1;},
fn2: ()=>{return 2;}, // Arrow function spacing
fn3: function named(){return 3;}
}; |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
This PR addresses Issue #195 where the space option was not being applied to function body formatting. The implementation enhances the serializeFunc function to accept and utilize formatting options, ensuring function bodies are properly indented and formatted when the space option is provided. Added comprehensive test coverage for anonymous functions, named functions, arrow functions, multiple functions in the same object, and edge cases. All existing functionality remains intact with 100% test coverage maintained (80/80 tests passing).
I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.