mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Move comparision functions to separate file
Summary: changelog: [internal] Just moving two functions to separate file. Reviewed By: RSNara Differential Revision: D30765732 fbshipit-source-id: e85e749c2910f6f38f07e56b23a21fb9f1cbc9b5
This commit is contained in:
committed by
Facebook GitHub Bot
parent
661b11e815
commit
4fe72bdc22
@@ -9,6 +9,7 @@
|
||||
|
||||
#include <glog/logging.h>
|
||||
#include <react/debug/react_native_assert.h>
|
||||
#include <react/renderer/animations/utils.h>
|
||||
#include <algorithm>
|
||||
|
||||
namespace facebook {
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include <react/debug/react_native_assert.h>
|
||||
|
||||
#include <react/renderer/animations/conversions.h>
|
||||
#include <react/renderer/animations/utils.h>
|
||||
#include <react/renderer/componentregistry/ComponentDescriptorFactory.h>
|
||||
#include <react/renderer/components/view/ViewProps.h>
|
||||
#include <react/renderer/core/ComponentDescriptor.h>
|
||||
|
||||
@@ -173,63 +173,5 @@ class LayoutAnimationKeyFrameManager : public UIManagerAnimationDelegate,
|
||||
void deleteAnimationsForStoppedSurfaces() const;
|
||||
};
|
||||
|
||||
static inline bool shouldFirstComeBeforeSecondRemovesOnly(
|
||||
ShadowViewMutation const &lhs,
|
||||
ShadowViewMutation const &rhs) noexcept {
|
||||
// Make sure that removes on the same level are sorted - highest indices must
|
||||
// come first.
|
||||
return (lhs.type == ShadowViewMutation::Type::Remove &&
|
||||
lhs.type == rhs.type) &&
|
||||
(lhs.parentShadowView.tag == rhs.parentShadowView.tag) &&
|
||||
(lhs.index > rhs.index);
|
||||
}
|
||||
|
||||
static inline bool shouldFirstComeBeforeSecondMutation(
|
||||
ShadowViewMutation const &lhs,
|
||||
ShadowViewMutation const &rhs) noexcept {
|
||||
if (lhs.type != rhs.type) {
|
||||
// Deletes always come last
|
||||
if (lhs.type == ShadowViewMutation::Type::Delete) {
|
||||
return false;
|
||||
}
|
||||
if (rhs.type == ShadowViewMutation::Type::Delete) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Remove comes before insert
|
||||
if (lhs.type == ShadowViewMutation::Type::Remove &&
|
||||
rhs.type == ShadowViewMutation::Type::Insert) {
|
||||
return true;
|
||||
}
|
||||
if (rhs.type == ShadowViewMutation::Type::Remove &&
|
||||
lhs.type == ShadowViewMutation::Type::Insert) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Create comes before insert
|
||||
if (lhs.type == ShadowViewMutation::Type::Create &&
|
||||
rhs.type == ShadowViewMutation::Type::Insert) {
|
||||
return true;
|
||||
}
|
||||
if (rhs.type == ShadowViewMutation::Type::Create &&
|
||||
lhs.type == ShadowViewMutation::Type::Insert) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
// Make sure that removes on the same level are sorted - highest indices
|
||||
// must come first.
|
||||
if (lhs.type == ShadowViewMutation::Type::Remove &&
|
||||
lhs.parentShadowView.tag == rhs.parentShadowView.tag) {
|
||||
if (lhs.index > rhs.index) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
} // namespace react
|
||||
} // namespace facebook
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <react/renderer/mounting/ShadowViewMutation.h>
|
||||
|
||||
namespace facebook {
|
||||
namespace react {
|
||||
|
||||
static inline bool shouldFirstComeBeforeSecondRemovesOnly(
|
||||
ShadowViewMutation const &lhs,
|
||||
ShadowViewMutation const &rhs) noexcept {
|
||||
// Make sure that removes on the same level are sorted - highest indices must
|
||||
// come first.
|
||||
return (lhs.type == ShadowViewMutation::Type::Remove &&
|
||||
lhs.type == rhs.type) &&
|
||||
(lhs.parentShadowView.tag == rhs.parentShadowView.tag) &&
|
||||
(lhs.index > rhs.index);
|
||||
}
|
||||
|
||||
static inline bool shouldFirstComeBeforeSecondMutation(
|
||||
ShadowViewMutation const &lhs,
|
||||
ShadowViewMutation const &rhs) noexcept {
|
||||
if (lhs.type != rhs.type) {
|
||||
// Deletes always come last
|
||||
if (lhs.type == ShadowViewMutation::Type::Delete) {
|
||||
return false;
|
||||
}
|
||||
if (rhs.type == ShadowViewMutation::Type::Delete) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Remove comes before insert
|
||||
if (lhs.type == ShadowViewMutation::Type::Remove &&
|
||||
rhs.type == ShadowViewMutation::Type::Insert) {
|
||||
return true;
|
||||
}
|
||||
if (rhs.type == ShadowViewMutation::Type::Remove &&
|
||||
lhs.type == ShadowViewMutation::Type::Insert) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Create comes before insert
|
||||
if (lhs.type == ShadowViewMutation::Type::Create &&
|
||||
rhs.type == ShadowViewMutation::Type::Insert) {
|
||||
return true;
|
||||
}
|
||||
if (rhs.type == ShadowViewMutation::Type::Create &&
|
||||
lhs.type == ShadowViewMutation::Type::Insert) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
// Make sure that removes on the same level are sorted - highest indices
|
||||
// must come first.
|
||||
if (lhs.type == ShadowViewMutation::Type::Remove &&
|
||||
lhs.parentShadowView.tag == rhs.parentShadowView.tag) {
|
||||
if (lhs.index > rhs.index) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
} // namespace react
|
||||
} // namespace facebook
|
||||
Reference in New Issue
Block a user