|
- /*
- Copyright 2018 Google Inc. All Rights Reserved.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
-
- import './_version.mjs';
-
- let cachedIsSupported = undefined;
-
- /**
- * This is a utility method that determines whether the current browser supports
- * the features required to create streamed responses. Currently, it checks if
- * [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream/ReadableStream)
- * can be created.
- *
- * @return {boolean} `true`, if the current browser meets the requirements for
- * streaming responses, and `false` otherwise.
- *
- * @memberof workbox.streams
- */
- function isSupported() {
- if (cachedIsSupported === undefined) {
- // See https://github.com/GoogleChrome/workbox/issues/1473
- try {
- new ReadableStream({start() {}});
- cachedIsSupported = true;
- } catch (error) {
- cachedIsSupported = false;
- }
- }
-
- return cachedIsSupported;
- }
-
- export {isSupported};
|