* Commit updated Javascript packages * Bump preact from 10.5.4 to 10.5.5 in /build/javascript (#265) * Trying a new github workflow to install javascript packages * Bump tailwindcss from 1.9.2 to 1.9.4 in /build/javascript (#266) Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 1.9.2 to 1.9.4. - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v1.9.2...v1.9.4) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Commit updated Javascript packages * Bump preact from 10.5.4 to 10.5.5 in /build/javascript Bumps [preact](https://github.com/preactjs/preact) from 10.5.4 to 10.5.5. - [Release notes](https://github.com/preactjs/preact/releases) - [Commits](https://github.com/preactjs/preact/compare/10.5.4...10.5.5) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Gabe Kangas <gabek@real-ity.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Owncast <owncast@owncast.online> * Bump @justinribeiro/lite-youtube in /build/javascript Bumps [@justinribeiro/lite-youtube](https://github.com/justinribeiro/lite-youtube) from 0.9.0 to 0.9.1. - [Release notes](https://github.com/justinribeiro/lite-youtube/releases) - [Commits](https://github.com/justinribeiro/lite-youtube/commits) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Owncast <owncast@owncast.online> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Gabe Kangas <gabek@real-ity.com>
42 lines
846 B
JavaScript
42 lines
846 B
JavaScript
const shallowEqual = function(a, b) {
|
|
// if both are undefined
|
|
// or one or the other is undefined
|
|
// they are not equal
|
|
if ((!a && !b) || (!a && b) || (a && !b)) {
|
|
return false;
|
|
}
|
|
|
|
// they are the same object and thus, equal
|
|
if (a === b) {
|
|
return true;
|
|
}
|
|
|
|
// sort keys so we can make sure they have
|
|
// all the same keys later.
|
|
const akeys = Object.keys(a).sort();
|
|
const bkeys = Object.keys(b).sort();
|
|
|
|
// different number of keys, not equal
|
|
if (akeys.length !== bkeys.length) {
|
|
return false;
|
|
}
|
|
|
|
for (let i = 0; i < akeys.length; i++) {
|
|
const key = akeys[i];
|
|
|
|
// different sorted keys, not equal
|
|
if (key !== bkeys[i]) {
|
|
return false;
|
|
}
|
|
|
|
// different values, not equal
|
|
if (a[key] !== b[key]) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
};
|
|
|
|
export default shallowEqual;
|