addimated
Version:
An always interruptable, declarative animation library for React
115 lines (88 loc) • 2.91 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.AnimatedProps = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _Animated2 = require("./Animated");
var _AnimatedStyle = require("./AnimatedStyle");
var AnimatedProps =
/*#__PURE__*/
function (_Animated) {
(0, _inherits2.default)(AnimatedProps, _Animated);
function AnimatedProps(props, callback) {
var _this;
(0, _classCallCheck2.default)(this, AnimatedProps);
_this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(AnimatedProps).call(this));
if (props.style) {
props = (0, _objectSpread2.default)({}, props, {
style: new _AnimatedStyle.AnimatedStyle(props.style)
});
}
_this.props = props;
_this.callback = callback;
_this.__attach();
return _this;
}
(0, _createClass2.default)(AnimatedProps, [{
key: "__getValue",
value: function __getValue() {
var props = {};
for (var key in this.props) {
var value = this.props[key];
if (value instanceof _Animated2.Animated) {
props[key] = value.__getValue();
} else {
props[key] = value;
}
}
return props;
}
}, {
key: "__getAnimatedValue",
value: function __getAnimatedValue() {
var props = {};
for (var key in this.props) {
var value = this.props[key];
if (value instanceof _Animated2.Animated) {
props[key] = value.__getAnimatedValue();
}
}
return props;
}
}, {
key: "__attach",
value: function __attach() {
for (var key in this.props) {
var value = this.props[key];
if (value instanceof _Animated2.Animated) {
value.__addChild(this);
}
}
}
}, {
key: "__detach",
value: function __detach() {
for (var key in this.props) {
var value = this.props[key];
if (value instanceof _Animated2.Animated) {
value.__removeChild(this);
}
}
}
}, {
key: "update",
value: function update() {
this.callback();
}
}]);
return AnimatedProps;
}(_Animated2.Animated);
exports.AnimatedProps = AnimatedProps;
//# sourceMappingURL=AnimatedProps.js.map