mirror of
https://github.com/danbulant/discord.js
synced 2026-05-31 21:31:29 +00:00
chore: deprecations
This commit is contained in:
parent
6f02be2b2e
commit
09ddbcb88a
1 changed files with 57 additions and 0 deletions
|
|
@ -1,3 +1,5 @@
|
|||
const util = require('util');
|
||||
|
||||
/**
|
||||
* A Map with additional utility methods. This is used throughout discord.js rather than Arrays for anything that has
|
||||
* an ID, for significantly improved performance and ease-of-use.
|
||||
|
|
@ -458,4 +460,59 @@ class Collection extends Map {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Searches for all items where their specified property's value is identical to the given value
|
||||
* (`item[prop] === value`).
|
||||
* @param {string} prop The property to test against
|
||||
* @param {*} value The expected value
|
||||
* @returns {Array}
|
||||
* @deprecated
|
||||
* @example
|
||||
* collection.findAll('username', 'Bob');
|
||||
*/
|
||||
Collection.prototype.findAll =
|
||||
util.deprecate(Collection.prototype.findAll, 'Collection#findAll: use Collection#filter instead');
|
||||
|
||||
Collection.prototype.filterArray =
|
||||
util.deprecate(Collection.prototype.filterArray, 'Collection#filterArray: use Collection#filter instead');
|
||||
|
||||
Collection.prototype.exists =
|
||||
util.deprecate(Collection.prototype.exists, 'Collection#exists: use Collection#some instead');
|
||||
|
||||
Collection.prototype.find = function find(propOrFn, value) {
|
||||
if (typeof propOrFn === 'string') {
|
||||
process.emitWarning('Collection#find: pass a function instead', 'DeprecationWarning');
|
||||
if (typeof value === 'undefined') throw new Error('Value must be specified.');
|
||||
for (const item of this.values()) {
|
||||
if (item[propOrFn] === value) return item;
|
||||
}
|
||||
return null;
|
||||
} else if (typeof propOrFn === 'function') {
|
||||
for (const [key, val] of this) {
|
||||
if (propOrFn(val, key, this)) return val;
|
||||
}
|
||||
return null;
|
||||
} else {
|
||||
throw new Error('First argument must be a property string or a function.');
|
||||
}
|
||||
};
|
||||
|
||||
Collection.prototype.findKey = function findKey(propOrFn, value) {
|
||||
if (typeof propOrFn === 'string') {
|
||||
process.emitWarning('Collection#findKey: pass a function instead', 'DeprecationWarning');
|
||||
if (typeof value === 'undefined') throw new Error('Value must be specified.');
|
||||
for (const [key, val] of this) {
|
||||
if (val[propOrFn] === value) return key;
|
||||
}
|
||||
return null;
|
||||
} else if (typeof propOrFn === 'function') {
|
||||
for (const [key, val] of this) {
|
||||
if (propOrFn(val, key, this)) return key;
|
||||
}
|
||||
return null;
|
||||
} else {
|
||||
throw new Error('First argument must be a property string or a function.');
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = Collection;
|
||||
|
|
|
|||
Loading…
Reference in a new issue