fsevents 1.0.15 → 1.0.17
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/lib/binding/Release/node-v48-darwin-x64/fse.node +0 -0
- package/node_modules/abbrev/package.json +16 -8
- package/node_modules/ansi-regex/package.json +31 -23
- package/node_modules/ansi-styles/package.json +27 -19
- package/node_modules/aproba/package.json +16 -8
- 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 +8 -3
- 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 +559 -0
- package/node_modules/bcrypt-pbkdf/package.json +72 -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/node_modules/supports-color/index.js +50 -0
- package/node_modules/{supports-color → chalk/node_modules/supports-color}/license +0 -0
- package/node_modules/chalk/node_modules/supports-color/package.json +113 -0
- package/node_modules/chalk/node_modules/supports-color/readme.md +36 -0
- 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 +14 -0
- package/node_modules/gauge/README.md +4 -0
- package/node_modules/gauge/index.js +7 -3
- package/node_modules/gauge/package.json +37 -28
- 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/package.json +15 -7
- 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 +34 -0
- package/node_modules/mime-db/db.json +86 -1
- package/node_modules/mime-db/package.json +43 -31
- package/node_modules/mime-types/HISTORY.md +13 -0
- package/node_modules/mime-types/index.js +8 -8
- package/node_modules/mime-types/package.json +31 -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 +16 -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 +2 -0
- package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +88 -0
- package/node_modules/node-pre-gyp/package.json +48 -40
- 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/package.json +22 -14
- 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 +24 -0
- package/node_modules/qs/README.md +398 -0
- package/node_modules/qs/dist/qs.js +138 -51
- 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 +23 -24
- package/node_modules/qs/lib/stringify.js +63 -13
- package/node_modules/qs/lib/utils.js +22 -6
- package/node_modules/qs/package.json +40 -30
- package/node_modules/qs/test/.eslintrc +9 -0
- package/node_modules/qs/test/index.js +2 -0
- package/node_modules/qs/test/parse.js +81 -45
- package/node_modules/qs/test/stringify.js +260 -27
- 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 +21 -13
- 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 +255 -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 +31 -21
- 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/package.json +27 -19
- package/node_modules/supports-color/cli.js +28 -0
- package/node_modules/supports-color/index.js +2 -20
- package/node_modules/supports-color/package.json +52 -45
- package/node_modules/supports-color/readme.md +14 -6
- 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 +1 -1
- 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/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
@@ -1,29 +1,53 @@
|
|
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
53
|
var parseValues = function parseValues(str, options) {
|
@@ -34,21 +58,18 @@ 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
|
|
@@ -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,7 +145,7 @@ 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].replace(/\[|\]/g, ''))) {
|
128
149
|
if (!options.allowPrototypes) {
|
129
150
|
continue;
|
130
151
|
}
|
@@ -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,16 +193,17 @@ 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
209
|
brackets: function brackets(prefix) {
|
@@ -195,20 +217,25 @@ var arrayPrefixGenerators = {
|
|
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) {
|
227
|
+
return toISO.call(date);
|
228
|
+
},
|
229
|
+
skipNulls: false,
|
230
|
+
strictNullHandling: false
|
204
231
|
};
|
205
232
|
|
206
|
-
var stringify = function stringify(object, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots) {
|
233
|
+
var stringify = function stringify(object, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots, serializeDate, formatter) {
|
207
234
|
var obj = object;
|
208
235
|
if (typeof filter === 'function') {
|
209
236
|
obj = filter(prefix, obj);
|
210
237
|
} else if (obj instanceof Date) {
|
211
|
-
obj = obj
|
238
|
+
obj = serializeDate(obj);
|
212
239
|
} else if (obj === null) {
|
213
240
|
if (strictNullHandling) {
|
214
241
|
return encoder ? encoder(prefix) : prefix;
|
@@ -217,11 +244,11 @@ var stringify = function stringify(object, prefix, generateArrayPrefix, strictNu
|
|
217
244
|
obj = '';
|
218
245
|
}
|
219
246
|
|
220
|
-
if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' ||
|
247
|
+
if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) {
|
221
248
|
if (encoder) {
|
222
|
-
return [encoder(prefix) + '=' + encoder(obj)];
|
249
|
+
return [formatter(encoder(prefix)) + '=' + formatter(encoder(obj))];
|
223
250
|
}
|
224
|
-
return [prefix + '=' + String(obj)];
|
251
|
+
return [formatter(prefix) + '=' + formatter(String(obj))];
|
225
252
|
}
|
226
253
|
|
227
254
|
var values = [];
|
@@ -246,9 +273,33 @@ var stringify = function stringify(object, prefix, generateArrayPrefix, strictNu
|
|
246
273
|
}
|
247
274
|
|
248
275
|
if (Array.isArray(obj)) {
|
249
|
-
values = values.concat(stringify(
|
276
|
+
values = values.concat(stringify(
|
277
|
+
obj[key],
|
278
|
+
generateArrayPrefix(prefix, key),
|
279
|
+
generateArrayPrefix,
|
280
|
+
strictNullHandling,
|
281
|
+
skipNulls,
|
282
|
+
encoder,
|
283
|
+
filter,
|
284
|
+
sort,
|
285
|
+
allowDots,
|
286
|
+
serializeDate,
|
287
|
+
formatter
|
288
|
+
));
|
250
289
|
} else {
|
251
|
-
values = values.concat(stringify(
|
290
|
+
values = values.concat(stringify(
|
291
|
+
obj[key],
|
292
|
+
prefix + (allowDots ? '.' + key : '[' + key + ']'),
|
293
|
+
generateArrayPrefix,
|
294
|
+
strictNullHandling,
|
295
|
+
skipNulls,
|
296
|
+
encoder,
|
297
|
+
filter,
|
298
|
+
sort,
|
299
|
+
allowDots,
|
300
|
+
serializeDate,
|
301
|
+
formatter
|
302
|
+
));
|
252
303
|
}
|
253
304
|
}
|
254
305
|
|
@@ -265,6 +316,13 @@ module.exports = function (object, opts) {
|
|
265
316
|
var encoder = encode ? (typeof options.encoder === 'function' ? options.encoder : defaults.encoder) : null;
|
266
317
|
var sort = typeof options.sort === 'function' ? options.sort : null;
|
267
318
|
var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;
|
319
|
+
var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate;
|
320
|
+
if (typeof options.format === 'undefined') {
|
321
|
+
options.format = formats.default;
|
322
|
+
} else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) {
|
323
|
+
throw new TypeError('Unknown format option provided.');
|
324
|
+
}
|
325
|
+
var formatter = formats.formatters[options.format];
|
268
326
|
var objKeys;
|
269
327
|
var filter;
|
270
328
|
|
@@ -276,7 +334,8 @@ module.exports = function (object, opts) {
|
|
276
334
|
filter = options.filter;
|
277
335
|
obj = filter('', obj);
|
278
336
|
} else if (Array.isArray(options.filter)) {
|
279
|
-
|
337
|
+
filter = options.filter;
|
338
|
+
objKeys = filter;
|
280
339
|
}
|
281
340
|
|
282
341
|
var keys = [];
|
@@ -311,26 +370,40 @@ module.exports = function (object, opts) {
|
|
311
370
|
continue;
|
312
371
|
}
|
313
372
|
|
314
|
-
keys = keys.concat(stringify(
|
373
|
+
keys = keys.concat(stringify(
|
374
|
+
obj[key],
|
375
|
+
key,
|
376
|
+
generateArrayPrefix,
|
377
|
+
strictNullHandling,
|
378
|
+
skipNulls,
|
379
|
+
encoder,
|
380
|
+
filter,
|
381
|
+
sort,
|
382
|
+
allowDots,
|
383
|
+
serializeDate,
|
384
|
+
formatter
|
385
|
+
));
|
315
386
|
}
|
316
387
|
|
317
388
|
return keys.join(delimiter);
|
318
389
|
};
|
319
390
|
|
320
|
-
},{"./utils":
|
391
|
+
},{"./formats":1,"./utils":5}],5:[function(require,module,exports){
|
321
392
|
'use strict';
|
322
393
|
|
394
|
+
var has = Object.prototype.hasOwnProperty;
|
395
|
+
|
323
396
|
var hexTable = (function () {
|
324
|
-
var array =
|
397
|
+
var array = [];
|
325
398
|
for (var i = 0; i < 256; ++i) {
|
326
|
-
array
|
399
|
+
array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
|
327
400
|
}
|
328
401
|
|
329
402
|
return array;
|
330
403
|
}());
|
331
404
|
|
332
405
|
exports.arrayToObject = function (source, options) {
|
333
|
-
var obj = options.plainObjects ? Object.create(null) : {};
|
406
|
+
var obj = options && options.plainObjects ? Object.create(null) : {};
|
334
407
|
for (var i = 0; i < source.length; ++i) {
|
335
408
|
if (typeof source[i] !== 'undefined') {
|
336
409
|
obj[i] = source[i];
|
@@ -366,6 +439,21 @@ exports.merge = function (target, source, options) {
|
|
366
439
|
mergeTarget = exports.arrayToObject(target, options);
|
367
440
|
}
|
368
441
|
|
442
|
+
if (Array.isArray(target) && Array.isArray(source)) {
|
443
|
+
source.forEach(function (item, i) {
|
444
|
+
if (has.call(target, i)) {
|
445
|
+
if (target[i] && typeof target[i] === 'object') {
|
446
|
+
target[i] = exports.merge(target[i], item, options);
|
447
|
+
} else {
|
448
|
+
target.push(item);
|
449
|
+
}
|
450
|
+
} else {
|
451
|
+
target[i] = item;
|
452
|
+
}
|
453
|
+
});
|
454
|
+
return target;
|
455
|
+
}
|
456
|
+
|
369
457
|
return Object.keys(source).reduce(function (acc, key) {
|
370
458
|
var value = source[key];
|
371
459
|
|
@@ -463,10 +551,9 @@ exports.compact = function (obj, references) {
|
|
463
551
|
}
|
464
552
|
|
465
553
|
var keys = Object.keys(obj);
|
466
|
-
|
467
|
-
var key = keys[j];
|
554
|
+
keys.forEach(function (key) {
|
468
555
|
obj[key] = exports.compact(obj[key], refs);
|
469
|
-
}
|
556
|
+
});
|
470
557
|
|
471
558
|
return obj;
|
472
559
|
};
|
@@ -483,5 +570,5 @@ exports.isBuffer = function (obj) {
|
|
483
570
|
return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
|
484
571
|
};
|
485
572
|
|
486
|
-
},{}]},{},[
|
573
|
+
},{}]},{},[2])(2)
|
487
574
|
});
|
@@ -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,17 +1,19 @@
|
|
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
19
|
var parseValues = function parseValues(str, options) {
|
@@ -22,21 +24,18 @@ 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
|
|
@@ -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,7 +111,7 @@ 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].replace(/\[|\]/g, ''))) {
|
116
115
|
if (!options.allowPrototypes) {
|
117
116
|
continue;
|
118
117
|
}
|
@@ -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
|
};
|
@@ -1,6 +1,7 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
|
-
var
|
3
|
+
var utils = require('./utils');
|
4
|
+
var formats = require('./formats');
|
4
5
|
|
5
6
|
var arrayPrefixGenerators = {
|
6
7
|
brackets: function brackets(prefix) {
|
@@ -14,20 +15,25 @@ var arrayPrefixGenerators = {
|
|
14
15
|
}
|
15
16
|
};
|
16
17
|
|
18
|
+
var toISO = Date.prototype.toISOString;
|
19
|
+
|
17
20
|
var defaults = {
|
18
21
|
delimiter: '&',
|
19
|
-
strictNullHandling: false,
|
20
|
-
skipNulls: false,
|
21
22
|
encode: true,
|
22
|
-
encoder:
|
23
|
+
encoder: utils.encode,
|
24
|
+
serializeDate: function serializeDate(date) {
|
25
|
+
return toISO.call(date);
|
26
|
+
},
|
27
|
+
skipNulls: false,
|
28
|
+
strictNullHandling: false
|
23
29
|
};
|
24
30
|
|
25
|
-
var stringify = function stringify(object, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots) {
|
31
|
+
var stringify = function stringify(object, prefix, generateArrayPrefix, strictNullHandling, skipNulls, encoder, filter, sort, allowDots, serializeDate, formatter) {
|
26
32
|
var obj = object;
|
27
33
|
if (typeof filter === 'function') {
|
28
34
|
obj = filter(prefix, obj);
|
29
35
|
} else if (obj instanceof Date) {
|
30
|
-
obj = obj
|
36
|
+
obj = serializeDate(obj);
|
31
37
|
} else if (obj === null) {
|
32
38
|
if (strictNullHandling) {
|
33
39
|
return encoder ? encoder(prefix) : prefix;
|
@@ -36,11 +42,11 @@ var stringify = function stringify(object, prefix, generateArrayPrefix, strictNu
|
|
36
42
|
obj = '';
|
37
43
|
}
|
38
44
|
|
39
|
-
if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' ||
|
45
|
+
if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) {
|
40
46
|
if (encoder) {
|
41
|
-
return [encoder(prefix) + '=' + encoder(obj)];
|
47
|
+
return [formatter(encoder(prefix)) + '=' + formatter(encoder(obj))];
|
42
48
|
}
|
43
|
-
return [prefix + '=' + String(obj)];
|
49
|
+
return [formatter(prefix) + '=' + formatter(String(obj))];
|
44
50
|
}
|
45
51
|
|
46
52
|
var values = [];
|
@@ -65,9 +71,33 @@ var stringify = function stringify(object, prefix, generateArrayPrefix, strictNu
|
|
65
71
|
}
|
66
72
|
|
67
73
|
if (Array.isArray(obj)) {
|
68
|
-
values = values.concat(stringify(
|
74
|
+
values = values.concat(stringify(
|
75
|
+
obj[key],
|
76
|
+
generateArrayPrefix(prefix, key),
|
77
|
+
generateArrayPrefix,
|
78
|
+
strictNullHandling,
|
79
|
+
skipNulls,
|
80
|
+
encoder,
|
81
|
+
filter,
|
82
|
+
sort,
|
83
|
+
allowDots,
|
84
|
+
serializeDate,
|
85
|
+
formatter
|
86
|
+
));
|
69
87
|
} else {
|
70
|
-
values = values.concat(stringify(
|
88
|
+
values = values.concat(stringify(
|
89
|
+
obj[key],
|
90
|
+
prefix + (allowDots ? '.' + key : '[' + key + ']'),
|
91
|
+
generateArrayPrefix,
|
92
|
+
strictNullHandling,
|
93
|
+
skipNulls,
|
94
|
+
encoder,
|
95
|
+
filter,
|
96
|
+
sort,
|
97
|
+
allowDots,
|
98
|
+
serializeDate,
|
99
|
+
formatter
|
100
|
+
));
|
71
101
|
}
|
72
102
|
}
|
73
103
|
|
@@ -84,6 +114,13 @@ module.exports = function (object, opts) {
|
|
84
114
|
var encoder = encode ? (typeof options.encoder === 'function' ? options.encoder : defaults.encoder) : null;
|
85
115
|
var sort = typeof options.sort === 'function' ? options.sort : null;
|
86
116
|
var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;
|
117
|
+
var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate;
|
118
|
+
if (typeof options.format === 'undefined') {
|
119
|
+
options.format = formats.default;
|
120
|
+
} else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) {
|
121
|
+
throw new TypeError('Unknown format option provided.');
|
122
|
+
}
|
123
|
+
var formatter = formats.formatters[options.format];
|
87
124
|
var objKeys;
|
88
125
|
var filter;
|
89
126
|
|
@@ -95,7 +132,8 @@ module.exports = function (object, opts) {
|
|
95
132
|
filter = options.filter;
|
96
133
|
obj = filter('', obj);
|
97
134
|
} else if (Array.isArray(options.filter)) {
|
98
|
-
|
135
|
+
filter = options.filter;
|
136
|
+
objKeys = filter;
|
99
137
|
}
|
100
138
|
|
101
139
|
var keys = [];
|
@@ -130,7 +168,19 @@ module.exports = function (object, opts) {
|
|
130
168
|
continue;
|
131
169
|
}
|
132
170
|
|
133
|
-
keys = keys.concat(stringify(
|
171
|
+
keys = keys.concat(stringify(
|
172
|
+
obj[key],
|
173
|
+
key,
|
174
|
+
generateArrayPrefix,
|
175
|
+
strictNullHandling,
|
176
|
+
skipNulls,
|
177
|
+
encoder,
|
178
|
+
filter,
|
179
|
+
sort,
|
180
|
+
allowDots,
|
181
|
+
serializeDate,
|
182
|
+
formatter
|
183
|
+
));
|
134
184
|
}
|
135
185
|
|
136
186
|
return keys.join(delimiter);
|
@@ -1,16 +1,18 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
|
+
var has = Object.prototype.hasOwnProperty;
|
4
|
+
|
3
5
|
var hexTable = (function () {
|
4
|
-
var array =
|
6
|
+
var array = [];
|
5
7
|
for (var i = 0; i < 256; ++i) {
|
6
|
-
array
|
8
|
+
array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
|
7
9
|
}
|
8
10
|
|
9
11
|
return array;
|
10
12
|
}());
|
11
13
|
|
12
14
|
exports.arrayToObject = function (source, options) {
|
13
|
-
var obj = options.plainObjects ? Object.create(null) : {};
|
15
|
+
var obj = options && options.plainObjects ? Object.create(null) : {};
|
14
16
|
for (var i = 0; i < source.length; ++i) {
|
15
17
|
if (typeof source[i] !== 'undefined') {
|
16
18
|
obj[i] = source[i];
|
@@ -46,6 +48,21 @@ exports.merge = function (target, source, options) {
|
|
46
48
|
mergeTarget = exports.arrayToObject(target, options);
|
47
49
|
}
|
48
50
|
|
51
|
+
if (Array.isArray(target) && Array.isArray(source)) {
|
52
|
+
source.forEach(function (item, i) {
|
53
|
+
if (has.call(target, i)) {
|
54
|
+
if (target[i] && typeof target[i] === 'object') {
|
55
|
+
target[i] = exports.merge(target[i], item, options);
|
56
|
+
} else {
|
57
|
+
target.push(item);
|
58
|
+
}
|
59
|
+
} else {
|
60
|
+
target[i] = item;
|
61
|
+
}
|
62
|
+
});
|
63
|
+
return target;
|
64
|
+
}
|
65
|
+
|
49
66
|
return Object.keys(source).reduce(function (acc, key) {
|
50
67
|
var value = source[key];
|
51
68
|
|
@@ -143,10 +160,9 @@ exports.compact = function (obj, references) {
|
|
143
160
|
}
|
144
161
|
|
145
162
|
var keys = Object.keys(obj);
|
146
|
-
|
147
|
-
var key = keys[j];
|
163
|
+
keys.forEach(function (key) {
|
148
164
|
obj[key] = exports.compact(obj[key], refs);
|
149
|
-
}
|
165
|
+
});
|
150
166
|
|
151
167
|
return obj;
|
152
168
|
};
|