/**
 * Copyright 2020 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 { isNode } from '../environment.js' ; remarks If used in Node, it falls back to the
 *  https . In the browser it
 * uses `console.log`.
 *
 *  param prefix returns example export const debug = ( prefix ) : ( ( ... args : unknown [ ] ) => void ) => { if ( isNode ) { return require ( 'debug' ) ( prefix ) ; } return ( ... logArgs ) : void => { const debugLevel = globalThis . __PUPPETEER_DEBUG as string ; if ( ! debugLevel ) return ; const everythingShouldBeLogged = debugLevel === '*' ; const prefixMatchesDebugLevel = everythingShouldBeLogged || /**
             * If the debug level is `foo*`, that means we match any prefix that
             * starts with `foo`. If the level is `foo`, we match only the prefix
             * `foo`.
             */ ( debugLevel . endsWith ( '*' ) ? prefix . startsWith ( debugLevel ) : prefix === debugLevel ) ; if ( ! prefixMatchesDebugLevel ) return ; console . log ( `${ prefix }:` , ... logArgs ) ; } ; } ;