function useWHATWG(n, param, prop) {
  const obj = new URLSearchParams(param);
  obj.toString();
  bench.start();
  for (var i = 0; i < n; i += 1) {
    obj.toString();
  }
  bench.end(n);
}
Example #2
0
test(function() {
    const testValue = '+15555555555';
    const params = new URLSearchParams();
    params.set('query', testValue);
    var newParams = new URLSearchParams(params.toString());

    assert_equals(params.toString(), 'query=%2B15555555555');
    assert_equals(params.get('query'), testValue);
    assert_equals(newParams.get('query'), testValue);
}, 'Parse encoded +');
test(function() {
    var params;
    params = new URLSearchParams('a=b&c=d&&e&&');
    assert_equals(params.toString(), 'a=b&c=d&e=');
    // params = new URLSearchParams('a = b &a=b&c=d%20');
    // assert_equals(params.toString(), 'a+=+b+&a=b&c=d+');
    // The lone '=' _does_ survive the roundtrip.
    params = new URLSearchParams('a=&a=b');
    assert_equals(params.toString(), 'a=&a=b');
}, 'URLSearchParams.toString');
function getOAuthCallbackUrl(req) {
  const { utm_source, CollectiveId, access_token, redirect } = req.query;
  const { service } = req.params;

  const params = new URLSearchParams(omitBy({ access_token, redirect, CollectiveId, utm_source }, isNil));

  return `${config.host.website}/api/connected-accounts/${service}/callback?${params.toString()}`;
}
export async function fetchLedgerTransactions(args) {
  const ledgerQuery = {
    where: {
      ToAccountId: args.CollectiveId,
    },
    limit: args.limit,
    offset: args.offset,
    includeHostedCollectivesTransactions: args.includeHostedCollectivesTransactions,
  };
  ledgerQuery.where = JSON.stringify(ledgerQuery.where);
  const params = new URLSearchParams(ledgerQuery);
  return axios.get(`${ledger.transactionUrl}?${params.toString()}`);
}
Example #6
0
test(function() {
    var params = new URLSearchParams()
    assert_equals(params.toString(), "")
}, "URLSearchParams constructor, no arguments")
Example #7
0
{
  const iterableError = common.expectsError({
    code: 'ERR_ARG_NOT_ITERABLE',
    type: TypeError,
    message: 'Query pairs must be iterable'
  });
  const tupleError = common.expectsError({
    code: 'ERR_INVALID_TUPLE',
    type: TypeError,
    message: 'Each query pair must be an iterable [name, value] tuple'
  }, 6);

  let params;
  params = new URLSearchParams(undefined);
  assert.strictEqual(params.toString(), '');
  params = new URLSearchParams(null);
  assert.strictEqual(params.toString(), '');
  params = new URLSearchParams(
    makeIterableFunc([['key', 'val'], ['key2', 'val2']])
  );
  assert.strictEqual(params.toString(), 'key=val&key2=val2');
  params = new URLSearchParams(
    makeIterableFunc([['key', 'val'], ['key2', 'val2']].map(makeIterableFunc))
  );
  assert.strictEqual(params.toString(), 'key=val&key2=val2');
  assert.throws(() => new URLSearchParams([[1]]), tupleError);
  assert.throws(() => new URLSearchParams([[1, 2, 3]]), tupleError);
  assert.throws(() => new URLSearchParams({ [Symbol.iterator]: 42 }),
                iterableError);
  assert.throws(() => new URLSearchParams([{}]), tupleError);
assert.strictEqual(params + '', 'a=b%00c');
params.delete('a');
params.append('a\0b', 'c');
assert.strictEqual(params + '', 'a%00b=c');

// Serialize \uD83D\uDCA9
// Unicode Character 'PILE OF POO' (U+1F4A9)
params = new URLSearchParams();
params.append('a', 'b\uD83D\uDCA9c');
assert.strictEqual(params + '', 'a=b%F0%9F%92%A9c');
params.delete('a');
params.append('a\uD83D\uDCA9b', 'c');
assert.strictEqual(params + '', 'a%F0%9F%92%A9b=c');

// URLSearchParams.toString

// querystring parses `&&` as {'': ''}
// params = new URLSearchParams('a=b&c=d&&e&&');
// assert.strictEqual(params.toString(), 'a=b&c=d&e=');

// querystring does not currently handle spaces intelligently
// params = new URLSearchParams('a = b &a=b&c=d%20');
// assert.strictEqual(params.toString(), 'a+=+b+&a=b&c=d+');

// The lone '=' _does_ survive the roundtrip.
params = new URLSearchParams('a=&a=b');
assert.strictEqual(params.toString(), 'a=&a=b');
assert.throws(() => {
  params.toString.call(undefined);
}, /^TypeError: Value of `this` is not a URLSearchParams$/);