File: /var/www/linde-ai/html/node_modules/serve-index/node_modules/depd/lib/browser/index.js
/*!
 * depd
 * Copyright(c) 2015 Douglas Christopher Wilson
 * MIT Licensed
 */
'use strict'
/**
 * Module exports.
 * @public
 */
module.exports = depd
/**
 * Create deprecate for namespace in caller.
 */
function depd (namespace) {
  if (!namespace) {
    throw new TypeError('argument namespace is required')
  }
  function deprecate (message) {
    // no-op in browser
  }
  deprecate._file = undefined
  deprecate._ignored = true
  deprecate._namespace = namespace
  deprecate._traced = false
  deprecate._warned = Object.create(null)
  deprecate.function = wrapfunction
  deprecate.property = wrapproperty
  return deprecate
}
/**
 * Return a wrapped function in a deprecation message.
 *
 * This is a no-op version of the wrapper, which does nothing but call
 * validation.
 */
function wrapfunction (fn, message) {
  if (typeof fn !== 'function') {
    throw new TypeError('argument fn must be a function')
  }
  return fn
}
/**
 * Wrap property in a deprecation message.
 *
 * This is a no-op version of the wrapper, which does nothing but call
 * validation.
 */
function wrapproperty (obj, prop, message) {
  if (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {
    throw new TypeError('argument obj must be object')
  }
  var descriptor = Object.getOwnPropertyDescriptor(obj, prop)
  if (!descriptor) {
    throw new TypeError('must call property on owner object')
  }
  if (!descriptor.configurable) {
    throw new TypeError('property must be configurable')
  }
}