|
|
@@ -3,28 +3,31 @@ import mongoose from 'mongoose';
|
|
|
type IObjectId = mongoose.Types.ObjectId;
|
|
|
const ObjectId = mongoose.Types.ObjectId;
|
|
|
|
|
|
-export const compareObjectId = (_id1: IObjectId, _id2: IObjectId): boolean => {
|
|
|
- const id1 = _id1.toString();
|
|
|
- const id2 = _id2.toString();
|
|
|
-
|
|
|
- return id1 === id2;
|
|
|
+export const compareObjectId = (id1: IObjectId, id2: IObjectId): boolean => {
|
|
|
+ return id1.toString() === id2.toString();
|
|
|
};
|
|
|
|
|
|
-export const includesObjectId = (_arr: IObjectId[], _id: IObjectId): boolean => {
|
|
|
- const arr = _arr.map(i => i.toString());
|
|
|
- const id = _id.toString();
|
|
|
+export const isIncludesObjectId = (arr: IObjectId[], id: IObjectId): boolean => {
|
|
|
+ const _arr = arr.map(i => i.toString());
|
|
|
+ const _id = id.toString();
|
|
|
|
|
|
- return arr.includes(id);
|
|
|
+ return _arr.includes(_id);
|
|
|
};
|
|
|
|
|
|
-export const filterIdsByIds = (_arr1: IObjectId[], _arr2: IObjectId[]): IObjectId[] => {
|
|
|
+/**
|
|
|
+ * Exclude ObjectIds which exist in testIds from targetIds
|
|
|
+ * @param targetIds Array of mongoose.Types.ObjectId
|
|
|
+ * @param testIds Array of mongoose.Types.ObjectId
|
|
|
+ * @returns Array of mongoose.Types.ObjectId
|
|
|
+ */
|
|
|
+export const excludeTestIdsFromTargetIds = (targetIds: IObjectId[], testIds: IObjectId[]): IObjectId[] => {
|
|
|
// cast to string
|
|
|
- const arr1 = _arr1.map(e => e.toString());
|
|
|
- const arr2 = _arr2.map(e => e.toString());
|
|
|
+ const arr1 = targetIds.map(e => e.toString());
|
|
|
+ const arr2 = testIds.map(e => e.toString());
|
|
|
|
|
|
// filter
|
|
|
- const filtered = arr1.filter(e => !arr2.includes(e));
|
|
|
+ const excluded = arr2.filter(e => !arr1.includes(e));
|
|
|
|
|
|
// cast to ObjectId
|
|
|
- return filtered.map(e => new ObjectId(e));
|
|
|
+ return excluded.map(e => new ObjectId(e));
|
|
|
};
|