Comments (8)
Out of curiosity, what's the expected result here?
from qs.
Also it appears that the old version of qs crashed with this also:
$ npm i [email protected]
[email protected] node_modules/qs
$ node
> var qs = require('qs');
> var a = {}; a.b = a; qs.parse({ 'foo[bar]': 'baz', 'foo[baz]': a })
RangeError: Maximum call stack size exceeded
from qs.
Hm, weird. All I really know is that something with domain
s used to work with the old qs
but not with the new qs
according to expressjs/connect-multiparty#11 . I don't use domain
s, so from the error I was just assuming it was a circular reference.
Anyway, I would assume that it would just copy the reference to the new object with different key names instead of trying to clone the value.
from qs.
So, removing the (useless?) clone
call at https://github.com/hapijs/qs/blob/master/lib/parse.js#L141 seem to fix this.
from qs.
Also, I verified that [email protected]
does not have the issue. You may have accidentally been using the wrong version of qs
when you were trying to test [email protected]
. Here is my output from testing the old 0.6.6 version:
$ npm install [email protected]
[email protected] node_modules\qs
$ node -pe 'require("qs/package").version'
0.6.6
$ node -pe 'a={};a.b=a;require("qs").parse({"a[0]": "b", "a[1]": a})'
{ a: [ 'b', { b: [Circular] } ] }
so, as you can see, 0.6.6 did work with circular structures.
from qs.
Actually, it seems like [email protected]
has the issue only with certain input, and not with other input, while the current qs
just always has a range error. Weird...
from qs.
I think I have a fix regardless :) Give me just a few minutes
from qs.
haha, no problem. I'm just trying to figure out this weirdness, haha :)
from qs.
Related Issues (20)
- Keeping nesting with custom decoder ? HOT 1
- qs.parse decoder option doesn't work on IOS web view environment HOT 1
- Unable to parse back a stringified object when too nested HOT 3
- `stringify` with `arrayFormat: 'comma'` does not encode commas in strings. HOT 13
- [spam]
- ESM & CJS - Built HOT 9
- Stringify null values HOT 9
- None. HOT 1
- Serialization for `Date` is not working when using `filter` option. HOT 3
- Issue using qs while using Express@5 HOT 7
- qs.stringify(json) and qs.parse(json) Results are inconsistent with expectations HOT 4
- Parsing the stringify result would lead to a different object HOT 1
- qs parse is not letting app load on production when imported from index.tsx HOT 1
- Feature request: export another endpoint that doesn't depend on function-bind and possibly other polyfills HOT 10
- Does not work in NextJS edge middleware HOT 3
- Stringify method with format: "RFC1738" does not encode parentheses -> ( ) HOT 3
- I'm appreciate with this library, however my new project use python. Are there any same packages in Python? HOT 1
- How can you keep the square brackets when using arrayFormat: comma HOT 4
- Add required key and type checking HOT 2
- qs.parse return different while the query is in different position 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 qs.