feat: re-add deprecate.property()

This commit is contained in:
Charles Kerr 2018-05-29 15:40:19 +02:00
Родитель 0f1fcc3f4b
Коммит 0a614217ce
1 изменённых файлов: 22 добавлений и 15 удалений

Просмотреть файл

@ -87,20 +87,27 @@ deprecate.getHandler = () => deprecationHandler
// return this[member][method].apply(this[member], arguments)
// }
// }
//
// // Deprecate a property.
// deprecate.property = (object, property, method) => {
// return Object.defineProperty(object, property, {
// get: function () {
// let warned = false
// if (!(warned || process.noDeprecation)) {
// warned = true
// deprecate.warn(`${property} property`, `${method} method`)
// }
// return this[method]()
// }
// })
// }
//
// Deprecate the old name of a property
deprecate.property = (object, deprecatedName, newName) => {
return Object.defineProperty(object, deprecatedName, {
get: function () {
let warned = false
if (!(warned || process.noDeprecation)) {
warned = true
deprecate.warn(deprecatedName, newName)
}
return this[newName]
},
set: function (value) {
let warned = false
if (!(warned || process.noDeprecation)) {
warned = true
deprecate.warn(deprecatedName, newName)
}
this[newName] = value
}
})
}
module.exports = deprecate