41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
/* 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);
|
|
}
|
|
|
|
//# sourceMappingURL=request-meta.js.map
|