create-expo-cljs-app
Version:
Create a react native application with Expo and Shadow-CLJS!
77 lines (59 loc) • 2.21 kB
JavaScript
/**
* 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.
*
*
* @format
*/
;
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
import AnimatedInterpolation from './AnimatedInterpolation';
import AnimatedNode from './AnimatedNode';
import AnimatedWithChildren from './AnimatedWithChildren';
var AnimatedDiffClamp = /*#__PURE__*/function (_AnimatedWithChildren) {
_inheritsLoose(AnimatedDiffClamp, _AnimatedWithChildren);
function AnimatedDiffClamp(a, min, max) {
var _this;
_this = _AnimatedWithChildren.call(this) || this;
_this._a = a;
_this._min = min;
_this._max = max;
_this._value = _this._lastValue = _this._a.__getValue();
return _this;
}
var _proto = AnimatedDiffClamp.prototype;
_proto.__makeNative = function __makeNative() {
this._a.__makeNative();
_AnimatedWithChildren.prototype.__makeNative.call(this);
};
_proto.interpolate = function interpolate(config) {
return new AnimatedInterpolation(this, config);
};
_proto.__getValue = function __getValue() {
var value = this._a.__getValue();
var diff = value - this._lastValue;
this._lastValue = value;
this._value = Math.min(Math.max(this._value + diff, this._min), this._max);
return this._value;
};
_proto.__attach = function __attach() {
this._a.__addChild(this);
};
_proto.__detach = function __detach() {
this._a.__removeChild(this);
_AnimatedWithChildren.prototype.__detach.call(this);
};
_proto.__getNativeConfig = function __getNativeConfig() {
return {
type: 'diffclamp',
input: this._a.__getNativeTag(),
min: this._min,
max: this._max
};
};
return AnimatedDiffClamp;
}(AnimatedWithChildren);
export default AnimatedDiffClamp;