You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.2 KiB
40 lines
1.2 KiB
/* |
|
Copyright 2018 Google LLC |
|
|
|
Use of this source code is governed by an MIT-style |
|
license that can be found in the LICENSE file or at |
|
https://opensource.org/licenses/MIT. |
|
*/ |
|
import { assert } from 'workbox-core/_private/assert.js'; |
|
import '../_version.js'; |
|
/** |
|
* @param {function()|Object} handler Either a function, or an object with a |
|
* 'handle' method. |
|
* @return {Object} An object with a handle method. |
|
* |
|
* @private |
|
*/ |
|
export const normalizeHandler = (handler) => { |
|
if (handler && typeof handler === 'object') { |
|
if (process.env.NODE_ENV !== 'production') { |
|
assert.hasMethod(handler, 'handle', { |
|
moduleName: 'workbox-routing', |
|
className: 'Route', |
|
funcName: 'constructor', |
|
paramName: 'handler', |
|
}); |
|
} |
|
return handler; |
|
} |
|
else { |
|
if (process.env.NODE_ENV !== 'production') { |
|
assert.isType(handler, 'function', { |
|
moduleName: 'workbox-routing', |
|
className: 'Route', |
|
funcName: 'constructor', |
|
paramName: 'handler', |
|
}); |
|
} |
|
return { handle: handler }; |
|
} |
|
};
|
|
|