@tamagui/react-native-web-lite
Version:
React Native for Web
80 lines (79 loc) • 2.46 kB
JavaScript
import { AnimatedNode } from "./AnimatedNode";
import { AnimatedWithChildren } from "./AnimatedWithChildren";
import { NativeAnimatedHelper } from "../NativeAnimatedHelper";
class AnimatedTransform extends AnimatedWithChildren {
_transforms;
constructor(transforms) {
super(), this._transforms = transforms;
}
__makeNative() {
this._transforms.forEach((transform) => {
for (const key in transform) {
const value = transform[key];
value instanceof AnimatedNode && value.__makeNative();
}
}), super.__makeNative();
}
__getValue() {
return this._transforms.map((transform) => {
const result = {};
for (const key in transform) {
const value = transform[key];
value instanceof AnimatedNode ? result[key] = value.__getValue() : result[key] = value;
}
return result;
});
}
__getAnimatedValue() {
return this._transforms.map((transform) => {
const result = {};
for (const key in transform) {
const value = transform[key];
value instanceof AnimatedNode ? result[key] = value.__getAnimatedValue() : result[key] = value;
}
return result;
});
}
__attach() {
this._transforms.forEach((transform) => {
for (const key in transform) {
const value = transform[key];
value instanceof AnimatedNode && value.__addChild(this);
}
});
}
__detach() {
this._transforms.forEach((transform) => {
for (const key in transform) {
const value = transform[key];
value instanceof AnimatedNode && value.__removeChild(this);
}
}), super.__detach();
}
__getNativeConfig() {
const transConfigs = [];
return this._transforms.forEach((transform) => {
for (const key in transform) {
const value = transform[key];
value instanceof AnimatedNode ? transConfigs.push({
type: "animated",
property: key,
nodeTag: value.__getNativeTag()
}) : transConfigs.push({
type: "static",
property: key,
value: NativeAnimatedHelper.transformDataType(value)
});
}
}), NativeAnimatedHelper.validateTransform(transConfigs), {
type: "transform",
transforms: transConfigs
};
}
}
var AnimatedTransform_default = AnimatedTransform;
export {
AnimatedTransform,
AnimatedTransform_default as default
};
//# sourceMappingURL=AnimatedTransform.js.map