Files
zkldi_Tachi/seeds/scripts/mutations.js
T
zk 593adb2717 feat: Dev Container (#1149)
* temporary dvctr

* start of work

* fix: timeouts in windows

* fish?

* feat: better, working stuff

* refactor: rename database-seeds to seeds/

* better

* fdsaf

* feat: don't let our container get owned by root

* fix: better user handling

* feat: falling asleep at my desk i yield to you what i have done

* feat: autoadminify

* docs: denote trickshot

* feat: open in browser on launch

* better seeds workings...

* fix: dont kill shell

* docs: mention dev/debs

* fix: whoops

* fix: make seeds load within the century

* feat: rest of the containerisation

* feat: new alias

* style: fix linter errors

* fix: bad call

* fix: better justfile
2024-08-17 15:01:40 +01:00

30 lines
610 B
JavaScript

const { MutateCollection, EfficientInPlaceDeepmerge } = require("./util");
function DoesMatchCriteria(element, mutation) {
for (const [key, value] of Object.entries(mutation.match)) {
if (element[key] !== value) {
return false;
}
}
return true;
}
function ApplyMutations(name, mutations) {
MutateCollection(name, (collection) => {
for (const element of collection) {
for (const mutation of mutations) {
if (DoesMatchCriteria(element, mutation)) {
EfficientInPlaceDeepmerge(element, mutation.data);
}
}
}
return collection;
});
}
module.exports = {
ApplyMutations,
};