Integrated Manticore sync, assuming responsibility from traxxx core/legacy.
This commit is contained in:
4
utils/chunk.js
Executable file
4
utils/chunk.js
Executable file
@@ -0,0 +1,4 @@
|
||||
export default function chunk(array, chunkSize = 1000) {
|
||||
return Array.from({ length: Math.ceil(array.length / chunkSize) })
|
||||
.map((value, index) => array.slice(index * chunkSize, (index * chunkSize) + chunkSize));
|
||||
}
|
||||
7
utils/filter-title.js
Normal file
7
utils/filter-title.js
Normal file
@@ -0,0 +1,7 @@
|
||||
export default function filterTitle(title, keys) {
|
||||
if (!title) {
|
||||
return title;
|
||||
}
|
||||
|
||||
return keys.reduce((accTitle, tag) => accTitle.replace(new RegExp(`\\b${tag.replace(/[^\w\s]+/g, '')}\\b`, 'gi'), ''), title).trim().replace(/\s{2,}/, ' ');
|
||||
}
|
||||
15
utils/verify-ability.js
Normal file
15
utils/verify-ability.js
Normal file
@@ -0,0 +1,15 @@
|
||||
export default function verifyAbility(user, subject, action) {
|
||||
if (!user?.abilities) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (subject && action) {
|
||||
return user.abilities.some((ability) => ability.subject === subject && ability.action === action);
|
||||
}
|
||||
|
||||
if (subject) {
|
||||
return user.abilities.some((ability) => ability[subject] === true);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
Reference in New Issue
Block a user