123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- /*
- 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 {WorkboxError} from '../_private/WorkboxError.mjs';
- import '../_version.mjs';
- /*
- * This method returns true if the current context is a service worker.
- */
- const isSWEnv = (moduleName) => {
- if (!('ServiceWorkerGlobalScope' in self)) {
- throw new WorkboxError('not-in-sw', {moduleName});
- }
- };
- /*
- * This method throws if the supplied value is not an array.
- * The destructed values are required to produce a meaningful error for users.
- * The destructed and restructured object is so it's clear what is
- * needed.
- */
- const isArray = (value, {moduleName, className, funcName, paramName}) => {
- if (!Array.isArray(value)) {
- throw new WorkboxError('not-an-array', {
- moduleName,
- className,
- funcName,
- paramName,
- });
- }
- };
- const hasMethod = (object, expectedMethod,
- {moduleName, className, funcName, paramName}) => {
- const type = typeof object[expectedMethod];
- if (type !== 'function') {
- throw new WorkboxError('missing-a-method', {paramName, expectedMethod,
- moduleName, className, funcName});
- }
- };
- const isType = (object, expectedType,
- {moduleName, className, funcName, paramName}) => {
- if (typeof object !== expectedType) {
- throw new WorkboxError('incorrect-type', {paramName, expectedType,
- moduleName, className, funcName});
- }
- };
- const isInstance = (object, expectedClass,
- {moduleName, className, funcName,
- paramName, isReturnValueProblem}) => {
- if (!(object instanceof expectedClass)) {
- throw new WorkboxError('incorrect-class', {paramName, expectedClass,
- moduleName, className, funcName, isReturnValueProblem});
- }
- };
- const isOneOf = (value, validValues, {paramName}) => {
- if (!validValues.includes(value)) {
- throw new WorkboxError('invalid-value', {
- paramName,
- value,
- validValueDescription: `Valid values are ${JSON.stringify(validValues)}.`,
- });
- }
- };
- const isArrayOfClass = (value, expectedClass,
- {moduleName, className, funcName, paramName}) => {
- const error = new WorkboxError('not-array-of-class', {
- value, expectedClass,
- moduleName, className, funcName, paramName,
- });
- if (!Array.isArray(value)) {
- throw error;
- }
- for (let item of value) {
- if (!(item instanceof expectedClass)) {
- throw error;
- }
- }
- };
- const finalAssertExports = process.env.NODE_ENV === 'production' ? null : {
- hasMethod,
- isArray,
- isInstance,
- isOneOf,
- isSWEnv,
- isType,
- isArrayOfClass,
- };
- export {finalAssertExports as assert};
|