From 749a58467c1a28744de66d5193a1a19c079927e0 Mon Sep 17 00:00:00 2001 From: Ryan Wheale Date: Fri, 9 Apr 2021 14:22:19 -0600 Subject: [PATCH] [Docs] add note and links for coercing primitive values (#408) See #91 --- .editorconfig | 1 + README.md | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/.editorconfig b/.editorconfig index 91040dde..0ea91d99 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,6 +8,7 @@ charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true max_line_length = 160 +quote_type = single [test/*] max_line_length = off diff --git a/README.md b/README.md index 2b6cab13..cff8ac1d 100644 --- a/README.md +++ b/README.md @@ -280,6 +280,17 @@ assert.deepEqual(arraysOfObjects, { a: ['b', 'c'] }) ``` (_this cannot convert nested objects, such as `a={b:1},{c:d}`_) +### Parsing primitive/scalar values (numbers, booleans, null, etc) + +By default, all values are parsed as strings. This behavior will not change and is explained in [issue #91](https://github.com/ljharb/qs/issues/91). + +```javascript +var primitiveValues = qs.parse('a=15&b=true&c=null'); +assert.deepEqual(primitiveValues, { a: '15', b: 'true', c: 'null' }); +``` + +If you wish to auto-convert values which look like numbers, booleans, and other values into their primitive counterparts, you can use the [query-types Express JS middleware](https://github.com/xpepermint/query-types) which will auto-convert all request query parameters. + ### Stringifying [](#preventEval)