Fix Niagara variables

This commit is contained in:
barsdeveloper
2024-12-18 18:44:20 +02:00
parent 3b68fb46a8
commit 2173e2b421
7 changed files with 176 additions and 31 deletions

View File

@@ -147,10 +147,11 @@ export default class Utility {
/**
* @template T
* @param {Array<T>} reference
* @param {Array<T>} additional
* @param {T[]} reference
* @param {T[]} additional
* @param {(v: T) => void} adding - Process added element
* @param {(l: T, r: T) => Boolean} predicate
* @returns {T[]}
*/
static mergeArrays(reference = [], additional = [], predicate = (l, r) => l == r, adding = v => { }) {
let result = []
@@ -179,7 +180,11 @@ export default class Utility {
}
// Append remaining the elements in the arrays and make it unique
result.push(...reference)
result.push(...additional.filter(vb => !result.some(vr => predicate(vr, vb))))
result.push(
...additional
.filter(vb => !result.some(vr => predicate(vr, vb)))
.map((v, k) => (adding(v), v))
)
return result
}