fsevents 1.0.15 → 1.1.1
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.
Potentially problematic release.
This version of fsevents might be problematic. Click here for more details.
- package/fsevents.js +3 -0
- package/install.js +7 -0
- package/lib/binding/Release/node-v48-darwin-x64/fse.node +0 -0
- package/node_modules/abbrev/abbrev.js +0 -1
- package/node_modules/abbrev/package.json +32 -21
- package/node_modules/ansi-regex/index.js +1 -1
- package/node_modules/ansi-regex/package.json +61 -42
- package/node_modules/ansi-regex/readme.md +10 -2
- package/node_modules/ansi-styles/package.json +27 -19
- package/node_modules/aproba/README.md +33 -3
- package/node_modules/aproba/index.js +71 -30
- package/node_modules/aproba/package.json +30 -22
- package/node_modules/are-we-there-yet/package.json +14 -6
- package/node_modules/asn1/package.json +16 -8
- package/node_modules/assert-plus/package.json +16 -8
- package/node_modules/{node-uuid/LICENSE.md → asynckit/LICENSE} +1 -1
- package/node_modules/asynckit/README.md +233 -0
- package/node_modules/asynckit/bench.js +76 -0
- package/node_modules/asynckit/index.js +6 -0
- package/node_modules/asynckit/lib/abort.js +29 -0
- package/node_modules/asynckit/lib/async.js +34 -0
- package/node_modules/asynckit/lib/defer.js +26 -0
- package/node_modules/asynckit/lib/iterate.js +75 -0
- package/node_modules/asynckit/lib/readable_asynckit.js +91 -0
- package/node_modules/asynckit/lib/readable_parallel.js +25 -0
- package/node_modules/asynckit/lib/readable_serial.js +25 -0
- package/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
- package/node_modules/asynckit/lib/state.js +37 -0
- package/node_modules/asynckit/lib/streamify.js +141 -0
- package/node_modules/asynckit/lib/terminator.js +29 -0
- package/node_modules/asynckit/package.json +126 -0
- package/node_modules/asynckit/parallel.js +43 -0
- package/node_modules/asynckit/serial.js +17 -0
- package/node_modules/asynckit/serialOrdered.js +75 -0
- package/node_modules/asynckit/stream.js +21 -0
- package/node_modules/aws-sign2/package.json +15 -7
- package/node_modules/aws4/README.md +9 -0
- package/node_modules/aws4/aws4.js +21 -7
- package/node_modules/aws4/package.json +62 -54
- package/node_modules/balanced-match/package.json +27 -19
- package/node_modules/bcrypt-pbkdf/README.md +39 -0
- package/node_modules/bcrypt-pbkdf/index.js +556 -0
- package/node_modules/bcrypt-pbkdf/package.json +84 -0
- package/node_modules/block-stream/package.json +15 -7
- package/node_modules/boom/package.json +14 -6
- package/node_modules/brace-expansion/index.js +10 -0
- package/node_modules/brace-expansion/package.json +35 -27
- package/node_modules/buffer-shims/package.json +16 -7
- package/node_modules/caseless/package.json +18 -10
- package/node_modules/chalk/package.json +30 -22
- package/node_modules/code-point-at/index.js +3 -4
- package/node_modules/code-point-at/package.json +40 -30
- package/node_modules/code-point-at/readme.md +2 -4
- package/node_modules/combined-stream/package.json +15 -7
- package/node_modules/commander/package.json +16 -8
- package/node_modules/concat-map/package.json +30 -22
- package/node_modules/console-control-strings/package.json +15 -7
- package/node_modules/core-util-is/package.json +22 -14
- package/node_modules/cryptiles/package.json +14 -6
- package/node_modules/dashdash/CHANGES.md +364 -0
- package/node_modules/dashdash/LICENSE.txt +24 -0
- package/node_modules/dashdash/etc/dashdash.bash_completion.in +4 -3
- package/node_modules/dashdash/node_modules/assert-plus/package.json +16 -8
- package/node_modules/dashdash/package.json +33 -24
- package/node_modules/debug/package.json +20 -12
- package/node_modules/deep-extend/package.json +23 -15
- package/node_modules/delayed-stream/package.json +15 -7
- package/node_modules/delegates/package.json +14 -6
- package/node_modules/ecc-jsbn/package.json +17 -9
- package/node_modules/escape-string-regexp/package.json +20 -12
- package/node_modules/extend/package.json +16 -8
- package/node_modules/extsprintf/package.json +14 -6
- package/node_modules/forever-agent/package.json +15 -7
- package/node_modules/form-data/README.md +7 -8
- package/node_modules/form-data/lib/browser.js +1 -1
- package/node_modules/form-data/lib/form_data.js +101 -72
- package/node_modules/form-data/lib/populate.js +6 -5
- package/node_modules/form-data/package.json +68 -52
- package/node_modules/fs.realpath/package.json +19 -11
- package/node_modules/fstream/package.json +15 -7
- package/node_modules/fstream-ignore/package.json +15 -7
- package/node_modules/gauge/CHANGELOG.md +24 -0
- package/node_modules/gauge/README.md +4 -0
- package/node_modules/gauge/index.js +16 -9
- package/node_modules/gauge/package.json +37 -29
- package/node_modules/generate-function/package.json +16 -8
- package/node_modules/generate-object-property/package.json +14 -6
- package/node_modules/getpass/node_modules/assert-plus/package.json +16 -8
- package/node_modules/getpass/package.json +16 -8
- package/node_modules/glob/README.md +3 -0
- package/node_modules/glob/common.js +6 -1
- package/node_modules/glob/glob.js +23 -14
- package/node_modules/glob/package.json +29 -21
- package/node_modules/glob/sync.js +29 -11
- package/node_modules/graceful-fs/README.md +1 -1
- package/node_modules/graceful-fs/graceful-fs.js +23 -14
- package/node_modules/graceful-fs/package.json +35 -27
- package/node_modules/graceful-fs/polyfills.js +99 -21
- package/node_modules/graceful-readlink/package.json +14 -6
- package/node_modules/har-validator/package.json +16 -8
- package/node_modules/has-ansi/package.json +29 -21
- package/node_modules/has-unicode/package.json +18 -10
- package/node_modules/hawk/package.json +18 -10
- package/node_modules/hoek/package.json +14 -6
- package/node_modules/http-signature/package.json +14 -6
- package/node_modules/inflight/inflight.js +22 -12
- package/node_modules/inflight/package.json +28 -20
- package/node_modules/inherits/inherits.js +7 -1
- package/node_modules/inherits/package.json +41 -21
- package/node_modules/ini/package.json +15 -7
- package/node_modules/is-fullwidth-code-point/package.json +27 -19
- package/node_modules/is-my-json-valid/index.js +10 -0
- package/node_modules/is-my-json-valid/package.json +36 -20
- package/node_modules/is-my-json-valid/test/misc.js +24 -0
- package/node_modules/is-property/package.json +19 -11
- package/node_modules/is-typedarray/package.json +16 -8
- package/node_modules/isarray/package.json +28 -20
- package/node_modules/isstream/package.json +19 -11
- package/node_modules/jodid25519/package.json +18 -10
- package/node_modules/jsbn/index.js +8 -9
- package/node_modules/jsbn/package.json +30 -18
- package/node_modules/json-schema/lib/links.js +17 -3
- package/node_modules/json-schema/lib/validate.js +18 -5
- package/node_modules/json-schema/package.json +32 -18
- package/node_modules/json-stringify-safe/package.json +18 -10
- package/node_modules/{async/LICENSE → jsonpointer/LICENSE.md} +3 -1
- package/node_modules/jsonpointer/README.md +17 -10
- package/node_modules/jsonpointer/jsonpointer.js +73 -56
- package/node_modules/jsonpointer/package.json +47 -26
- package/node_modules/jsprim/CHANGES.md +4 -0
- package/node_modules/jsprim/package.json +25 -17
- package/node_modules/mime-db/HISTORY.md +50 -0
- package/node_modules/mime-db/db.json +126 -2
- package/node_modules/mime-db/package.json +43 -30
- package/node_modules/mime-types/HISTORY.md +19 -0
- package/node_modules/mime-types/index.js +8 -8
- package/node_modules/mime-types/package.json +32 -19
- package/node_modules/minimatch/minimatch.js +19 -20
- package/node_modules/minimatch/package.json +25 -17
- package/node_modules/minimist/package.json +24 -16
- package/node_modules/mkdirp/package.json +21 -13
- package/node_modules/ms/package.json +14 -6
- package/node_modules/node-pre-gyp/CHANGELOG.md +20 -0
- package/node_modules/node-pre-gyp/README.md +574 -0
- package/node_modules/node-pre-gyp/appveyor.yml +19 -9
- package/node_modules/node-pre-gyp/lib/install.js +31 -7
- package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +3 -1
- package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +140 -0
- package/node_modules/node-pre-gyp/package.json +52 -48
- package/node_modules/nopt/package.json +19 -11
- package/node_modules/npmlog/CHANGELOG.md +9 -0
- package/node_modules/npmlog/README.md +7 -1
- package/node_modules/npmlog/log.js +12 -8
- package/node_modules/npmlog/package.json +30 -22
- package/node_modules/number-is-nan/package.json +39 -30
- package/node_modules/number-is-nan/readme.md +1 -3
- package/node_modules/oauth-sign/package.json +15 -7
- package/node_modules/object-assign/index.js +11 -4
- package/node_modules/object-assign/package.json +42 -30
- package/node_modules/object-assign/readme.md +8 -3
- package/node_modules/once/README.md +28 -0
- package/node_modules/once/once.js +21 -0
- package/node_modules/once/package.json +31 -20
- package/node_modules/path-is-absolute/index.js +5 -5
- package/node_modules/path-is-absolute/package.json +45 -31
- package/node_modules/path-is-absolute/readme.md +19 -11
- package/node_modules/pinkie/package.json +18 -10
- package/node_modules/pinkie-promise/package.json +18 -10
- package/node_modules/process-nextick-args/package.json +16 -8
- package/node_modules/punycode/LICENSE-MIT.txt +20 -0
- package/node_modules/punycode/README.md +176 -0
- package/node_modules/punycode/package.json +127 -0
- package/node_modules/punycode/punycode.js +533 -0
- package/node_modules/qs/.eslintrc +15 -15
- package/node_modules/qs/CHANGELOG.md +36 -0
- package/node_modules/qs/README.md +431 -0
- package/node_modules/qs/dist/qs.js +167 -67
- package/node_modules/qs/lib/formats.js +18 -0
- package/node_modules/qs/lib/index.js +6 -4
- package/node_modules/qs/lib/parse.js +31 -32
- package/node_modules/qs/lib/stringify.js +83 -20
- package/node_modules/qs/lib/utils.js +23 -7
- package/node_modules/qs/package.json +40 -30
- package/node_modules/qs/test/.eslintrc +10 -0
- package/node_modules/qs/test/index.js +2 -0
- package/node_modules/qs/test/parse.js +108 -47
- package/node_modules/qs/test/stringify.js +261 -28
- package/node_modules/qs/test/utils.js +13 -0
- package/node_modules/rc/node_modules/minimist/package.json +24 -16
- package/node_modules/rc/package.json +35 -23
- package/node_modules/readable-stream/.npmignore +1 -0
- package/node_modules/readable-stream/.travis.yml +2 -7
- package/node_modules/readable-stream/README.md +6 -2
- package/node_modules/readable-stream/lib/_stream_readable.js +158 -110
- package/node_modules/readable-stream/lib/_stream_transform.js +7 -5
- package/node_modules/readable-stream/lib/_stream_writable.js +35 -7
- package/node_modules/readable-stream/lib/internal/streams/BufferList.js +64 -0
- package/node_modules/readable-stream/package.json +34 -26
- package/node_modules/request/CHANGELOG.md +49 -18
- package/node_modules/request/README.md +3 -2
- package/node_modules/request/index.js +2 -3
- package/node_modules/request/lib/auth.js +1 -1
- package/node_modules/request/lib/helpers.js +4 -13
- package/node_modules/request/lib/multipart.js +1 -1
- package/node_modules/request/lib/oauth.js +1 -1
- package/node_modules/request/lib/redirect.js +5 -1
- package/node_modules/request/package.json +50 -31
- package/node_modules/request/request.js +84 -43
- package/node_modules/rimraf/package.json +28 -20
- package/node_modules/rimraf/rimraf.js +2 -2
- package/node_modules/semver/README.md +4 -0
- package/node_modules/semver/package.json +27 -19
- package/node_modules/semver/semver.js +14 -5
- package/node_modules/set-blocking/package.json +21 -13
- package/node_modules/signal-exit/CHANGELOG.md +10 -0
- package/node_modules/signal-exit/LICENSE.txt +2 -0
- package/node_modules/signal-exit/index.js +9 -0
- package/node_modules/signal-exit/package.json +32 -24
- package/node_modules/signal-exit/signals.js +5 -4
- package/node_modules/sntp/package.json +16 -8
- package/node_modules/sshpk/README.md +214 -3
- package/node_modules/sshpk/bin/sshpk-conv +6 -0
- package/node_modules/sshpk/lib/certificate.js +291 -0
- package/node_modules/sshpk/lib/errors.js +14 -1
- package/node_modules/sshpk/lib/fingerprint.js +28 -7
- package/node_modules/sshpk/lib/formats/openssh-cert.js +289 -0
- package/node_modules/sshpk/lib/formats/pem.js +2 -2
- package/node_modules/sshpk/lib/formats/pkcs8.js +2 -7
- package/node_modules/sshpk/lib/formats/ssh-private.js +140 -17
- package/node_modules/sshpk/lib/formats/x509-pem.js +77 -0
- package/node_modules/sshpk/lib/formats/x509.js +484 -0
- package/node_modules/sshpk/lib/identity.js +277 -0
- package/node_modules/sshpk/lib/index.js +13 -1
- package/node_modules/sshpk/lib/key.js +1 -0
- package/node_modules/sshpk/lib/signature.js +14 -6
- package/node_modules/sshpk/lib/ssh-buffer.js +24 -0
- package/node_modules/sshpk/lib/utils.js +43 -1
- package/node_modules/sshpk/node_modules/assert-plus/package.json +16 -8
- package/node_modules/sshpk/package.json +32 -22
- package/node_modules/string-width/index.js +5 -0
- package/node_modules/string-width/package.json +49 -36
- package/node_modules/string-width/readme.md +4 -3
- package/node_modules/string_decoder/package.json +19 -11
- package/node_modules/stringstream/package.json +18 -10
- package/node_modules/strip-ansi/package.json +29 -21
- package/node_modules/strip-json-comments/index.js +70 -0
- package/node_modules/strip-json-comments/package.json +49 -43
- package/node_modules/strip-json-comments/readme.md +12 -28
- package/node_modules/supports-color/package.json +26 -18
- package/node_modules/tar/package.json +19 -11
- package/node_modules/tar-pack/README.md +4 -1
- package/node_modules/tar-pack/index.js +17 -12
- package/node_modules/tar-pack/node_modules/once/LICENSE +15 -0
- package/node_modules/tar-pack/node_modules/once/README.md +51 -0
- package/node_modules/tar-pack/node_modules/once/once.js +21 -0
- package/node_modules/tar-pack/node_modules/once/package.json +96 -0
- package/node_modules/tar-pack/node_modules/readable-stream/.npmignore +8 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/.travis.yml +4 -7
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/LICENSE +0 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/README.md +2 -2
- package/node_modules/tar-pack/node_modules/readable-stream/doc/stream.md +2015 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/duplex.js +0 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_duplex.js +0 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_passthrough.js +0 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_readable.js +164 -107
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_transform.js +3 -3
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_writable.js +25 -15
- package/node_modules/tar-pack/node_modules/readable-stream/lib/internal/streams/BufferList.js +64 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/package.json +50 -30
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/passthrough.js +0 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/readable.js +4 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/transform.js +0 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/writable.js +0 -0
- package/node_modules/tar-pack/package.json +39 -22
- package/node_modules/tar-pack/test/index.js +43 -1
- package/node_modules/tough-cookie/README.md +17 -3
- package/node_modules/tough-cookie/lib/cookie.js +6 -12
- package/node_modules/tough-cookie/package.json +50 -35
- package/node_modules/tunnel-agent/package.json +15 -7
- package/node_modules/tweetnacl/AUTHORS.md +28 -0
- package/node_modules/tweetnacl/CHANGELOG.md +93 -0
- package/node_modules/tweetnacl/LICENSE +24 -0
- package/node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md +20 -0
- package/node_modules/tweetnacl/README.md +57 -61
- package/node_modules/tweetnacl/nacl-fast.js +22 -52
- package/node_modules/tweetnacl/nacl-fast.min.js +2 -2
- package/node_modules/tweetnacl/nacl.d.ts +98 -0
- package/node_modules/tweetnacl/nacl.js +21 -51
- package/node_modules/tweetnacl/nacl.min.js +1 -1
- package/node_modules/tweetnacl/package.json +47 -46
- package/node_modules/uid-number/package.json +15 -7
- package/node_modules/util-deprecate/package.json +21 -13
- package/node_modules/uuid/.npmignore +8 -0
- package/node_modules/uuid/.travis.yml +5 -0
- package/node_modules/uuid/AUTHORS +5 -0
- package/node_modules/uuid/HISTORY.md +28 -0
- package/node_modules/uuid/LICENSE.md +21 -0
- package/node_modules/uuid/README.md +132 -0
- package/node_modules/{node-uuid → uuid}/bin/uuid +0 -0
- package/node_modules/uuid/index.js +8 -0
- package/node_modules/uuid/lib/bytesToUuid.js +23 -0
- package/node_modules/uuid/lib/rng-browser.js +33 -0
- package/node_modules/uuid/lib/rng.js +10 -0
- package/node_modules/uuid/package.json +122 -0
- package/node_modules/uuid/test/mocha.opts +3 -0
- package/node_modules/uuid/test/test.js +96 -0
- package/node_modules/uuid/v1.js +103 -0
- package/node_modules/uuid/v4.js +29 -0
- package/node_modules/verror/package.json +14 -6
- package/node_modules/wide-align/package.json +19 -11
- package/node_modules/wrappy/package.json +17 -8
- package/node_modules/xtend/package.json +29 -21
- package/package.json +2 -2
- package/node_modules/async/CHANGELOG.md +0 -125
- package/node_modules/async/README.md +0 -1877
- package/node_modules/async/dist/async.js +0 -1265
- package/node_modules/async/dist/async.min.js +0 -2
- package/node_modules/async/lib/async.js +0 -1265
- package/node_modules/async/package.json +0 -149
- package/node_modules/bl/.jshintrc +0 -59
- package/node_modules/bl/.npmignore +0 -1
- package/node_modules/bl/.travis.yml +0 -13
- package/node_modules/bl/LICENSE.md +0 -13
- package/node_modules/bl/README.md +0 -200
- package/node_modules/bl/bl.js +0 -243
- package/node_modules/bl/node_modules/readable-stream/.npmignore +0 -5
- package/node_modules/bl/node_modules/readable-stream/.zuul.yml +0 -1
- package/node_modules/bl/node_modules/readable-stream/doc/stream.markdown +0 -1760
- package/node_modules/bl/package.json +0 -96
- package/node_modules/bl/test/test.js +0 -640
- package/node_modules/form-data/.dockerignore +0 -7
- package/node_modules/form-data/.editorconfig +0 -10
- package/node_modules/form-data/.eslintignore +0 -1
- package/node_modules/form-data/.eslintrc +0 -64
- package/node_modules/form-data/wercker.yml +0 -36
- package/node_modules/gauge/CHANGELOG.md~ +0 -123
- package/node_modules/gauge/README.md~ +0 -393
- package/node_modules/has-color/index.js +0 -32
- package/node_modules/has-color/package.json +0 -97
- package/node_modules/has-color/readme.md +0 -30
- package/node_modules/inherits/test.js +0 -25
- package/node_modules/jsonpointer/.travis.yml +0 -10
- package/node_modules/jsonpointer/test.js +0 -98
- package/node_modules/node-uuid/.npmignore +0 -4
- package/node_modules/node-uuid/README.md +0 -254
- package/node_modules/node-uuid/benchmark/README.md +0 -53
- package/node_modules/node-uuid/benchmark/bench.gnu +0 -174
- package/node_modules/node-uuid/benchmark/bench.sh +0 -34
- package/node_modules/node-uuid/benchmark/benchmark-native.c +0 -34
- package/node_modules/node-uuid/benchmark/benchmark.js +0 -84
- package/node_modules/node-uuid/bower.json +0 -23
- package/node_modules/node-uuid/component.json +0 -25
- package/node_modules/node-uuid/package.json +0 -105
- package/node_modules/node-uuid/test/compare_v1.js +0 -63
- package/node_modules/node-uuid/test/test.html +0 -17
- package/node_modules/node-uuid/test/test.js +0 -231
- package/node_modules/node-uuid/uuid.js +0 -272
- package/node_modules/npmlog/CHANGELOG.md~ +0 -31
- package/node_modules/qs/.jscs.json +0 -176
- package/node_modules/qs/CONTRIBUTING.md +0 -1
- package/node_modules/readable-stream/doc/stream.md +0 -1772
- package/node_modules/request/.eslintrc +0 -45
- package/node_modules/request/.npmignore +0 -6
- package/node_modules/request/.travis.yml +0 -21
- package/node_modules/request/CONTRIBUTING.md +0 -81
- package/node_modules/request/codecov.yml +0 -2
- package/node_modules/strip-json-comments/cli.js +0 -41
- package/node_modules/strip-json-comments/strip-json-comments.js +0 -73
@@ -1,32 +1,56 @@
|
|
1
1
|
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Qs = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
2
2
|
'use strict';
|
3
3
|
|
4
|
-
var
|
5
|
-
var
|
4
|
+
var replace = String.prototype.replace;
|
5
|
+
var percentTwenties = /%20/g;
|
6
6
|
|
7
7
|
module.exports = {
|
8
|
-
|
9
|
-
|
8
|
+
'default': 'RFC3986',
|
9
|
+
formatters: {
|
10
|
+
RFC1738: function (value) {
|
11
|
+
return replace.call(value, percentTwenties, '+');
|
12
|
+
},
|
13
|
+
RFC3986: function (value) {
|
14
|
+
return value;
|
15
|
+
}
|
16
|
+
},
|
17
|
+
RFC1738: 'RFC1738',
|
18
|
+
RFC3986: 'RFC3986'
|
19
|
+
};
|
20
|
+
|
21
|
+
},{}],2:[function(require,module,exports){
|
22
|
+
'use strict';
|
23
|
+
|
24
|
+
var stringify = require('./stringify');
|
25
|
+
var parse = require('./parse');
|
26
|
+
var formats = require('./formats');
|
27
|
+
|
28
|
+
module.exports = {
|
29
|
+
formats: formats,
|
30
|
+
parse: parse,
|
31
|
+
stringify: stringify
|
10
32
|
};
|
11
33
|
|
12
|
-
},{"./parse":
|
34
|
+
},{"./formats":1,"./parse":3,"./stringify":4}],3:[function(require,module,exports){
|
13
35
|
'use strict';
|
14
36
|
|
15
|
-
var
|
37
|
+
var utils = require('./utils');
|
38
|
+
|
39
|
+
var has = Object.prototype.hasOwnProperty;
|
16
40
|
|
17
41
|
var defaults = {
|
42
|
+
allowDots: false,
|
43
|
+
allowPrototypes: false,
|
44
|
+
arrayLimit: 20,
|
45
|
+
decoder: utils.decode,
|
18
46
|
delimiter: '&',
|
19
47
|
depth: 5,
|
20
|
-
arrayLimit: 20,
|
21
48
|
parameterLimit: 1000,
|
22
|
-
strictNullHandling: false,
|
23
49
|
plainObjects: false,
|
24
|
-
|
25
|
-
allowDots: false,
|
26
|
-
decoder: Utils.decode
|
50
|
+
strictNullHandling: false
|
27
51
|
};
|
28
52
|
|
29
|
-
var parseValues = function
|
53
|
+
var parseValues = function parseQueryStringValues(str, options) {
|
30
54
|
var obj = {};
|
31
55
|
var parts = str.split(options.delimiter, options.parameterLimit === Infinity ? undefined : options.parameterLimit);
|
32
56
|
|
@@ -34,28 +58,25 @@ var parseValues = function parseValues(str, options) {
|
|
34
58
|
var part = parts[i];
|
35
59
|
var pos = part.indexOf(']=') === -1 ? part.indexOf('=') : part.indexOf(']=') + 1;
|
36
60
|
|
61
|
+
var key, val;
|
37
62
|
if (pos === -1) {
|
38
|
-
|
39
|
-
|
40
|
-
if (options.strictNullHandling) {
|
41
|
-
obj[options.decoder(part)] = null;
|
42
|
-
}
|
63
|
+
key = options.decoder(part);
|
64
|
+
val = options.strictNullHandling ? null : '';
|
43
65
|
} else {
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
}
|
66
|
+
key = options.decoder(part.slice(0, pos));
|
67
|
+
val = options.decoder(part.slice(pos + 1));
|
68
|
+
}
|
69
|
+
if (has.call(obj, key)) {
|
70
|
+
obj[key] = [].concat(obj[key]).concat(val);
|
71
|
+
} else {
|
72
|
+
obj[key] = val;
|
52
73
|
}
|
53
74
|
}
|
54
75
|
|
55
76
|
return obj;
|
56
77
|
};
|
57
78
|
|
58
|
-
var parseObject = function
|
79
|
+
var parseObject = function parseObjectRecursive(chain, val, options) {
|
59
80
|
if (!chain.length) {
|
60
81
|
return val;
|
61
82
|
}
|
@@ -68,7 +89,7 @@ var parseObject = function parseObject(chain, val, options) {
|
|
68
89
|
obj = obj.concat(parseObject(chain, val, options));
|
69
90
|
} else {
|
70
91
|
obj = options.plainObjects ? Object.create(null) : {};
|
71
|
-
var cleanRoot = root
|
92
|
+
var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
|
72
93
|
var index = parseInt(cleanRoot, 10);
|
73
94
|
if (
|
74
95
|
!isNaN(index) &&
|
@@ -87,18 +108,18 @@ var parseObject = function parseObject(chain, val, options) {
|
|
87
108
|
return obj;
|
88
109
|
};
|
89
110
|
|
90
|
-
var parseKeys = function
|
111
|
+
var parseKeys = function parseQueryStringKeys(givenKey, val, options) {
|
91
112
|
if (!givenKey) {
|
92
113
|
return;
|
93
114
|
}
|
94
115
|
|
95
116
|
// Transform dot notation to bracket notation
|
96
|
-
var key = options.allowDots ? givenKey.replace(/\.([
|
117
|
+
var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
|
97
118
|
|
98
119
|
// The regex chunks
|
99
120
|
|
100
|
-
var parent = /^([
|
101
|
-
var child = /(\[[
|
121
|
+
var parent = /^([^[]*)/;
|
122
|
+
var child = /(\[[^[\]]*])/g;
|
102
123
|
|
103
124
|
// Get the parent
|
104
125
|
|
@@ -110,7 +131,7 @@ var parseKeys = function parseKeys(givenKey, val, options) {
|
|
110
131
|
if (segment[1]) {
|
111
132
|
// If we aren't using plain objects, optionally prefix keys
|
112
133
|
// that would overwrite object prototype properties
|
113
|
-
if (!options.plainObjects && Object.prototype
|
134
|
+
if (!options.plainObjects && has.call(Object.prototype, segment[1])) {
|
114
135
|
if (!options.allowPrototypes) {
|
115
136
|
return;
|
116
137
|
}
|
@@ -124,9 +145,9 @@ var parseKeys = function parseKeys(givenKey, val, options) {
|
|
124
145
|
var i = 0;
|
125
146
|
while ((segment = child.exec(key)) !== null && i < options.depth) {
|
126
147
|
i += 1;
|
127
|
-
if (!options.plainObjects && Object.prototype
|
148
|
+
if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
|
128
149
|
if (!options.allowPrototypes) {
|
129
|
-
|
150
|
+
return;
|
130
151
|
}
|
131
152
|
}
|
132
153
|
keys.push(segment[1]);
|
@@ -148,7 +169,7 @@ module.exports = function (str, opts) {
|
|
148
169
|
throw new TypeError('Decoder has to be a function.');
|
149
170
|
}
|
150
171
|
|
151
|
-
options.delimiter = typeof options.delimiter === 'string' ||
|
172
|
+
options.delimiter = typeof options.delimiter === 'string' || utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter;
|
152
173
|
options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth;
|
153
174
|
options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit;
|
154
175
|
options.parseArrays = options.parseArrays !== false;
|
@@ -172,43 +193,61 @@ module.exports = function (str, opts) {
|
|
172
193
|
for (var i = 0; i < keys.length; ++i) {
|
173
194
|
var key = keys[i];
|
174
195
|
var newObj = parseKeys(key, tempObj[key], options);
|
175
|
-
obj =
|
196
|
+
obj = utils.merge(obj, newObj, options);
|
176
197
|
}
|
177
198
|
|
178
|
-
return
|
199
|
+
return utils.compact(obj);
|
179
200
|
};
|
180
201
|
|
181
|
-
},{"./utils":
|
202
|
+
},{"./utils":5}],4:[function(require,module,exports){
|
182
203
|
'use strict';
|
183
204
|
|
184
|
-
var
|
205
|
+
var utils = require('./utils');
|
206
|
+
var formats = require('./formats');
|
185
207
|
|
186
208
|
var arrayPrefixGenerators = {
|
187
|
-
brackets: function brackets(prefix) {
|
209
|
+
brackets: function brackets(prefix) { // eslint-disable-line func-name-matching
|
188
210
|
return prefix + '[]';
|
189
211
|
},
|
190
|
-
indices: function indices(prefix, key) {
|
212
|
+
indices: function indices(prefix, key) { // eslint-disable-line func-name-matching
|
191
213
|
return prefix + '[' + key + ']';
|
192
214
|
},
|
193
|
-
repeat: function repeat(prefix) {
|
215
|
+
repeat: function repeat(prefix) { // eslint-disable-line func-name-matching
|
194
216
|
return prefix;
|
195
217
|
}
|
196
218
|
};
|
197
219
|
|
220
|
+
var toISO = Date.prototype.toISOString;
|
221
|
+
|
198
222
|
var defaults = {
|
199
223
|
delimiter: '&',
|
200
|
-
strictNullHandling: false,
|
201
|
-
skipNulls: false,
|
202
224
|
encode: true,
|
203
|
-
encoder:
|
225
|
+
encoder: utils.encode,
|
226
|
+
serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching
|
227
|
+
return toISO.call(date);
|
228
|
+
},
|
229
|
+
skipNulls: false,
|
230
|
+
strictNullHandling: false
|
204
231
|
};
|
205
232
|
|
206
|
-
var stringify = function stringify(
|
233
|
+
var stringify = function stringify( // eslint-disable-line func-name-matching
|
234
|
+
object,
|
235
|
+
prefix,
|
236
|
+
generateArrayPrefix,
|
237
|
+
strictNullHandling,
|
238
|
+
skipNulls,
|
239
|
+
encoder,
|
240
|
+
filter,
|
241
|
+
sort,
|
242
|
+
allowDots,
|
243
|
+
serializeDate,
|
244
|
+
formatter
|
245
|
+
) {
|
207
246
|
var obj = object;
|
208
247
|
if (typeof filter === 'function') {
|
209
248
|
obj = filter(prefix, obj);
|
210
249
|
} else if (obj instanceof Date) {
|
211
|
-
obj = obj
|
250
|
+
obj = serializeDate(obj);
|
212
251
|
} else if (obj === null) {
|
213
252
|
if (strictNullHandling) {
|
214
253
|
return encoder ? encoder(prefix) : prefix;
|
@@ -217,11 +256,11 @@ var stringify = function stringify(object, prefix, generateArrayPrefix, strictNu
|
|
217
256
|
obj = '';
|
218
257
|
}
|
219
258
|
|
220
|
-
if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' ||
|
259
|
+
if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) {
|
221
260
|
if (encoder) {
|
222
|
-
return [encoder(prefix) + '=' + encoder(obj)];
|
261
|
+
return [formatter(encoder(prefix)) + '=' + formatter(encoder(obj))];
|
223
262
|
}
|
224
|
-
return [prefix + '=' + String(obj)];
|
263
|
+
return [formatter(prefix) + '=' + formatter(String(obj))];
|
225
264
|
}
|
226
265
|
|
227
266
|
var values = [];
|
@@ -246,9 +285,33 @@ var stringify = function stringify(object, prefix, generateArrayPrefix, strictNu
|
|
246
285
|
}
|
247
286
|
|
248
287
|
if (Array.isArray(obj)) {
|
249
|
-
values = values.concat(stringify(
|
288
|
+
values = values.concat(stringify(
|
289
|
+
obj[key],
|
290
|
+
generateArrayPrefix(prefix, key),
|
291
|
+
generateArrayPrefix,
|
292
|
+
strictNullHandling,
|
293
|
+
skipNulls,
|
294
|
+
encoder,
|
295
|
+
filter,
|
296
|
+
sort,
|
297
|
+
allowDots,
|
298
|
+
serializeDate,
|
299
|
+
formatter
|
300
|
+
));
|
250
301
|
} else {
|
251
|
-
values = values.concat(stringify(
|
302
|
+
values = values.concat(stringify(
|
303
|
+
obj[key],
|
304
|
+
prefix + (allowDots ? '.' + key : '[' + key + ']'),
|
305
|
+
generateArrayPrefix,
|
306
|
+
strictNullHandling,
|
307
|
+
skipNulls,
|
308
|
+
encoder,
|
309
|
+
filter,
|
310
|
+
sort,
|
311
|
+
allowDots,
|
312
|
+
serializeDate,
|
313
|
+
formatter
|
314
|
+
));
|
252
315
|
}
|
253
316
|
}
|
254
317
|
|
@@ -258,6 +321,11 @@ var stringify = function stringify(object, prefix, generateArrayPrefix, strictNu
|
|
258
321
|
module.exports = function (object, opts) {
|
259
322
|
var obj = object;
|
260
323
|
var options = opts || {};
|
324
|
+
|
325
|
+
if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {
|
326
|
+
throw new TypeError('Encoder has to be a function.');
|
327
|
+
}
|
328
|
+
|
261
329
|
var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter;
|
262
330
|
var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;
|
263
331
|
var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls;
|
@@ -265,18 +333,22 @@ module.exports = function (object, opts) {
|
|
265
333
|
var encoder = encode ? (typeof options.encoder === 'function' ? options.encoder : defaults.encoder) : null;
|
266
334
|
var sort = typeof options.sort === 'function' ? options.sort : null;
|
267
335
|
var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;
|
336
|
+
var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate;
|
337
|
+
if (typeof options.format === 'undefined') {
|
338
|
+
options.format = formats.default;
|
339
|
+
} else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) {
|
340
|
+
throw new TypeError('Unknown format option provided.');
|
341
|
+
}
|
342
|
+
var formatter = formats.formatters[options.format];
|
268
343
|
var objKeys;
|
269
344
|
var filter;
|
270
345
|
|
271
|
-
if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {
|
272
|
-
throw new TypeError('Encoder has to be a function.');
|
273
|
-
}
|
274
|
-
|
275
346
|
if (typeof options.filter === 'function') {
|
276
347
|
filter = options.filter;
|
277
348
|
obj = filter('', obj);
|
278
349
|
} else if (Array.isArray(options.filter)) {
|
279
|
-
|
350
|
+
filter = options.filter;
|
351
|
+
objKeys = filter;
|
280
352
|
}
|
281
353
|
|
282
354
|
var keys = [];
|
@@ -311,26 +383,40 @@ module.exports = function (object, opts) {
|
|
311
383
|
continue;
|
312
384
|
}
|
313
385
|
|
314
|
-
keys = keys.concat(stringify(
|
386
|
+
keys = keys.concat(stringify(
|
387
|
+
obj[key],
|
388
|
+
key,
|
389
|
+
generateArrayPrefix,
|
390
|
+
strictNullHandling,
|
391
|
+
skipNulls,
|
392
|
+
encoder,
|
393
|
+
filter,
|
394
|
+
sort,
|
395
|
+
allowDots,
|
396
|
+
serializeDate,
|
397
|
+
formatter
|
398
|
+
));
|
315
399
|
}
|
316
400
|
|
317
401
|
return keys.join(delimiter);
|
318
402
|
};
|
319
403
|
|
320
|
-
},{"./utils":
|
404
|
+
},{"./formats":1,"./utils":5}],5:[function(require,module,exports){
|
321
405
|
'use strict';
|
322
406
|
|
407
|
+
var has = Object.prototype.hasOwnProperty;
|
408
|
+
|
323
409
|
var hexTable = (function () {
|
324
|
-
var array =
|
410
|
+
var array = [];
|
325
411
|
for (var i = 0; i < 256; ++i) {
|
326
|
-
array
|
412
|
+
array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
|
327
413
|
}
|
328
414
|
|
329
415
|
return array;
|
330
416
|
}());
|
331
417
|
|
332
418
|
exports.arrayToObject = function (source, options) {
|
333
|
-
var obj = options.plainObjects ? Object.create(null) : {};
|
419
|
+
var obj = options && options.plainObjects ? Object.create(null) : {};
|
334
420
|
for (var i = 0; i < source.length; ++i) {
|
335
421
|
if (typeof source[i] !== 'undefined') {
|
336
422
|
obj[i] = source[i];
|
@@ -366,6 +452,21 @@ exports.merge = function (target, source, options) {
|
|
366
452
|
mergeTarget = exports.arrayToObject(target, options);
|
367
453
|
}
|
368
454
|
|
455
|
+
if (Array.isArray(target) && Array.isArray(source)) {
|
456
|
+
source.forEach(function (item, i) {
|
457
|
+
if (has.call(target, i)) {
|
458
|
+
if (target[i] && typeof target[i] === 'object') {
|
459
|
+
target[i] = exports.merge(target[i], item, options);
|
460
|
+
} else {
|
461
|
+
target.push(item);
|
462
|
+
}
|
463
|
+
} else {
|
464
|
+
target[i] = item;
|
465
|
+
}
|
466
|
+
});
|
467
|
+
return target;
|
468
|
+
}
|
469
|
+
|
369
470
|
return Object.keys(source).reduce(function (acc, key) {
|
370
471
|
var value = source[key];
|
371
472
|
|
@@ -429,7 +530,7 @@ exports.encode = function (str) {
|
|
429
530
|
|
430
531
|
i += 1;
|
431
532
|
c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));
|
432
|
-
out += hexTable[0xF0 | (c >> 18)] + hexTable[0x80 | ((c >> 12) & 0x3F)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)];
|
533
|
+
out += hexTable[0xF0 | (c >> 18)] + hexTable[0x80 | ((c >> 12) & 0x3F)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]; // eslint-disable-line max-len
|
433
534
|
}
|
434
535
|
|
435
536
|
return out;
|
@@ -463,10 +564,9 @@ exports.compact = function (obj, references) {
|
|
463
564
|
}
|
464
565
|
|
465
566
|
var keys = Object.keys(obj);
|
466
|
-
|
467
|
-
var key = keys[j];
|
567
|
+
keys.forEach(function (key) {
|
468
568
|
obj[key] = exports.compact(obj[key], refs);
|
469
|
-
}
|
569
|
+
});
|
470
570
|
|
471
571
|
return obj;
|
472
572
|
};
|
@@ -483,5 +583,5 @@ exports.isBuffer = function (obj) {
|
|
483
583
|
return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
|
484
584
|
};
|
485
585
|
|
486
|
-
},{}]},{},[
|
586
|
+
},{}]},{},[2])(2)
|
487
587
|
});
|
@@ -0,0 +1,18 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
var replace = String.prototype.replace;
|
4
|
+
var percentTwenties = /%20/g;
|
5
|
+
|
6
|
+
module.exports = {
|
7
|
+
'default': 'RFC3986',
|
8
|
+
formatters: {
|
9
|
+
RFC1738: function (value) {
|
10
|
+
return replace.call(value, percentTwenties, '+');
|
11
|
+
},
|
12
|
+
RFC3986: function (value) {
|
13
|
+
return value;
|
14
|
+
}
|
15
|
+
},
|
16
|
+
RFC1738: 'RFC1738',
|
17
|
+
RFC3986: 'RFC3986'
|
18
|
+
};
|
@@ -1,9 +1,11 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
|
-
var
|
4
|
-
var
|
3
|
+
var stringify = require('./stringify');
|
4
|
+
var parse = require('./parse');
|
5
|
+
var formats = require('./formats');
|
5
6
|
|
6
7
|
module.exports = {
|
7
|
-
|
8
|
-
parse:
|
8
|
+
formats: formats,
|
9
|
+
parse: parse,
|
10
|
+
stringify: stringify
|
9
11
|
};
|
@@ -1,20 +1,22 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
|
-
var
|
3
|
+
var utils = require('./utils');
|
4
|
+
|
5
|
+
var has = Object.prototype.hasOwnProperty;
|
4
6
|
|
5
7
|
var defaults = {
|
8
|
+
allowDots: false,
|
9
|
+
allowPrototypes: false,
|
10
|
+
arrayLimit: 20,
|
11
|
+
decoder: utils.decode,
|
6
12
|
delimiter: '&',
|
7
13
|
depth: 5,
|
8
|
-
arrayLimit: 20,
|
9
14
|
parameterLimit: 1000,
|
10
|
-
strictNullHandling: false,
|
11
15
|
plainObjects: false,
|
12
|
-
|
13
|
-
allowDots: false,
|
14
|
-
decoder: Utils.decode
|
16
|
+
strictNullHandling: false
|
15
17
|
};
|
16
18
|
|
17
|
-
var parseValues = function
|
19
|
+
var parseValues = function parseQueryStringValues(str, options) {
|
18
20
|
var obj = {};
|
19
21
|
var parts = str.split(options.delimiter, options.parameterLimit === Infinity ? undefined : options.parameterLimit);
|
20
22
|
|
@@ -22,28 +24,25 @@ var parseValues = function parseValues(str, options) {
|
|
22
24
|
var part = parts[i];
|
23
25
|
var pos = part.indexOf(']=') === -1 ? part.indexOf('=') : part.indexOf(']=') + 1;
|
24
26
|
|
27
|
+
var key, val;
|
25
28
|
if (pos === -1) {
|
26
|
-
|
27
|
-
|
28
|
-
if (options.strictNullHandling) {
|
29
|
-
obj[options.decoder(part)] = null;
|
30
|
-
}
|
29
|
+
key = options.decoder(part);
|
30
|
+
val = options.strictNullHandling ? null : '';
|
31
31
|
} else {
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
}
|
32
|
+
key = options.decoder(part.slice(0, pos));
|
33
|
+
val = options.decoder(part.slice(pos + 1));
|
34
|
+
}
|
35
|
+
if (has.call(obj, key)) {
|
36
|
+
obj[key] = [].concat(obj[key]).concat(val);
|
37
|
+
} else {
|
38
|
+
obj[key] = val;
|
40
39
|
}
|
41
40
|
}
|
42
41
|
|
43
42
|
return obj;
|
44
43
|
};
|
45
44
|
|
46
|
-
var parseObject = function
|
45
|
+
var parseObject = function parseObjectRecursive(chain, val, options) {
|
47
46
|
if (!chain.length) {
|
48
47
|
return val;
|
49
48
|
}
|
@@ -56,7 +55,7 @@ var parseObject = function parseObject(chain, val, options) {
|
|
56
55
|
obj = obj.concat(parseObject(chain, val, options));
|
57
56
|
} else {
|
58
57
|
obj = options.plainObjects ? Object.create(null) : {};
|
59
|
-
var cleanRoot = root
|
58
|
+
var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
|
60
59
|
var index = parseInt(cleanRoot, 10);
|
61
60
|
if (
|
62
61
|
!isNaN(index) &&
|
@@ -75,18 +74,18 @@ var parseObject = function parseObject(chain, val, options) {
|
|
75
74
|
return obj;
|
76
75
|
};
|
77
76
|
|
78
|
-
var parseKeys = function
|
77
|
+
var parseKeys = function parseQueryStringKeys(givenKey, val, options) {
|
79
78
|
if (!givenKey) {
|
80
79
|
return;
|
81
80
|
}
|
82
81
|
|
83
82
|
// Transform dot notation to bracket notation
|
84
|
-
var key = options.allowDots ? givenKey.replace(/\.([
|
83
|
+
var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
|
85
84
|
|
86
85
|
// The regex chunks
|
87
86
|
|
88
|
-
var parent = /^([
|
89
|
-
var child = /(\[[
|
87
|
+
var parent = /^([^[]*)/;
|
88
|
+
var child = /(\[[^[\]]*])/g;
|
90
89
|
|
91
90
|
// Get the parent
|
92
91
|
|
@@ -98,7 +97,7 @@ var parseKeys = function parseKeys(givenKey, val, options) {
|
|
98
97
|
if (segment[1]) {
|
99
98
|
// If we aren't using plain objects, optionally prefix keys
|
100
99
|
// that would overwrite object prototype properties
|
101
|
-
if (!options.plainObjects && Object.prototype
|
100
|
+
if (!options.plainObjects && has.call(Object.prototype, segment[1])) {
|
102
101
|
if (!options.allowPrototypes) {
|
103
102
|
return;
|
104
103
|
}
|
@@ -112,9 +111,9 @@ var parseKeys = function parseKeys(givenKey, val, options) {
|
|
112
111
|
var i = 0;
|
113
112
|
while ((segment = child.exec(key)) !== null && i < options.depth) {
|
114
113
|
i += 1;
|
115
|
-
if (!options.plainObjects && Object.prototype
|
114
|
+
if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
|
116
115
|
if (!options.allowPrototypes) {
|
117
|
-
|
116
|
+
return;
|
118
117
|
}
|
119
118
|
}
|
120
119
|
keys.push(segment[1]);
|
@@ -136,7 +135,7 @@ module.exports = function (str, opts) {
|
|
136
135
|
throw new TypeError('Decoder has to be a function.');
|
137
136
|
}
|
138
137
|
|
139
|
-
options.delimiter = typeof options.delimiter === 'string' ||
|
138
|
+
options.delimiter = typeof options.delimiter === 'string' || utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter;
|
140
139
|
options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth;
|
141
140
|
options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit;
|
142
141
|
options.parseArrays = options.parseArrays !== false;
|
@@ -160,8 +159,8 @@ module.exports = function (str, opts) {
|
|
160
159
|
for (var i = 0; i < keys.length; ++i) {
|
161
160
|
var key = keys[i];
|
162
161
|
var newObj = parseKeys(key, tempObj[key], options);
|
163
|
-
obj =
|
162
|
+
obj = utils.merge(obj, newObj, options);
|
164
163
|
}
|
165
164
|
|
166
|
-
return
|
165
|
+
return utils.compact(obj);
|
167
166
|
};
|