@tamagui/react-native-web-lite
Version:
React Native for Web
41 lines (40 loc) • 1.62 kB
JavaScript
import { AnimatedInterpolation } from "./AnimatedInterpolation";
import { AnimatedNode } from "./AnimatedNode";
import { AnimatedValue } from "./AnimatedValue";
import { AnimatedWithChildren } from "./AnimatedWithChildren";
class AnimatedDivision extends AnimatedWithChildren {
_a;
_b;
_warnedAboutDivideByZero = !1;
constructor(a, b) {
super(), (b === 0 || b instanceof AnimatedNode && b.__getValue() === 0) && console.error("Detected potential division by zero in AnimatedDivision"), this._a = typeof a == "number" ? new AnimatedValue(a) : a, this._b = typeof b == "number" ? new AnimatedValue(b) : b;
}
__makeNative(platformConfig) {
this._a.__makeNative(platformConfig), this._b.__makeNative(platformConfig), super.__makeNative(platformConfig);
}
__getValue() {
const a = this._a.__getValue(), b = this._b.__getValue();
return b === 0 ? (this._warnedAboutDivideByZero || (console.error("Detected division by zero in AnimatedDivision"), this._warnedAboutDivideByZero = !0), 0) : (this._warnedAboutDivideByZero = !1, a / b);
}
interpolate(config) {
return new AnimatedInterpolation(this, config);
}
__attach() {
this._a.__addChild(this), this._b.__addChild(this);
}
__detach() {
this._a.__removeChild(this), this._b.__removeChild(this), super.__detach();
}
__getNativeConfig() {
return {
type: "division",
input: [this._a.__getNativeTag(), this._b.__getNativeTag()]
};
}
}
var AnimatedDivision_default = AnimatedDivision;
export {
AnimatedDivision,
AnimatedDivision_default as default
};
//# sourceMappingURL=AnimatedDivision.js.map