{"ast":null,"code":"'use strict';\n\nfunction ownKeys(object, enumerableOnly) {\n  var keys = Object.keys(object);\n\n  if (Object.getOwnPropertySymbols) {\n    var symbols = Object.getOwnPropertySymbols(object);\n    if (enumerableOnly) symbols = symbols.filter(function (sym) {\n      return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n    });\n    keys.push.apply(keys, symbols);\n  }\n\n  return keys;\n}\n\nfunction _objectSpread(target) {\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments[i] != null ? arguments[i] : {};\n\n    if (i % 2) {\n      ownKeys(Object(source), true).forEach(function (key) {\n        _defineProperty(target, key, source[key]);\n      });\n    } else if (Object.getOwnPropertyDescriptors) {\n      Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n    } else {\n      ownKeys(Object(source)).forEach(function (key) {\n        Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n      });\n    }\n  }\n\n  return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n\n  return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n\n  _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}\n\nimport { AnimatedEvent } from \"../AnimatedEvent\";\nimport AnimatedNode from \"./AnimatedNode\";\nimport AnimatedStyle from \"./AnimatedStyle\";\nimport NativeAnimatedHelper from \"../NativeAnimatedHelper\";\nimport findNodeHandle from \"../../../../exports/findNodeHandle\";\nimport invariant from 'fbjs/lib/invariant';\n\nvar AnimatedProps = function (_AnimatedNode) {\n  _inheritsLoose(AnimatedProps, _AnimatedNode);\n\n  function AnimatedProps(props, callback) {\n    var _this;\n\n    _this = _AnimatedNode.call(this) || this;\n\n    if (props.style) {\n      props = _objectSpread(_objectSpread({}, props), {}, {\n        style: new AnimatedStyle(props.style)\n      });\n    }\n\n    _this._props = props;\n    _this._callback = callback;\n\n    _this.__attach();\n\n    return _this;\n  }\n\n  var _proto = AnimatedProps.prototype;\n\n  _proto.__getValue = function __getValue() {\n    var props = {};\n\n    for (var key in this._props) {\n      var value = this._props[key];\n\n      if (value instanceof AnimatedNode) {\n        if (!value.__isNative || value instanceof AnimatedStyle) {\n          props[key] = value.__getValue();\n        }\n      } else if (value instanceof AnimatedEvent) {\n        props[key] = value.__getHandler();\n      } else {\n        props[key] = value;\n      }\n    }\n\n    return props;\n  };\n\n  _proto.__getAnimatedValue = function __getAnimatedValue() {\n    var props = {};\n\n    for (var key in this._props) {\n      var value = this._props[key];\n\n      if (value instanceof AnimatedNode) {\n        props[key] = value.__getAnimatedValue();\n      }\n    }\n\n    return props;\n  };\n\n  _proto.__attach = function __attach() {\n    for (var key in this._props) {\n      var value = this._props[key];\n\n      if (value instanceof AnimatedNode) {\n        value.__addChild(this);\n      }\n    }\n  };\n\n  _proto.__detach = function __detach() {\n    if (this.__isNative && this._animatedView) {\n      this.__disconnectAnimatedView();\n    }\n\n    for (var key in this._props) {\n      var value = this._props[key];\n\n      if (value instanceof AnimatedNode) {\n        value.__removeChild(this);\n      }\n    }\n\n    _AnimatedNode.prototype.__detach.call(this);\n  };\n\n  _proto.update = function update() {\n    this._callback();\n  };\n\n  _proto.__makeNative = function __makeNative() {\n    if (!this.__isNative) {\n      this.__isNative = true;\n\n      for (var key in this._props) {\n        var value = this._props[key];\n\n        if (value instanceof AnimatedNode) {\n          value.__makeNative();\n        }\n      }\n\n      if (this._animatedView) {\n        this.__connectAnimatedView();\n      }\n    }\n  };\n\n  _proto.setNativeView = function setNativeView(animatedView) {\n    if (this._animatedView === animatedView) {\n      return;\n    }\n\n    this._animatedView = animatedView;\n\n    if (this.__isNative) {\n      this.__connectAnimatedView();\n    }\n  };\n\n  _proto.__connectAnimatedView = function __connectAnimatedView() {\n    invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n    var nativeViewTag = findNodeHandle(this._animatedView);\n    invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n    NativeAnimatedHelper.API.connectAnimatedNodeToView(this.__getNativeTag(), nativeViewTag);\n  };\n\n  _proto.__disconnectAnimatedView = function __disconnectAnimatedView() {\n    invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n    var nativeViewTag = findNodeHandle(this._animatedView);\n    invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n    NativeAnimatedHelper.API.disconnectAnimatedNodeFromView(this.__getNativeTag(), nativeViewTag);\n  };\n\n  _proto.__restoreDefaultValues = function __restoreDefaultValues() {\n    if (this.__isNative) {\n      NativeAnimatedHelper.API.restoreDefaultValues(this.__getNativeTag());\n    }\n  };\n\n  _proto.__getNativeConfig = function __getNativeConfig() {\n    var propsConfig = {};\n\n    for (var propKey in this._props) {\n      var value = this._props[propKey];\n\n      if (value instanceof AnimatedNode) {\n        value.__makeNative();\n\n        propsConfig[propKey] = value.__getNativeTag();\n      }\n    }\n\n    return {\n      type: 'props',\n      props: propsConfig\n    };\n  };\n\n  return AnimatedProps;\n}(AnimatedNode);\n\nexport default AnimatedProps;","map":{"version":3,"sources":["/Users/rohitsingh/Documents/projects/new-nativebase-setup/NativeBase/example/node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js"],"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_inheritsLoose","subClass","superClass","prototype","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","AnimatedEvent","AnimatedNode","AnimatedStyle","NativeAnimatedHelper","findNodeHandle","invariant","AnimatedProps","_AnimatedNode","props","callback","_this","call","style","_props","_callback","__attach","_proto","__getValue","__isNative","__getHandler","__getAnimatedValue","__addChild","__detach","_animatedView","__disconnectAnimatedView","__removeChild","update","__makeNative","__connectAnimatedView","setNativeView","animatedView","nativeViewTag","API","connectAnimatedNodeToView","__getNativeTag","disconnectAnimatedNodeFromView","__restoreDefaultValues","restoreDefaultValues","__getNativeConfig","propsConfig","propKey","type"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport { AnimatedEvent } from '../AnimatedEvent';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedStyle from './AnimatedStyle';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport findNodeHandle from '../../../../exports/findNodeHandle';\nimport invariant from 'fbjs/lib/invariant';\n\nvar AnimatedProps = /*#__PURE__*/function (_AnimatedNode) {\n  _inheritsLoose(AnimatedProps, _AnimatedNode);\n\n  function AnimatedProps(props, callback) {\n    var _this;\n\n    _this = _AnimatedNode.call(this) || this;\n\n    if (props.style) {\n      props = _objectSpread(_objectSpread({}, props), {}, {\n        style: new AnimatedStyle(props.style)\n      });\n    }\n\n    _this._props = props;\n    _this._callback = callback;\n\n    _this.__attach();\n\n    return _this;\n  }\n\n  var _proto = AnimatedProps.prototype;\n\n  _proto.__getValue = function __getValue() {\n    var props = {};\n\n    for (var key in this._props) {\n      var value = this._props[key];\n\n      if (value instanceof AnimatedNode) {\n        if (!value.__isNative || value instanceof AnimatedStyle) {\n          // We cannot use value of natively driven nodes this way as the value we have access from\n          // JS may not be up to date.\n          props[key] = value.__getValue();\n        }\n      } else if (value instanceof AnimatedEvent) {\n        props[key] = value.__getHandler();\n      } else {\n        props[key] = value;\n      }\n    }\n\n    return props;\n  };\n\n  _proto.__getAnimatedValue = function __getAnimatedValue() {\n    var props = {};\n\n    for (var key in this._props) {\n      var value = this._props[key];\n\n      if (value instanceof AnimatedNode) {\n        props[key] = value.__getAnimatedValue();\n      }\n    }\n\n    return props;\n  };\n\n  _proto.__attach = function __attach() {\n    for (var key in this._props) {\n      var value = this._props[key];\n\n      if (value instanceof AnimatedNode) {\n        value.__addChild(this);\n      }\n    }\n  };\n\n  _proto.__detach = function __detach() {\n    if (this.__isNative && this._animatedView) {\n      this.__disconnectAnimatedView();\n    }\n\n    for (var key in this._props) {\n      var value = this._props[key];\n\n      if (value instanceof AnimatedNode) {\n        value.__removeChild(this);\n      }\n    }\n\n    _AnimatedNode.prototype.__detach.call(this);\n  };\n\n  _proto.update = function update() {\n    this._callback();\n  };\n\n  _proto.__makeNative = function __makeNative() {\n    if (!this.__isNative) {\n      this.__isNative = true;\n\n      for (var key in this._props) {\n        var value = this._props[key];\n\n        if (value instanceof AnimatedNode) {\n          value.__makeNative();\n        }\n      }\n\n      if (this._animatedView) {\n        this.__connectAnimatedView();\n      }\n    }\n  };\n\n  _proto.setNativeView = function setNativeView(animatedView) {\n    if (this._animatedView === animatedView) {\n      return;\n    }\n\n    this._animatedView = animatedView;\n\n    if (this.__isNative) {\n      this.__connectAnimatedView();\n    }\n  };\n\n  _proto.__connectAnimatedView = function __connectAnimatedView() {\n    invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n    var nativeViewTag = findNodeHandle(this._animatedView);\n    invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n    NativeAnimatedHelper.API.connectAnimatedNodeToView(this.__getNativeTag(), nativeViewTag);\n  };\n\n  _proto.__disconnectAnimatedView = function __disconnectAnimatedView() {\n    invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n    var nativeViewTag = findNodeHandle(this._animatedView);\n    invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n    NativeAnimatedHelper.API.disconnectAnimatedNodeFromView(this.__getNativeTag(), nativeViewTag);\n  };\n\n  _proto.__restoreDefaultValues = function __restoreDefaultValues() {\n    // When using the native driver, view properties need to be restored to\n    // their default values manually since react no longer tracks them. This\n    // is needed to handle cases where a prop driven by native animated is removed\n    // after having been changed natively by an animation.\n    if (this.__isNative) {\n      NativeAnimatedHelper.API.restoreDefaultValues(this.__getNativeTag());\n    }\n  };\n\n  _proto.__getNativeConfig = function __getNativeConfig() {\n    var propsConfig = {};\n\n    for (var propKey in this._props) {\n      var value = this._props[propKey];\n\n      if (value instanceof AnimatedNode) {\n        value.__makeNative();\n\n        propsConfig[propKey] = value.__getNativeTag();\n      }\n    }\n\n    return {\n      type: 'props',\n      props: propsConfig\n    };\n  };\n\n  return AnimatedProps;\n}(AnimatedNode);\n\nexport default AnimatedProps;"]},"metadata":{},"sourceType":"module"}