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