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.
|
|
/*! * 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') } }
|