d980689047630b0c2300e579f0a2f5a3.json 3.12 KB
{"ast":null,"code":"Object.defineProperty(exports,\"__esModule\",{value:true});exports.default=decay;var _base=require(\"../base\");var _derived=require(\"../derived\");var VELOCITY_EPS=5;function decay(clock,state,config){var lastTime=(0,_base.cond)(state.time,state.time,clock);var deltaTime=(0,_base.sub)(clock,lastTime);var kv=(0,_base.pow)(config.deceleration,deltaTime);var kx=(0,_base.divide)((0,_base.multiply)(config.deceleration,(0,_base.sub)(1,kv)),(0,_base.sub)(1,config.deceleration));var v0=(0,_base.divide)(state.velocity,1000);var v=(0,_base.multiply)(v0,kv,1000);var x=(0,_base.add)(state.position,(0,_base.multiply)(v0,kx));return(0,_base.block)([(0,_base.set)(state.position,x),(0,_base.set)(state.velocity,v),(0,_base.set)(state.time,clock),(0,_base.cond)((0,_base.lessThan)((0,_derived.abs)(v),VELOCITY_EPS),(0,_base.set)(state.finished,1))]);}","map":{"version":3,"sources":["C:/Users/bluej/Desktop/2_2/searchGuide/searchGuide/node_modules/react-native-reanimated/src/animations/decay.js"],"names":["VELOCITY_EPS","decay","clock","state","config","lastTime","time","deltaTime","kv","deceleration","kx","v0","velocity","v","x","position","finished"],"mappings":"+EAAA,6BAWA,mCAEA,GAAMA,CAAAA,YAAY,CAAG,CAArB,CAEe,QAASC,CAAAA,KAAT,CAAeC,KAAf,CAAsBC,KAAtB,CAA6BC,MAA7B,CAAqC,CAClD,GAAMC,CAAAA,QAAQ,CAAG,eAAKF,KAAK,CAACG,IAAX,CAAiBH,KAAK,CAACG,IAAvB,CAA6BJ,KAA7B,CAAjB,CACA,GAAMK,CAAAA,SAAS,CAAG,cAAIL,KAAJ,CAAWG,QAAX,CAAlB,CAQA,GAAMG,CAAAA,EAAE,CAAG,cAAIJ,MAAM,CAACK,YAAX,CAAyBF,SAAzB,CAAX,CACA,GAAMG,CAAAA,EAAE,CAAG,iBACT,mBAASN,MAAM,CAACK,YAAhB,CAA8B,cAAI,CAAJ,CAAOD,EAAP,CAA9B,CADS,CAET,cAAI,CAAJ,CAAOJ,MAAM,CAACK,YAAd,CAFS,CAAX,CAIA,GAAME,CAAAA,EAAE,CAAG,iBAAOR,KAAK,CAACS,QAAb,CAAuB,IAAvB,CAAX,CACA,GAAMC,CAAAA,CAAC,CAAG,mBAASF,EAAT,CAAaH,EAAb,CAAiB,IAAjB,CAAV,CACA,GAAMM,CAAAA,CAAC,CAAG,cAAIX,KAAK,CAACY,QAAV,CAAoB,mBAASJ,EAAT,CAAaD,EAAb,CAApB,CAAV,CACA,MAAO,gBAAM,CACX,cAAIP,KAAK,CAACY,QAAV,CAAoBD,CAApB,CADW,CAEX,cAAIX,KAAK,CAACS,QAAV,CAAoBC,CAApB,CAFW,CAGX,cAAIV,KAAK,CAACG,IAAV,CAAgBJ,KAAhB,CAHW,CAIX,eAAK,mBAAS,iBAAIW,CAAJ,CAAT,CAAiBb,YAAjB,CAAL,CAAqC,cAAIG,KAAK,CAACa,QAAV,CAAoB,CAApB,CAArC,CAJW,CAAN,CAAP,CAMD","sourcesContent":["import {\n  cond,\n  sub,\n  pow,\n  divide,\n  multiply,\n  add,\n  block,\n  set,\n  lessThan,\n} from '../base';\nimport { abs } from '../derived';\n\nconst VELOCITY_EPS = 5;\n\nexport default function decay(clock, state, config) {\n  const lastTime = cond(state.time, state.time, clock);\n  const deltaTime = sub(clock, lastTime);\n\n  // v0 = v / 1000\n  // v = v0 * powf(deceleration, dt);\n  // v = v * 1000;\n\n  // x0 = x;\n  // x = x0 + v0 * deceleration * (1 - powf(deceleration, dt)) / (1 - deceleration)\n  const kv = pow(config.deceleration, deltaTime);\n  const kx = divide(\n    multiply(config.deceleration, sub(1, kv)),\n    sub(1, config.deceleration)\n  );\n  const v0 = divide(state.velocity, 1000);\n  const v = multiply(v0, kv, 1000);\n  const x = add(state.position, multiply(v0, kx));\n  return block([\n    set(state.position, x),\n    set(state.velocity, v),\n    set(state.time, clock),\n    cond(lessThan(abs(v), VELOCITY_EPS), set(state.finished, 1)),\n  ]);\n}\n"]},"metadata":{},"sourceType":"script"}