ai 1.1.0 → 2.0.0
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.
- package/LICENSE +10 -24
- package/dist/ai-stream.d.ts +18 -0
- package/dist/ai-stream.js +132 -0
- package/dist/ai-stream.mjs +13 -0
- package/dist/anthropic-stream.d.ts +5 -0
- package/dist/anthropic-stream.js +133 -0
- package/dist/anthropic-stream.mjs +8 -0
- package/dist/chunk-265FSSO4.mjs +91 -0
- package/dist/chunk-2L3ZO4UM.mjs +45 -0
- package/dist/chunk-EZJ7FC5E.mjs +33 -0
- package/dist/chunk-JGDC3BXD.mjs +22 -0
- package/dist/chunk-NK2CVBLI.mjs +38 -0
- package/dist/chunk-PEYAHBDF.mjs +43 -0
- package/dist/chunk-TJMME6CL.mjs +24 -0
- package/dist/huggingface-stream.d.ts +5 -0
- package/dist/huggingface-stream.js +121 -0
- package/dist/huggingface-stream.mjs +8 -0
- package/dist/index.d.ts +131 -0
- package/dist/index.js +278 -0
- package/dist/index.mjs +35 -0
- package/dist/index.test.d.ts +2 -0
- package/dist/index.test.js +12 -0
- package/dist/index.test.mjs +10 -0
- package/dist/langchain-stream.d.ts +12 -0
- package/dist/langchain-stream.js +102 -0
- package/dist/langchain-stream.mjs +8 -0
- package/dist/openai-stream.d.ts +5 -0
- package/dist/openai-stream.js +144 -0
- package/dist/openai-stream.mjs +8 -0
- package/dist/streaming-text-response.d.ts +17 -0
- package/dist/streaming-text-response.js +75 -0
- package/dist/streaming-text-response.mjs +9 -0
- package/package.json +78 -29
- package/react/dist/chunk-5PP6W52J.mjs +202 -0
- package/react/dist/chunk-6EH3SWMP.mjs +55 -0
- package/react/dist/chunk-PW6HSU2N.mjs +154 -0
- package/react/dist/index.d.ts +3 -0
- package/react/dist/index.js +424 -0
- package/react/dist/index.mjs +12 -0
- package/react/dist/types-f862f74a.d.ts +123 -0
- package/react/dist/use-chat.d.ts +42 -0
- package/react/dist/use-chat.js +276 -0
- package/react/dist/use-chat.mjs +8 -0
- package/react/dist/use-completion.d.ts +47 -0
- package/react/dist/use-completion.js +229 -0
- package/react/dist/use-completion.mjs +8 -0
- package/svelte/dist/chunk-6USBQIV6.mjs +177 -0
- package/svelte/dist/chunk-BQ64GHZ3.mjs +136 -0
- package/svelte/dist/chunk-CENOSGDG.mjs +493 -0
- package/svelte/dist/index.d.ts +4 -0
- package/svelte/dist/index.js +808 -0
- package/svelte/dist/index.mjs +11 -0
- package/svelte/dist/types-f862f74a.d.ts +123 -0
- package/svelte/dist/use-chat.d.ts +39 -0
- package/svelte/dist/use-chat.js +680 -0
- package/svelte/dist/use-chat.mjs +7 -0
- package/svelte/dist/use-completion.d.ts +38 -0
- package/svelte/dist/use-completion.js +640 -0
- package/svelte/dist/use-completion.mjs +7 -0
- package/.npmignore +0 -15
- package/.travis.yml +0 -4
- package/README.md +0 -21
- package/bin/ai.js +0 -22
- package/index.js +0 -37
- package/node_modules/request/.npmignore +0 -2
- package/node_modules/request/.travis.yml +0 -12
- package/node_modules/request/CHANGELOG.md +0 -954
- package/node_modules/request/LICENSE +0 -55
- package/node_modules/request/README.md +0 -421
- package/node_modules/request/index.js +0 -166
- package/node_modules/request/lib/cookies.js +0 -40
- package/node_modules/request/lib/copy.js +0 -8
- package/node_modules/request/lib/debug.js +0 -7
- package/node_modules/request/lib/getSafe.js +0 -34
- package/node_modules/request/lib/optional.js +0 -5
- package/node_modules/request/node_modules/aws-sign2/LICENSE +0 -55
- package/node_modules/request/node_modules/aws-sign2/README.md +0 -4
- package/node_modules/request/node_modules/aws-sign2/index.js +0 -202
- package/node_modules/request/node_modules/aws-sign2/package.json +0 -47
- package/node_modules/request/node_modules/forever-agent/LICENSE +0 -55
- package/node_modules/request/node_modules/forever-agent/README.md +0 -4
- package/node_modules/request/node_modules/forever-agent/index.js +0 -119
- package/node_modules/request/node_modules/forever-agent/package.json +0 -46
- package/node_modules/request/node_modules/form-data/License +0 -19
- package/node_modules/request/node_modules/form-data/Readme.md +0 -175
- package/node_modules/request/node_modules/form-data/lib/form_data.js +0 -351
- package/node_modules/request/node_modules/form-data/node_modules/async/.travis.yml +0 -3
- package/node_modules/request/node_modules/form-data/node_modules/async/LICENSE +0 -19
- package/node_modules/request/node_modules/form-data/node_modules/async/README.md +0 -1646
- package/node_modules/request/node_modules/form-data/node_modules/async/component.json +0 -11
- package/node_modules/request/node_modules/form-data/node_modules/async/lib/async.js +0 -1123
- package/node_modules/request/node_modules/form-data/node_modules/async/package.json +0 -60
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/License +0 -19
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/Readme.md +0 -132
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/lib/combined_stream.js +0 -186
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/.npmignore +0 -2
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/License +0 -19
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Makefile +0 -7
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Readme.md +0 -154
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js +0 -99
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/package.json +0 -42
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/common.js +0 -6
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js +0 -38
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-auto-pause.js +0 -21
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-pause.js +0 -14
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream.js +0 -48
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-handle-source-errors.js +0 -15
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-max-data-size.js +0 -18
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-pipe-resumes.js +0 -13
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-proxy-readable.js +0 -13
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/run.js +0 -7
- package/node_modules/request/node_modules/form-data/node_modules/combined-stream/package.json +0 -61
- package/node_modules/request/node_modules/form-data/node_modules/mime/LICENSE +0 -19
- package/node_modules/request/node_modules/form-data/node_modules/mime/README.md +0 -66
- package/node_modules/request/node_modules/form-data/node_modules/mime/mime.js +0 -114
- package/node_modules/request/node_modules/form-data/node_modules/mime/package.json +0 -59
- package/node_modules/request/node_modules/form-data/node_modules/mime/test.js +0 -84
- package/node_modules/request/node_modules/form-data/node_modules/mime/types/mime.types +0 -1588
- package/node_modules/request/node_modules/form-data/node_modules/mime/types/node.types +0 -77
- package/node_modules/request/node_modules/form-data/package.json +0 -80
- package/node_modules/request/node_modules/hawk/.npmignore +0 -18
- package/node_modules/request/node_modules/hawk/.travis.yml +0 -5
- package/node_modules/request/node_modules/hawk/LICENSE +0 -24
- package/node_modules/request/node_modules/hawk/Makefile +0 -10
- package/node_modules/request/node_modules/hawk/README.md +0 -625
- package/node_modules/request/node_modules/hawk/example/usage.js +0 -78
- package/node_modules/request/node_modules/hawk/images/hawk.png +0 -0
- package/node_modules/request/node_modules/hawk/images/logo.png +0 -0
- package/node_modules/request/node_modules/hawk/index.js +0 -1
- package/node_modules/request/node_modules/hawk/lib/browser.js +0 -507
- package/node_modules/request/node_modules/hawk/lib/client.js +0 -371
- package/node_modules/request/node_modules/hawk/lib/crypto.js +0 -118
- package/node_modules/request/node_modules/hawk/lib/index.js +0 -15
- package/node_modules/request/node_modules/hawk/lib/server.js +0 -523
- package/node_modules/request/node_modules/hawk/lib/utils.js +0 -183
- package/node_modules/request/node_modules/hawk/node_modules/boom/.npmignore +0 -18
- package/node_modules/request/node_modules/hawk/node_modules/boom/.travis.yml +0 -5
- package/node_modules/request/node_modules/hawk/node_modules/boom/LICENSE +0 -24
- package/node_modules/request/node_modules/hawk/node_modules/boom/Makefile +0 -11
- package/node_modules/request/node_modules/hawk/node_modules/boom/README.md +0 -6
- package/node_modules/request/node_modules/hawk/node_modules/boom/images/boom.png +0 -0
- package/node_modules/request/node_modules/hawk/node_modules/boom/index.js +0 -1
- package/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js +0 -207
- package/node_modules/request/node_modules/hawk/node_modules/boom/package.json +0 -64
- package/node_modules/request/node_modules/hawk/node_modules/boom/test/index.js +0 -245
- package/node_modules/request/node_modules/hawk/node_modules/cryptiles/.npmignore +0 -18
- package/node_modules/request/node_modules/hawk/node_modules/cryptiles/.travis.yml +0 -5
- package/node_modules/request/node_modules/hawk/node_modules/cryptiles/LICENSE +0 -24
- package/node_modules/request/node_modules/hawk/node_modules/cryptiles/Makefile +0 -11
- package/node_modules/request/node_modules/hawk/node_modules/cryptiles/README.md +0 -6
- package/node_modules/request/node_modules/hawk/node_modules/cryptiles/index.js +0 -1
- package/node_modules/request/node_modules/hawk/node_modules/cryptiles/lib/index.js +0 -68
- package/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json +0 -65
- package/node_modules/request/node_modules/hawk/node_modules/cryptiles/test/index.js +0 -101
- package/node_modules/request/node_modules/hawk/node_modules/hoek/.npmignore +0 -18
- package/node_modules/request/node_modules/hawk/node_modules/hoek/.travis.yml +0 -5
- package/node_modules/request/node_modules/hawk/node_modules/hoek/LICENSE +0 -33
- package/node_modules/request/node_modules/hawk/node_modules/hoek/Makefile +0 -10
- package/node_modules/request/node_modules/hawk/node_modules/hoek/README.md +0 -436
- package/node_modules/request/node_modules/hawk/node_modules/hoek/images/hoek.png +0 -0
- package/node_modules/request/node_modules/hawk/node_modules/hoek/index.js +0 -1
- package/node_modules/request/node_modules/hawk/node_modules/hoek/lib/escape.js +0 -132
- package/node_modules/request/node_modules/hawk/node_modules/hoek/lib/index.js +0 -585
- package/node_modules/request/node_modules/hawk/node_modules/hoek/package.json +0 -70
- package/node_modules/request/node_modules/hawk/node_modules/hoek/test/escaper.js +0 -86
- package/node_modules/request/node_modules/hawk/node_modules/hoek/test/index.js +0 -1078
- package/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test1.js +0 -1
- package/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test2.js +0 -1
- package/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test3.js +0 -1
- package/node_modules/request/node_modules/hawk/node_modules/sntp/.npmignore +0 -18
- package/node_modules/request/node_modules/hawk/node_modules/sntp/.travis.yml +0 -5
- package/node_modules/request/node_modules/hawk/node_modules/sntp/LICENSE +0 -24
- package/node_modules/request/node_modules/hawk/node_modules/sntp/Makefile +0 -11
- package/node_modules/request/node_modules/hawk/node_modules/sntp/README.md +0 -68
- package/node_modules/request/node_modules/hawk/node_modules/sntp/examples/offset.js +0 -16
- package/node_modules/request/node_modules/hawk/node_modules/sntp/examples/time.js +0 -25
- package/node_modules/request/node_modules/hawk/node_modules/sntp/index.js +0 -1
- package/node_modules/request/node_modules/hawk/node_modules/sntp/lib/index.js +0 -409
- package/node_modules/request/node_modules/hawk/node_modules/sntp/package.json +0 -65
- package/node_modules/request/node_modules/hawk/node_modules/sntp/test/index.js +0 -359
- package/node_modules/request/node_modules/hawk/package.json +0 -70
- package/node_modules/request/node_modules/hawk/test/browser.js +0 -817
- package/node_modules/request/node_modules/hawk/test/client.js +0 -206
- package/node_modules/request/node_modules/hawk/test/crypto.js +0 -86
- package/node_modules/request/node_modules/hawk/test/index.js +0 -316
- package/node_modules/request/node_modules/hawk/test/message.js +0 -246
- package/node_modules/request/node_modules/hawk/test/readme.js +0 -98
- package/node_modules/request/node_modules/hawk/test/server.js +0 -686
- package/node_modules/request/node_modules/hawk/test/uri.js +0 -456
- package/node_modules/request/node_modules/hawk/test/utils.js +0 -120
- package/node_modules/request/node_modules/http-signature/.dir-locals.el +0 -6
- package/node_modules/request/node_modules/http-signature/.npmignore +0 -7
- package/node_modules/request/node_modules/http-signature/LICENSE +0 -18
- package/node_modules/request/node_modules/http-signature/README.md +0 -75
- package/node_modules/request/node_modules/http-signature/http_signing.md +0 -296
- package/node_modules/request/node_modules/http-signature/lib/index.js +0 -25
- package/node_modules/request/node_modules/http-signature/lib/parser.js +0 -304
- package/node_modules/request/node_modules/http-signature/lib/signer.js +0 -179
- package/node_modules/request/node_modules/http-signature/lib/util.js +0 -249
- package/node_modules/request/node_modules/http-signature/lib/verify.js +0 -42
- package/node_modules/request/node_modules/http-signature/node_modules/asn1/.npmignore +0 -2
- package/node_modules/request/node_modules/http-signature/node_modules/asn1/LICENSE +0 -19
- package/node_modules/request/node_modules/http-signature/node_modules/asn1/README.md +0 -50
- package/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/errors.js +0 -13
- package/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/index.js +0 -27
- package/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/reader.js +0 -267
- package/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/types.js +0 -36
- package/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/writer.js +0 -317
- package/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/index.js +0 -20
- package/node_modules/request/node_modules/http-signature/node_modules/asn1/package.json +0 -63
- package/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/reader.test.js +0 -172
- package/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/writer.test.js +0 -296
- package/node_modules/request/node_modules/http-signature/node_modules/assert-plus/README.md +0 -126
- package/node_modules/request/node_modules/http-signature/node_modules/assert-plus/assert.js +0 -196
- package/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json +0 -38
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/CHANGELOG +0 -71
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/LICENSE +0 -24
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/README +0 -82
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/README.old +0 -298
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/ctf.js +0 -245
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/ctio.js +0 -1485
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/ctype.js +0 -944
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/man/man3ctype/ctio.3ctype +0 -241
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/package.json +0 -36
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tools/jsl.conf +0 -129
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tools/jsstyle +0 -839
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/float.json +0 -13
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/int.json +0 -13
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/psinfo.json +0 -104
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/struct.json +0 -19
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.fail.js +0 -39
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.float.js +0 -14
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.int.js +0 -14
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.psinfo.js +0 -17
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.struct.js +0 -18
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/tst.typedef.js +0 -15
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctf/typedef.json +0 -14
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/float/tst.rfloat.js +0 -767
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/float/tst.wfloat.js +0 -753
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.64.js +0 -638
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.rint.js +0 -101
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.wbounds.js +0 -53
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/int/tst.wint.js +0 -92
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.64.js +0 -451
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.roundtrip.js +0 -81
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.ruint.js +0 -95
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctio/uint/tst.wuint.js +0 -156
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.basicr.js +0 -50
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.basicw.js +0 -44
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.char.js +0 -42
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.endian.js +0 -45
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.oldwrite.js +0 -28
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.readSize.js +0 -128
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.structw.js +0 -28
- package/node_modules/request/node_modules/http-signature/node_modules/ctype/tst/ctype/tst.writeStruct.js +0 -31
- package/node_modules/request/node_modules/http-signature/package.json +0 -54
- package/node_modules/request/node_modules/json-stringify-safe/LICENSE +0 -27
- package/node_modules/request/node_modules/json-stringify-safe/README.md +0 -49
- package/node_modules/request/node_modules/json-stringify-safe/package.json +0 -51
- package/node_modules/request/node_modules/json-stringify-safe/stringify.js +0 -39
- package/node_modules/request/node_modules/json-stringify-safe/test.js +0 -128
- package/node_modules/request/node_modules/mime-types/.npmignore +0 -14
- package/node_modules/request/node_modules/mime-types/.travis.yml +0 -12
- package/node_modules/request/node_modules/mime-types/LICENSE +0 -22
- package/node_modules/request/node_modules/mime-types/Makefile +0 -9
- package/node_modules/request/node_modules/mime-types/README.md +0 -101
- package/node_modules/request/node_modules/mime-types/SOURCES.md +0 -17
- package/node_modules/request/node_modules/mime-types/component.json +0 -16
- package/node_modules/request/node_modules/mime-types/lib/custom.json +0 -27
- package/node_modules/request/node_modules/mime-types/lib/index.js +0 -75
- package/node_modules/request/node_modules/mime-types/lib/mime.json +0 -3317
- package/node_modules/request/node_modules/mime-types/lib/node.json +0 -55
- package/node_modules/request/node_modules/mime-types/package.json +0 -69
- package/node_modules/request/node_modules/node-uuid/.npmignore +0 -2
- package/node_modules/request/node_modules/node-uuid/LICENSE.md +0 -2
- package/node_modules/request/node_modules/node-uuid/README.md +0 -207
- package/node_modules/request/node_modules/node-uuid/benchmark/README.md +0 -53
- package/node_modules/request/node_modules/node-uuid/benchmark/bench.gnu +0 -174
- package/node_modules/request/node_modules/node-uuid/benchmark/bench.sh +0 -34
- package/node_modules/request/node_modules/node-uuid/benchmark/benchmark-native.c +0 -34
- package/node_modules/request/node_modules/node-uuid/benchmark/benchmark.js +0 -84
- package/node_modules/request/node_modules/node-uuid/component.json +0 -18
- package/node_modules/request/node_modules/node-uuid/package.json +0 -54
- package/node_modules/request/node_modules/node-uuid/test/compare_v1.js +0 -63
- package/node_modules/request/node_modules/node-uuid/test/test.html +0 -17
- package/node_modules/request/node_modules/node-uuid/test/test.js +0 -228
- package/node_modules/request/node_modules/node-uuid/uuid.js +0 -245
- package/node_modules/request/node_modules/oauth-sign/LICENSE +0 -55
- package/node_modules/request/node_modules/oauth-sign/README.md +0 -4
- package/node_modules/request/node_modules/oauth-sign/index.js +0 -43
- package/node_modules/request/node_modules/oauth-sign/package.json +0 -49
- package/node_modules/request/node_modules/oauth-sign/test.js +0 -49
- package/node_modules/request/node_modules/qs/.jshintignore +0 -1
- package/node_modules/request/node_modules/qs/.jshintrc +0 -10
- package/node_modules/request/node_modules/qs/.npmignore +0 -18
- package/node_modules/request/node_modules/qs/.travis.yml +0 -4
- package/node_modules/request/node_modules/qs/LICENSE +0 -28
- package/node_modules/request/node_modules/qs/Makefile +0 -8
- package/node_modules/request/node_modules/qs/Readme.md +0 -120
- package/node_modules/request/node_modules/qs/index.js +0 -1
- package/node_modules/request/node_modules/qs/lib/index.js +0 -15
- package/node_modules/request/node_modules/qs/lib/parse.js +0 -151
- package/node_modules/request/node_modules/qs/lib/stringify.js +0 -52
- package/node_modules/request/node_modules/qs/lib/utils.js +0 -131
- package/node_modules/request/node_modules/qs/package.json +0 -61
- package/node_modules/request/node_modules/qs/test/parse.js +0 -236
- package/node_modules/request/node_modules/qs/test/stringify.js +0 -123
- package/node_modules/request/node_modules/stringstream/.npmignore +0 -15
- package/node_modules/request/node_modules/stringstream/.travis.yml +0 -4
- package/node_modules/request/node_modules/stringstream/LICENSE.txt +0 -4
- package/node_modules/request/node_modules/stringstream/README.md +0 -38
- package/node_modules/request/node_modules/stringstream/example.js +0 -27
- package/node_modules/request/node_modules/stringstream/package.json +0 -48
- package/node_modules/request/node_modules/stringstream/stringstream.js +0 -102
- package/node_modules/request/node_modules/tough-cookie/.jshintrc +0 -70
- package/node_modules/request/node_modules/tough-cookie/.npmignore +0 -3
- package/node_modules/request/node_modules/tough-cookie/.travis.yml +0 -8
- package/node_modules/request/node_modules/tough-cookie/LICENSE +0 -78
- package/node_modules/request/node_modules/tough-cookie/README.md +0 -412
- package/node_modules/request/node_modules/tough-cookie/generate-pubsuffix.js +0 -239
- package/node_modules/request/node_modules/tough-cookie/lib/cookie.js +0 -1107
- package/node_modules/request/node_modules/tough-cookie/lib/memstore.js +0 -123
- package/node_modules/request/node_modules/tough-cookie/lib/pubsuffix.js +0 -69
- package/node_modules/request/node_modules/tough-cookie/lib/store.js +0 -37
- package/node_modules/request/node_modules/tough-cookie/node_modules/punycode/LICENSE-MIT.txt +0 -20
- package/node_modules/request/node_modules/tough-cookie/node_modules/punycode/README.md +0 -176
- package/node_modules/request/node_modules/tough-cookie/node_modules/punycode/package.json +0 -87
- package/node_modules/request/node_modules/tough-cookie/node_modules/punycode/punycode.js +0 -528
- package/node_modules/request/node_modules/tough-cookie/package.json +0 -67
- package/node_modules/request/node_modules/tough-cookie/public-suffix.txt +0 -5229
- package/node_modules/request/node_modules/tough-cookie/test.js +0 -1625
- package/node_modules/request/node_modules/tunnel-agent/.jshintrc +0 -5
- package/node_modules/request/node_modules/tunnel-agent/LICENSE +0 -55
- package/node_modules/request/node_modules/tunnel-agent/README.md +0 -4
- package/node_modules/request/node_modules/tunnel-agent/index.js +0 -236
- package/node_modules/request/node_modules/tunnel-agent/package.json +0 -46
- package/node_modules/request/package.json +0 -77
- package/node_modules/request/request.js +0 -1428
- package/test/fixtures/github-response.json +0 -1367
- package/test/index.js +0 -55
@@ -1,151 +0,0 @@
|
|
1
|
-
// Load modules
|
2
|
-
|
3
|
-
var Utils = require('./utils');
|
4
|
-
|
5
|
-
|
6
|
-
// Declare internals
|
7
|
-
|
8
|
-
var internals = {
|
9
|
-
depth: 5,
|
10
|
-
arrayLimit: 20,
|
11
|
-
parametersLimit: 1000
|
12
|
-
};
|
13
|
-
|
14
|
-
|
15
|
-
internals.parseValues = function (str) {
|
16
|
-
|
17
|
-
var obj = {};
|
18
|
-
var parts = str.split('&').slice(0, internals.parametersLimit);
|
19
|
-
|
20
|
-
for (var i = 0, il = parts.length; i < il; ++i) {
|
21
|
-
var part = parts[i];
|
22
|
-
var pos = part.indexOf(']=') === -1 ? part.indexOf('=') : part.indexOf(']=') + 1;
|
23
|
-
|
24
|
-
if (pos === -1) {
|
25
|
-
obj[Utils.decode(part)] = '';
|
26
|
-
}
|
27
|
-
else {
|
28
|
-
var key = Utils.decode(part.slice(0, pos));
|
29
|
-
var val = Utils.decode(part.slice(pos + 1));
|
30
|
-
|
31
|
-
if (!obj[key]) {
|
32
|
-
obj[key] = val;
|
33
|
-
}
|
34
|
-
else {
|
35
|
-
obj[key] = [].concat(obj[key]).concat(val);
|
36
|
-
}
|
37
|
-
}
|
38
|
-
}
|
39
|
-
|
40
|
-
return obj;
|
41
|
-
};
|
42
|
-
|
43
|
-
|
44
|
-
internals.parseObject = function (chain, val) {
|
45
|
-
|
46
|
-
if (!chain.length) {
|
47
|
-
return val;
|
48
|
-
}
|
49
|
-
|
50
|
-
var root = chain.shift();
|
51
|
-
|
52
|
-
var obj = {};
|
53
|
-
if (root === '[]') {
|
54
|
-
obj = [];
|
55
|
-
obj = obj.concat(internals.parseObject(chain, val));
|
56
|
-
}
|
57
|
-
else {
|
58
|
-
var cleanRoot = root[0] === '[' && root[root.length - 1] === ']' ? root.slice(1, root.length - 1) : root;
|
59
|
-
var index = parseInt(cleanRoot, 10);
|
60
|
-
if (!isNaN(index) &&
|
61
|
-
root !== cleanRoot &&
|
62
|
-
index <= internals.arrayLimit) {
|
63
|
-
|
64
|
-
obj = [];
|
65
|
-
obj[index] = internals.parseObject(chain, val);
|
66
|
-
}
|
67
|
-
else {
|
68
|
-
obj[cleanRoot] = internals.parseObject(chain, val);
|
69
|
-
}
|
70
|
-
}
|
71
|
-
|
72
|
-
return obj;
|
73
|
-
};
|
74
|
-
|
75
|
-
|
76
|
-
internals.parseKeys = function (key, val, depth) {
|
77
|
-
|
78
|
-
if (!key) {
|
79
|
-
return;
|
80
|
-
}
|
81
|
-
|
82
|
-
depth = typeof depth === 'undefined' ? internals.depth : depth;
|
83
|
-
|
84
|
-
// The regex chunks
|
85
|
-
|
86
|
-
var parent = /^([^\[\]]*)/;
|
87
|
-
var child = /(\[[^\[\]]*\])/g;
|
88
|
-
|
89
|
-
// Get the parent
|
90
|
-
|
91
|
-
var segment = parent.exec(key);
|
92
|
-
|
93
|
-
// Don't allow them to overwrite object prototype properties
|
94
|
-
|
95
|
-
if (Object.prototype.hasOwnProperty(segment[1])) {
|
96
|
-
return;
|
97
|
-
}
|
98
|
-
|
99
|
-
// Stash the parent if it exists
|
100
|
-
|
101
|
-
var keys = [];
|
102
|
-
if (segment[1]) {
|
103
|
-
keys.push(segment[1]);
|
104
|
-
}
|
105
|
-
|
106
|
-
// Loop through children appending to the array until we hit depth
|
107
|
-
|
108
|
-
var i = 0;
|
109
|
-
while ((segment = child.exec(key)) !== null && i < depth) {
|
110
|
-
|
111
|
-
++i;
|
112
|
-
if (!Object.prototype.hasOwnProperty(segment[1].replace(/\[|\]/g, ''))) {
|
113
|
-
keys.push(segment[1]);
|
114
|
-
}
|
115
|
-
}
|
116
|
-
|
117
|
-
// If there's a remainder, just add whatever is left
|
118
|
-
|
119
|
-
if (segment) {
|
120
|
-
keys.push('[' + key.slice(segment.index) + ']');
|
121
|
-
}
|
122
|
-
|
123
|
-
return internals.parseObject(keys, val);
|
124
|
-
};
|
125
|
-
|
126
|
-
|
127
|
-
module.exports = function (str, depth) {
|
128
|
-
|
129
|
-
if (str === '' ||
|
130
|
-
str === null ||
|
131
|
-
typeof str === 'undefined') {
|
132
|
-
|
133
|
-
return {};
|
134
|
-
}
|
135
|
-
|
136
|
-
var tempObj = typeof str === 'string' ? internals.parseValues(str) : Utils.clone(str);
|
137
|
-
var obj = {};
|
138
|
-
|
139
|
-
// Iterate over the keys and setup the new object
|
140
|
-
|
141
|
-
for (var key in tempObj) {
|
142
|
-
if (tempObj.hasOwnProperty(key)) {
|
143
|
-
var newObj = internals.parseKeys(key, tempObj[key], depth);
|
144
|
-
obj = Utils.merge(obj, newObj);
|
145
|
-
}
|
146
|
-
}
|
147
|
-
|
148
|
-
return Utils.compact(obj);
|
149
|
-
};
|
150
|
-
|
151
|
-
|
@@ -1,52 +0,0 @@
|
|
1
|
-
// Load modules
|
2
|
-
|
3
|
-
|
4
|
-
// Declare internals
|
5
|
-
|
6
|
-
var internals = {};
|
7
|
-
|
8
|
-
|
9
|
-
internals.stringify = function (obj, prefix) {
|
10
|
-
|
11
|
-
if (Buffer.isBuffer(obj)) {
|
12
|
-
obj = obj.toString();
|
13
|
-
}
|
14
|
-
else if (obj instanceof Date) {
|
15
|
-
obj = obj.toISOString();
|
16
|
-
}
|
17
|
-
|
18
|
-
if (typeof obj === 'string' ||
|
19
|
-
typeof obj === 'number' ||
|
20
|
-
typeof obj === 'boolean') {
|
21
|
-
|
22
|
-
return [prefix + '=' + encodeURIComponent(obj)];
|
23
|
-
}
|
24
|
-
|
25
|
-
if (obj === null) {
|
26
|
-
return [prefix];
|
27
|
-
}
|
28
|
-
|
29
|
-
var values = [];
|
30
|
-
|
31
|
-
for (var key in obj) {
|
32
|
-
if (obj.hasOwnProperty(key)) {
|
33
|
-
values = values.concat(internals.stringify(obj[key], prefix + '[' + encodeURIComponent(key) + ']'));
|
34
|
-
}
|
35
|
-
}
|
36
|
-
|
37
|
-
return values;
|
38
|
-
};
|
39
|
-
|
40
|
-
|
41
|
-
module.exports = function (obj) {
|
42
|
-
|
43
|
-
var keys = [];
|
44
|
-
|
45
|
-
for (var key in obj) {
|
46
|
-
if (obj.hasOwnProperty(key)) {
|
47
|
-
keys = keys.concat(internals.stringify(obj[key], encodeURIComponent(key)));
|
48
|
-
}
|
49
|
-
}
|
50
|
-
|
51
|
-
return keys.join('&');
|
52
|
-
};
|
@@ -1,131 +0,0 @@
|
|
1
|
-
// Load modules
|
2
|
-
|
3
|
-
|
4
|
-
// Declare internals
|
5
|
-
|
6
|
-
var internals = {};
|
7
|
-
|
8
|
-
|
9
|
-
exports.arrayToObject = function (source) {
|
10
|
-
|
11
|
-
var obj = {};
|
12
|
-
for (var i = 0, il = source.length; i < il; ++i) {
|
13
|
-
if (source[i] !== undefined &&
|
14
|
-
source[i] !== null) {
|
15
|
-
|
16
|
-
obj[i] = source[i];
|
17
|
-
}
|
18
|
-
}
|
19
|
-
|
20
|
-
return obj;
|
21
|
-
};
|
22
|
-
|
23
|
-
|
24
|
-
exports.clone = function (source) {
|
25
|
-
|
26
|
-
if (typeof source !== 'object' ||
|
27
|
-
source === null) {
|
28
|
-
|
29
|
-
return source;
|
30
|
-
}
|
31
|
-
|
32
|
-
if (Buffer.isBuffer(source)) {
|
33
|
-
return source.toString();
|
34
|
-
}
|
35
|
-
|
36
|
-
var obj = Array.isArray(source) ? [] : {};
|
37
|
-
for (var i in source) {
|
38
|
-
if (source.hasOwnProperty(i)) {
|
39
|
-
obj[i] = exports.clone(source[i]);
|
40
|
-
}
|
41
|
-
}
|
42
|
-
|
43
|
-
return obj;
|
44
|
-
};
|
45
|
-
|
46
|
-
|
47
|
-
exports.merge = function (target, source) {
|
48
|
-
|
49
|
-
if (!source) {
|
50
|
-
return target;
|
51
|
-
}
|
52
|
-
|
53
|
-
var obj = exports.clone(target);
|
54
|
-
|
55
|
-
if (Array.isArray(source)) {
|
56
|
-
for (var i = 0, il = source.length; i < il; ++i) {
|
57
|
-
if (source[i] !== undefined) {
|
58
|
-
obj[i] = source[i];
|
59
|
-
}
|
60
|
-
}
|
61
|
-
|
62
|
-
return obj;
|
63
|
-
}
|
64
|
-
|
65
|
-
if (Array.isArray(obj)) {
|
66
|
-
obj = exports.arrayToObject(obj);
|
67
|
-
}
|
68
|
-
|
69
|
-
var keys = Object.keys(source);
|
70
|
-
for (var k = 0, kl = keys.length; k < kl; ++k) {
|
71
|
-
var key = keys[k];
|
72
|
-
var value = source[key];
|
73
|
-
|
74
|
-
if (value &&
|
75
|
-
typeof value === 'object') {
|
76
|
-
|
77
|
-
if (!obj[key]) {
|
78
|
-
obj[key] = exports.clone(value);
|
79
|
-
}
|
80
|
-
else {
|
81
|
-
obj[key] = exports.merge(obj[key], value);
|
82
|
-
}
|
83
|
-
}
|
84
|
-
else {
|
85
|
-
obj[key] = value;
|
86
|
-
}
|
87
|
-
}
|
88
|
-
|
89
|
-
return obj;
|
90
|
-
};
|
91
|
-
|
92
|
-
|
93
|
-
exports.decode = function (str) {
|
94
|
-
|
95
|
-
try {
|
96
|
-
return decodeURIComponent(str.replace(/\+/g, ' '));
|
97
|
-
} catch (e) {
|
98
|
-
return str;
|
99
|
-
}
|
100
|
-
};
|
101
|
-
|
102
|
-
|
103
|
-
exports.compact = function (obj) {
|
104
|
-
|
105
|
-
if (typeof obj !== 'object') {
|
106
|
-
return obj;
|
107
|
-
}
|
108
|
-
|
109
|
-
var compacted = {};
|
110
|
-
|
111
|
-
for (var key in obj) {
|
112
|
-
if (obj.hasOwnProperty(key)) {
|
113
|
-
if (Array.isArray(obj[key])) {
|
114
|
-
compacted[key] = [];
|
115
|
-
|
116
|
-
for (var i = 0, l = obj[key].length; i < l; i++) {
|
117
|
-
if (obj[key].hasOwnProperty(i) &&
|
118
|
-
obj[key][i]) {
|
119
|
-
|
120
|
-
compacted[key].push(obj[key][i]);
|
121
|
-
}
|
122
|
-
}
|
123
|
-
}
|
124
|
-
else {
|
125
|
-
compacted[key] = exports.compact(obj[key]);
|
126
|
-
}
|
127
|
-
}
|
128
|
-
}
|
129
|
-
|
130
|
-
return compacted;
|
131
|
-
};
|
@@ -1,61 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"name": "qs",
|
3
|
-
"version": "1.0.2",
|
4
|
-
"description": "A querystring parser that supports nesting and arrays, with a depth limit",
|
5
|
-
"homepage": "https://github.com/hapijs/qs",
|
6
|
-
"main": "index.js",
|
7
|
-
"dependencies": {},
|
8
|
-
"devDependencies": {
|
9
|
-
"lab": "3.x.x"
|
10
|
-
},
|
11
|
-
"scripts": {
|
12
|
-
"test": "make test-cov"
|
13
|
-
},
|
14
|
-
"repository": {
|
15
|
-
"type": "git",
|
16
|
-
"url": "https://github.com/hapijs/qs.git"
|
17
|
-
},
|
18
|
-
"keywords": [
|
19
|
-
"querystring",
|
20
|
-
"qs"
|
21
|
-
],
|
22
|
-
"author": {
|
23
|
-
"name": "Nathan LaFreniere",
|
24
|
-
"email": "quitlahok@gmail.com"
|
25
|
-
},
|
26
|
-
"licenses": [
|
27
|
-
{
|
28
|
-
"type": "BSD",
|
29
|
-
"url": "http://github.com/hapijs/qs/raw/master/LICENSE"
|
30
|
-
}
|
31
|
-
],
|
32
|
-
"gitHead": "b7af068a898c8456a99613e474c8765dea7f41dc",
|
33
|
-
"bugs": {
|
34
|
-
"url": "https://github.com/hapijs/qs/issues"
|
35
|
-
},
|
36
|
-
"_id": "qs@1.0.2",
|
37
|
-
"_shasum": "50a93e2b5af6691c31bcea5dae78ee6ea1903768",
|
38
|
-
"_from": "qs@~1.0.0",
|
39
|
-
"_npmVersion": "1.4.21",
|
40
|
-
"_npmUser": {
|
41
|
-
"name": "nlf",
|
42
|
-
"email": "quitlahok@gmail.com"
|
43
|
-
},
|
44
|
-
"maintainers": [
|
45
|
-
{
|
46
|
-
"name": "nlf",
|
47
|
-
"email": "quitlahok@gmail.com"
|
48
|
-
},
|
49
|
-
{
|
50
|
-
"name": "hueniverse",
|
51
|
-
"email": "eran@hueniverse.com"
|
52
|
-
}
|
53
|
-
],
|
54
|
-
"dist": {
|
55
|
-
"shasum": "50a93e2b5af6691c31bcea5dae78ee6ea1903768",
|
56
|
-
"tarball": "http://registry.npmjs.org/qs/-/qs-1.0.2.tgz"
|
57
|
-
},
|
58
|
-
"directories": {},
|
59
|
-
"_resolved": "https://registry.npmjs.org/qs/-/qs-1.0.2.tgz",
|
60
|
-
"readme": "ERROR: No README data found!"
|
61
|
-
}
|
@@ -1,236 +0,0 @@
|
|
1
|
-
// Load modules
|
2
|
-
|
3
|
-
var Lab = require('lab');
|
4
|
-
var Qs = require('../');
|
5
|
-
|
6
|
-
|
7
|
-
// Declare internals
|
8
|
-
|
9
|
-
var internals = {};
|
10
|
-
|
11
|
-
|
12
|
-
// Test shortcuts
|
13
|
-
|
14
|
-
var expect = Lab.expect;
|
15
|
-
var before = Lab.before;
|
16
|
-
var after = Lab.after;
|
17
|
-
var describe = Lab.experiment;
|
18
|
-
var it = Lab.test;
|
19
|
-
|
20
|
-
|
21
|
-
describe('#parse', function () {
|
22
|
-
|
23
|
-
it('parses a simple string', function (done) {
|
24
|
-
|
25
|
-
expect(Qs.parse('0=foo')).to.deep.equal({ '0': 'foo' });
|
26
|
-
expect(Qs.parse('foo=c++')).to.deep.equal({ foo: 'c ' });
|
27
|
-
expect(Qs.parse('a[>=]=23')).to.deep.equal({ a: { '>=': '23' } });
|
28
|
-
expect(Qs.parse('a[<=>]==23')).to.deep.equal({ a: { '<=>': '=23' } });
|
29
|
-
expect(Qs.parse('a[==]=23')).to.deep.equal({ a: { '==': '23' } });
|
30
|
-
expect(Qs.parse('foo')).to.deep.equal({ foo: '' });
|
31
|
-
expect(Qs.parse('foo=bar')).to.deep.equal({ foo: 'bar' });
|
32
|
-
expect(Qs.parse(' foo = bar = baz ')).to.deep.equal({ ' foo ': ' bar = baz ' });
|
33
|
-
expect(Qs.parse('foo=bar=baz')).to.deep.equal({ foo: 'bar=baz' });
|
34
|
-
expect(Qs.parse('foo=bar&bar=baz')).to.deep.equal({ foo: 'bar', bar: 'baz' });
|
35
|
-
expect(Qs.parse('foo=bar&baz')).to.deep.equal({ foo: 'bar', baz: '' });
|
36
|
-
expect(Qs.parse('cht=p3&chd=t:60,40&chs=250x100&chl=Hello|World')).to.deep.equal({
|
37
|
-
cht: 'p3',
|
38
|
-
chd: 't:60,40',
|
39
|
-
chs: '250x100',
|
40
|
-
chl: 'Hello|World'
|
41
|
-
});
|
42
|
-
done();
|
43
|
-
});
|
44
|
-
|
45
|
-
it('parses a single nested string', function (done) {
|
46
|
-
|
47
|
-
expect(Qs.parse('a[b]=c')).to.deep.equal({ a: { b: 'c' } });
|
48
|
-
done();
|
49
|
-
});
|
50
|
-
|
51
|
-
it('parses a double nested string', function (done) {
|
52
|
-
|
53
|
-
expect(Qs.parse('a[b][c]=d')).to.deep.equal({ a: { b: { c: 'd' } } });
|
54
|
-
done();
|
55
|
-
});
|
56
|
-
|
57
|
-
it('defaults to a depth of 5', function (done) {
|
58
|
-
|
59
|
-
expect(Qs.parse('a[b][c][d][e][f][g][h]=i')).to.deep.equal({ a: { b: { c: { d: { e: { f: { '[g][h]': 'i' } } } } } } });
|
60
|
-
done();
|
61
|
-
});
|
62
|
-
|
63
|
-
it('only parses one level when depth = 1', function (done) {
|
64
|
-
|
65
|
-
expect(Qs.parse('a[b][c]=d', 1)).to.deep.equal({ a: { b: { '[c]': 'd' } } });
|
66
|
-
expect(Qs.parse('a[b][c][d]=e', 1)).to.deep.equal({ a: { b: { '[c][d]': 'e' } } });
|
67
|
-
done();
|
68
|
-
});
|
69
|
-
|
70
|
-
it('parses a simple array', function (done) {
|
71
|
-
|
72
|
-
expect(Qs.parse('a=b&a=c')).to.deep.equal({ a: ['b', 'c'] });
|
73
|
-
done();
|
74
|
-
});
|
75
|
-
|
76
|
-
it('parses an explicit array', function (done) {
|
77
|
-
|
78
|
-
expect(Qs.parse('a[]=b')).to.deep.equal({ a: ['b'] });
|
79
|
-
expect(Qs.parse('a[]=b&a[]=c')).to.deep.equal({ a: ['b', 'c'] });
|
80
|
-
expect(Qs.parse('a[]=b&a[]=c&a[]=d')).to.deep.equal({ a: ['b', 'c', 'd'] });
|
81
|
-
done();
|
82
|
-
});
|
83
|
-
|
84
|
-
it('parses a nested array', function (done) {
|
85
|
-
|
86
|
-
expect(Qs.parse('a[b][]=c&a[b][]=d')).to.deep.equal({ a: { b: ['c', 'd'] } });
|
87
|
-
expect(Qs.parse('a[>=]=25')).to.deep.equal({ a: { '>=': '25' } });
|
88
|
-
done();
|
89
|
-
});
|
90
|
-
|
91
|
-
it('allows to specify array indices', function (done) {
|
92
|
-
|
93
|
-
expect(Qs.parse('a[1]=c&a[0]=b&a[2]=d')).to.deep.equal({ a: ['b', 'c', 'd'] });
|
94
|
-
expect(Qs.parse('a[1]=c&a[0]=b')).to.deep.equal({ a: ['b', 'c'] });
|
95
|
-
expect(Qs.parse('a[1]=c')).to.deep.equal({ a: ['c'] });
|
96
|
-
done();
|
97
|
-
});
|
98
|
-
|
99
|
-
it('limits specific array indices to 20', function (done) {
|
100
|
-
|
101
|
-
expect(Qs.parse('a[20]=a')).to.deep.equal({ a: ['a'] });
|
102
|
-
expect(Qs.parse('a[21]=a')).to.deep.equal({ a: { '21': 'a' } });
|
103
|
-
done();
|
104
|
-
});
|
105
|
-
|
106
|
-
it('supports encoded = signs', function (done) {
|
107
|
-
|
108
|
-
expect(Qs.parse('he%3Dllo=th%3Dere')).to.deep.equal({ 'he=llo': 'th=ere' });
|
109
|
-
done();
|
110
|
-
});
|
111
|
-
|
112
|
-
it('is ok with url encoded strings', function (done) {
|
113
|
-
|
114
|
-
expect(Qs.parse('a[b%20c]=d')).to.deep.equal({ a: { 'b c': 'd' } });
|
115
|
-
expect(Qs.parse('a[b]=c%20d')).to.deep.equal({ a: { b: 'c d' } });
|
116
|
-
done();
|
117
|
-
});
|
118
|
-
|
119
|
-
it('allows brackets in the value', function (done) {
|
120
|
-
|
121
|
-
expect(Qs.parse('pets=["tobi"]')).to.deep.equal({ pets: '["tobi"]' });
|
122
|
-
expect(Qs.parse('operators=[">=", "<="]')).to.deep.equal({ operators: '[">=", "<="]' });
|
123
|
-
done();
|
124
|
-
});
|
125
|
-
|
126
|
-
it('allows empty values', function (done) {
|
127
|
-
|
128
|
-
expect(Qs.parse('')).to.deep.equal({});
|
129
|
-
expect(Qs.parse(null)).to.deep.equal({});
|
130
|
-
expect(Qs.parse(undefined)).to.deep.equal({});
|
131
|
-
done();
|
132
|
-
});
|
133
|
-
|
134
|
-
it('transforms arrays to objects', function (done) {
|
135
|
-
|
136
|
-
expect(Qs.parse('foo[0]=bar&foo[bad]=baz')).to.deep.equal({ foo: { '0': 'bar', bad: 'baz' } });
|
137
|
-
expect(Qs.parse('foo[bad]=baz&foo[0]=bar')).to.deep.equal({ foo: { bad: 'baz', '0': 'bar' } });
|
138
|
-
expect(Qs.parse('foo[bad]=baz&foo[]=bar')).to.deep.equal({ foo: { bad: 'baz', '0': 'bar' } });
|
139
|
-
expect(Qs.parse('foo[]=bar&foo[bad]=baz')).to.deep.equal({ foo: { '0': 'bar', bad: 'baz' } });
|
140
|
-
expect(Qs.parse('foo[bad]=baz&foo[]=bar&foo[]=foo')).to.deep.equal({ foo: { bad: 'baz', '0': 'bar', '1': 'foo' } });
|
141
|
-
done();
|
142
|
-
});
|
143
|
-
|
144
|
-
it('correctly prunes undefined values when converting an array to an object', function (done) {
|
145
|
-
|
146
|
-
expect(Qs.parse('a[2]=b&a[99999999]=c')).to.deep.equal({ a: { '2': 'b', '99999999': 'c' } });
|
147
|
-
done();
|
148
|
-
});
|
149
|
-
|
150
|
-
it('supports malformed uri characters', function (done) {
|
151
|
-
|
152
|
-
expect(Qs.parse('{%:%}')).to.deep.equal({ '{%:%}': '' });
|
153
|
-
expect(Qs.parse('foo=%:%}')).to.deep.equal({ foo: '%:%}' });
|
154
|
-
done();
|
155
|
-
});
|
156
|
-
|
157
|
-
it('doesn\'t produce empty keys', function (done) {
|
158
|
-
|
159
|
-
expect(Qs.parse('_r=1&')).to.deep.equal({ '_r': '1' });
|
160
|
-
done();
|
161
|
-
});
|
162
|
-
|
163
|
-
it('cannot override prototypes', function (done) {
|
164
|
-
|
165
|
-
var obj = Qs.parse('toString=bad&bad[toString]=bad&constructor=bad');
|
166
|
-
expect(typeof obj.toString).to.equal('function');
|
167
|
-
expect(typeof obj.bad.toString).to.equal('function');
|
168
|
-
expect(typeof obj.constructor).to.equal('function');
|
169
|
-
done();
|
170
|
-
});
|
171
|
-
|
172
|
-
it('cannot access Object prototype', function (done) {
|
173
|
-
|
174
|
-
Qs.parse('constructor[prototype][bad]=bad');
|
175
|
-
Qs.parse('bad[constructor][prototype][bad]=bad');
|
176
|
-
expect(typeof Object.prototype.bad).to.equal('undefined');
|
177
|
-
done();
|
178
|
-
});
|
179
|
-
|
180
|
-
it('parses arrays of objects', function (done) {
|
181
|
-
|
182
|
-
expect(Qs.parse('a[][b]=c')).to.deep.equal({ a: [{ b: 'c' }] });
|
183
|
-
expect(Qs.parse('a[0][b]=c')).to.deep.equal({ a: [{ b: 'c' }] });
|
184
|
-
done();
|
185
|
-
});
|
186
|
-
|
187
|
-
it('should compact sparse arrays', function (done) {
|
188
|
-
|
189
|
-
expect(Qs.parse('a[10]=1&a[2]=2')).to.deep.equal({ a: ['2', '1'] });
|
190
|
-
done();
|
191
|
-
});
|
192
|
-
|
193
|
-
it('parses semi-parsed strings', function (done) {
|
194
|
-
|
195
|
-
expect(Qs.parse({ 'a[b]': 'c' })).to.deep.equal({ a: { b: 'c' } });
|
196
|
-
expect(Qs.parse({ 'a[b]': 'c', 'a[d]': 'e' })).to.deep.equal({ a: { b: 'c', d: 'e' } });
|
197
|
-
done();
|
198
|
-
});
|
199
|
-
|
200
|
-
it('parses buffers to strings', function (done) {
|
201
|
-
|
202
|
-
var b = new Buffer('test');
|
203
|
-
expect(Qs.parse({ a: b })).to.deep.equal({ a: b.toString() });
|
204
|
-
done();
|
205
|
-
});
|
206
|
-
|
207
|
-
it('continues parsing when no parent is found', function (done) {
|
208
|
-
|
209
|
-
expect(Qs.parse('[]&a=b')).to.deep.equal({ '0': '', a: 'b' });
|
210
|
-
expect(Qs.parse('[foo]=bar')).to.deep.equal({ foo: 'bar' });
|
211
|
-
done();
|
212
|
-
});
|
213
|
-
|
214
|
-
it('does not error when parsing a very long array', function (done) {
|
215
|
-
|
216
|
-
var str = 'a[]=a';
|
217
|
-
while (Buffer.byteLength(str) < 128 * 1024) {
|
218
|
-
str += '&' + str;
|
219
|
-
}
|
220
|
-
|
221
|
-
expect(function () {
|
222
|
-
|
223
|
-
Qs.parse(str);
|
224
|
-
}).to.not.throw();
|
225
|
-
|
226
|
-
done();
|
227
|
-
});
|
228
|
-
|
229
|
-
it('should not throw when a native prototype has an enumerable property', { parallel: false }, function (done) {
|
230
|
-
|
231
|
-
Object.prototype.crash = '';
|
232
|
-
expect(Qs.parse.bind(null, 'test')).to.not.throw();
|
233
|
-
delete Object.prototype.crash;
|
234
|
-
done();
|
235
|
-
});
|
236
|
-
});
|