123456789101112131415161718192021222324252627282930313233343536373839404142 |
- 'use strict';
- var toFormData = require('./toFormData');
- function encode(str) {
- var charMap = {
- '!': '%21',
- "'": '%27',
- '(': '%28',
- ')': '%29',
- '~': '%7E',
- '%20': '+',
- '%00': '\x00'
- };
- return encodeURIComponent(str).replace(/[!'\(\)~]|%20|%00/g, function replacer(match) {
- return charMap[match];
- });
- }
- function AxiosURLSearchParams(params, options) {
- this._pairs = [];
- params && toFormData(params, this, options);
- }
- var prototype = AxiosURLSearchParams.prototype;
- prototype.append = function append(name, value) {
- this._pairs.push([name, value]);
- };
- prototype.toString = function toString(encoder) {
- var _encode = encoder ? function(value) {
- return encoder.call(this, value, encode);
- } : encode;
- return this._pairs.map(function each(pair) {
- return _encode(pair[0]) + '=' + _encode(pair[1]);
- }, '').join('&');
- };
- module.exports = AxiosURLSearchParams;
|