Created dir /src, and moved the source files into it. Left package.json, README.md and settings.json out. Modified package.json to point to the new src dir.
78 lines
1.5 KiB
JavaScript
78 lines
1.5 KiB
JavaScript
/*!
|
|
* 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')
|
|
}
|
|
}
|