UNPKG

next

Version:

The React Framework

23 lines (22 loc) 1.06 kB
import { getRequestMeta } from './request-meta'; import { stringify as stringifyQs } from 'querystring'; // since initial query values are decoded by querystring.parse // we need to re-encode them here but still allow passing through // values from rewrites/redirects export const stringifyQuery = (req, query)=>{ const initialQuery = getRequestMeta(req, 'initQuery') || {}; const initialQueryValues = Object.values(initialQuery); return stringifyQs(query, undefined, undefined, { encodeURIComponent (value) { if (value in initialQuery || initialQueryValues.some((initialQueryVal)=>{ // `value` always refers to a query value, even if it's nested in an array return Array.isArray(initialQueryVal) ? initialQueryVal.includes(value) : initialQueryVal === value; })) { // Encode keys and values from initial query return encodeURIComponent(value); } return value; } }); }; //# sourceMappingURL=server-route-utils.js.map