123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import { WorkboxError } from 'workbox-core/_private/WorkboxError.js';
- import { logger } from 'workbox-core/_private/logger.js';
- import './_version.js';
- const responsesAreSame = (firstResponse, secondResponse, headersToCheck) => {
- if (process.env.NODE_ENV !== 'production') {
- if (!(firstResponse instanceof Response &&
- secondResponse instanceof Response)) {
- throw new WorkboxError('invalid-responses-are-same-args');
- }
- }
- const atLeastOneHeaderAvailable = headersToCheck.some((header) => {
- return firstResponse.headers.has(header) &&
- secondResponse.headers.has(header);
- });
- if (!atLeastOneHeaderAvailable) {
- if (process.env.NODE_ENV !== 'production') {
- logger.warn(`Unable to determine where the response has been updated ` +
- `because none of the headers that would be checked are present.`);
- logger.debug(`Attempting to compare the following: `, firstResponse, secondResponse, headersToCheck);
- }
-
-
- return true;
- }
- return headersToCheck.every((header) => {
- const headerStateComparison = firstResponse.headers.has(header) ===
- secondResponse.headers.has(header);
- const headerValueComparison = firstResponse.headers.get(header) ===
- secondResponse.headers.get(header);
- return headerStateComparison && headerValueComparison;
- });
- };
- export { responsesAreSame };
|