UNPKG

@tamagui/react-native-web-lite

Version:
41 lines (40 loc) 1.62 kB
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