/* eslint-disable no-redeclare */ // FIXME: (wyattjoh) this is a temporary solution to allow us to pass data between bundled modules export const NEXT_REQUEST_META = Symbol.for('NextInternalRequestMeta'); export function getRequestMeta(req, key) { const meta = req[NEXT_REQUEST_META] || {}; return typeof key === 'string' ? meta[key] : meta; } /** * Sets the request metadata. * * @param req the request to set the metadata on * @param meta the metadata to set * @returns the mutated request metadata */ export function setRequestMeta(req, meta) { req[NEXT_REQUEST_META] = meta; return meta; } /** * Adds a value to the request metadata. * * @param request the request to mutate * @param key the key to set * @param value the value to set * @returns the mutated request metadata */ export function addRequestMeta(request, key, value) { const meta = getRequestMeta(request); meta[key] = value; return setRequestMeta(request, meta); } /** * Removes a key from the request metadata. * * @param request the request to mutate * @param key the key to remove * @returns the mutated request metadata */ export function removeRequestMeta(request, key) { const meta = getRequestMeta(request); delete meta[key]; return setRequestMeta(request, meta); } export function getNextInternalQuery(query) { const keysToInclude = [ '__nextDefaultLocale', '__nextFallback', '__nextLocale', '__nextSsgPath', '_nextBubbleNoFallback', '__nextDataReq', '__nextInferredLocaleFromDefault' ]; const nextInternalQuery = {}; for (const key of keysToInclude){ if (key in query) { // @ts-ignore this can't be typed correctly nextInternalQuery[key] = query[key]; } } return nextInternalQuery; } //# sourceMappingURL=request-meta.js.map