react-native-reanimated 1.13.0 → 1.13.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RNReanimated.podspec +1 -1
- package/android/build.gradle +11 -39
- package/lib/commonjs/core/AnimatedCode.js +1 -1
- package/lib/commonjs/core/AnimatedCode.js.map +1 -1
- package/lib/commonjs/core/AnimatedDebug.js +8 -2
- package/lib/commonjs/core/AnimatedDebug.js.map +1 -1
- package/lib/commonjs/core/AnimatedNode.js +3 -1
- package/lib/commonjs/core/AnimatedNode.js.map +1 -1
- package/lib/commonjs/derived/interpolate.js +2 -0
- package/lib/commonjs/derived/interpolate.js.map +1 -1
- package/lib/module/core/AnimatedCode.js +1 -1
- package/lib/module/core/AnimatedCode.js.map +1 -1
- package/lib/module/core/AnimatedDebug.js +7 -2
- package/lib/module/core/AnimatedDebug.js.map +1 -1
- package/lib/module/core/AnimatedNode.js +2 -1
- package/lib/module/core/AnimatedNode.js.map +1 -1
- package/lib/module/derived/interpolate.js +2 -0
- package/lib/module/derived/interpolate.js.map +1 -1
- package/mock.js +1 -0
- package/package.json +5 -2
- package/react-native-reanimated.d.ts +6 -5
- package/src/core/AnimatedCode.js +1 -1
- package/src/core/AnimatedDebug.js +6 -2
- package/src/core/AnimatedNode.js +4 -1
- package/src/derived/interpolate.js +2 -0
- package/android/README.md +0 -15
- package/lib/typescript/Animated.test.d.ts +0 -1
- package/lib/typescript/ConfigHelper.d.ts +0 -6
- package/lib/typescript/Easing.d.ts +0 -151
- package/lib/typescript/ReanimatedEventEmitter.d.ts +0 -2
- package/lib/typescript/ReanimatedModule.d.ts +0 -2
- package/lib/typescript/ReanimatedModule.macos.d.ts +0 -2
- package/lib/typescript/ReanimatedModule.native.d.ts +0 -2
- package/lib/typescript/ReanimatedModule.windows.d.ts +0 -2
- package/lib/typescript/ReanimatedModuleCompat.d.ts +0 -19
- package/lib/typescript/SpringConfig.d.ts +0 -8
- package/lib/typescript/__mocks__/ReanimatedEventEmitter.d.ts +0 -5
- package/lib/typescript/__mocks__/ReanimatedModule.native.d.ts +0 -8
- package/lib/typescript/animations/Animation.d.ts +0 -22
- package/lib/typescript/animations/SpringUtils.d.ts +0 -29
- package/lib/typescript/animations/backwardCompatibleAnimWrapper.d.ts +0 -5
- package/lib/typescript/animations/decay.d.ts +0 -9
- package/lib/typescript/animations/spring.d.ts +0 -18
- package/lib/typescript/animations/timing.d.ts +0 -1
- package/lib/typescript/base.d.ts +0 -13
- package/lib/typescript/core/AnimatedAlways.d.ts +0 -8
- package/lib/typescript/core/AnimatedBezier.d.ts +0 -6
- package/lib/typescript/core/AnimatedBlock.d.ts +0 -4
- package/lib/typescript/core/AnimatedCall.d.ts +0 -3
- package/lib/typescript/core/AnimatedCallFunc.d.ts +0 -12
- package/lib/typescript/core/AnimatedClock.d.ts +0 -14
- package/lib/typescript/core/AnimatedClockTest.d.ts +0 -7
- package/lib/typescript/core/AnimatedCode.d.ts +0 -6
- package/lib/typescript/core/AnimatedConcat.d.ts +0 -3
- package/lib/typescript/core/AnimatedCond.d.ts +0 -3
- package/lib/typescript/core/AnimatedDebug.d.ts +0 -2
- package/lib/typescript/core/AnimatedFunction.d.ts +0 -3
- package/lib/typescript/core/AnimatedNode.d.ts +0 -38
- package/lib/typescript/core/AnimatedOperator.d.ts +0 -12
- package/lib/typescript/core/AnimatedParam.d.ts +0 -16
- package/lib/typescript/core/AnimatedProps.d.ts +0 -1
- package/lib/typescript/core/AnimatedSet.d.ts +0 -4
- package/lib/typescript/core/AnimatedStartClock.d.ts +0 -7
- package/lib/typescript/core/AnimatedStopClock.d.ts +0 -7
- package/lib/typescript/core/AnimatedStyle.d.ts +0 -12
- package/lib/typescript/core/AnimatedTransform.d.ts +0 -1
- package/lib/typescript/core/AnimatedValue.d.ts +0 -10
- package/lib/typescript/core/Core.test.d.ts +0 -1
- package/lib/typescript/core/InternalAnimatedValue.d.ts +0 -23
- package/lib/typescript/core/__mocks__/AnimatedProps.d.ts +0 -1
- package/lib/typescript/core/createEventObjectProxyPolyfill.d.ts +0 -45
- package/lib/typescript/derived/__mocks__/evaluateOnce.d.ts +0 -1
- package/lib/typescript/derived/acc.d.ts +0 -1
- package/lib/typescript/derived/color.d.ts +0 -2
- package/lib/typescript/derived/diff.d.ts +0 -1
- package/lib/typescript/derived/diffClamp.d.ts +0 -1
- package/lib/typescript/derived/evaluateOnce.d.ts +0 -9
- package/lib/typescript/derived/index.d.ts +0 -8
- package/lib/typescript/derived/interpolate.d.ts +0 -14
- package/lib/typescript/derived/interpolate.test.d.ts +0 -1
- package/lib/typescript/derived/interpolateColors.d.ts +0 -12
- package/lib/typescript/derived/onChange.d.ts +0 -3
- package/lib/typescript/derived/useCode.d.ts +0 -15
- package/lib/typescript/types.d.ts +0 -3
- package/lib/typescript/useValue.d.ts +0 -3
- package/lib/typescript/val.d.ts +0 -1
package/RNReanimated.podspec
CHANGED
package/android/build.gradle
CHANGED
|
@@ -17,8 +17,10 @@ buildscript {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
plugins {
|
|
21
|
+
id('com.android.library')
|
|
22
|
+
id('maven-publish')
|
|
23
|
+
}
|
|
22
24
|
|
|
23
25
|
android {
|
|
24
26
|
compileSdkVersion safeExtGet('compileSdkVersion', 28)
|
|
@@ -54,34 +56,6 @@ dependencies {
|
|
|
54
56
|
implementation "androidx.transition:transition:1.1.0"
|
|
55
57
|
}
|
|
56
58
|
|
|
57
|
-
def configureReactNativePom(def pom) {
|
|
58
|
-
def packageJson = new groovy.json.JsonSlurper().parseText(file('../package.json').text)
|
|
59
|
-
|
|
60
|
-
pom.project {
|
|
61
|
-
name packageJson.title
|
|
62
|
-
artifactId packageJson.name
|
|
63
|
-
version = packageJson.version
|
|
64
|
-
group = "com.swmansion.reanimated"
|
|
65
|
-
description packageJson.description
|
|
66
|
-
url packageJson.repository.baseUrl
|
|
67
|
-
|
|
68
|
-
licenses {
|
|
69
|
-
license {
|
|
70
|
-
name packageJson.license
|
|
71
|
-
url packageJson.repository.baseUrl + '/blob/master/' + packageJson.licenseFilename
|
|
72
|
-
distribution 'repo'
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
developers {
|
|
77
|
-
developer {
|
|
78
|
-
id packageJson.author.username
|
|
79
|
-
name packageJson.author.name
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
59
|
afterEvaluate { project ->
|
|
86
60
|
|
|
87
61
|
task androidJavadoc(type: Javadoc) {
|
|
@@ -92,12 +66,12 @@ afterEvaluate { project ->
|
|
|
92
66
|
}
|
|
93
67
|
|
|
94
68
|
task androidJavadocJar(type: Jar, dependsOn: androidJavadoc) {
|
|
95
|
-
|
|
69
|
+
archiveClassifier = 'javadoc'
|
|
96
70
|
from androidJavadoc.destinationDir
|
|
97
71
|
}
|
|
98
72
|
|
|
99
73
|
task androidSourcesJar(type: Jar) {
|
|
100
|
-
|
|
74
|
+
archiveClassifier = 'sources'
|
|
101
75
|
from android.sourceSets.main.java.srcDirs
|
|
102
76
|
include '**/*.java'
|
|
103
77
|
}
|
|
@@ -121,13 +95,11 @@ afterEvaluate { project ->
|
|
|
121
95
|
archives androidJavadocJar
|
|
122
96
|
}
|
|
123
97
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
configureReactNativePom pom
|
|
98
|
+
publishing {
|
|
99
|
+
publications {
|
|
100
|
+
maven(MavenPublication) {
|
|
101
|
+
artifact androidSourcesJar
|
|
102
|
+
}
|
|
131
103
|
}
|
|
132
104
|
}
|
|
133
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AnimatedCode.js"],"names":["assertNodesNotNull","code","children","exec","error","Error","Code","dependencies","nodes","AnimatedNode"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,SAASA,kBAAT,CAA4BC,IAA5B,EAAkCC,QAAlC,EAA4CC,IAA5C,EAAkD;AAChD,MAAI,CAACF,IAAL,EAAW;AACT,UAAMG,KAAK,GAAG,CAACF,QAAD,mBACF,OAAOA,QADL,kDAEF,OAAOC,IAFL,2BAAd;AAIA,UAAM,IAAIE,KAAJ,kIACsHD,KADtH,EAAN;AAGD;AACF;;AAED,SAASE,IAAT,CAAc;AAAEH,EAAAA,IAAF;AAAQD,EAAAA,QAAR;AAAkBK,EAAAA
|
|
1
|
+
{"version":3,"sources":["AnimatedCode.js"],"names":["assertNodesNotNull","code","children","exec","error","Error","Code","dependencies","nodes","AnimatedNode"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,SAASA,kBAAT,CAA4BC,IAA5B,EAAkCC,QAAlC,EAA4CC,IAA5C,EAAkD;AAChD,MAAI,CAACF,IAAL,EAAW;AACT,UAAMG,KAAK,GAAG,CAACF,QAAD,mBACF,OAAOA,QADL,kDAEF,OAAOC,IAFL,2BAAd;AAIA,UAAM,IAAIE,KAAJ,kIACsHD,KADtH,EAAN;AAGD;AACF;;AAED,SAASE,IAAT,CAAc;AAAEH,EAAAA,IAAF;AAAQD,EAAAA,QAAR;AAAkBK,EAAAA;AAAlB,CAAd,EAAgD;AAC9C,QAAMC,KAAK,GAAGN,QAAQ,IAAIC,IAA1B;AAEA,MAAIF,IAAI,GAAG,IAAX;;AACA,MAAIO,KAAK,YAAYC,qBAArB,EAAmC;AACjCR,IAAAA,IAAI,GAAG,MAAMO,KAAb;AACD,GAFD,MAEO,IAAI,OAAOA,KAAP,KAAiB,UAArB,EAAiC;AACtCP,IAAAA,IAAI,GAAGO,KAAP;AACD;;AAEDR,EAAAA,kBAAkB,CAACC,IAAD,EAAOC,QAAP,EAAiBC,IAAjB,CAAlB;AAEA,wBAAQF,IAAR,EAAcM,YAAd;AACA,SAAO,IAAP;AACD;;eAEcD,I","sourcesContent":["import useCode from '../derived/useCode';\nimport AnimatedNode from './AnimatedNode';\n\nfunction assertNodesNotNull(code, children, exec) {\n if (!code) {\n const error = !children\n ? `Got \"${typeof children}\" type passed to children`\n : `Got \"${typeof exec}\" type passed to exec`;\n\n throw new Error(\n `<Animated.Code /> expects the 'exec' prop or children to be an animated node or a function returning an animated node. ${error}`\n );\n }\n}\n\nfunction Code({ exec, children, dependencies }) {\n const nodes = children || exec;\n\n let code = null;\n if (nodes instanceof AnimatedNode) {\n code = () => nodes;\n } else if (typeof nodes === 'function') {\n code = nodes;\n }\n\n assertNodesNotNull(code, children, exec);\n\n useCode(code, dependencies);\n return null;\n}\n\nexport default Code;\n"]}
|
|
@@ -7,6 +7,8 @@ exports.createAnimatedDebug = createAnimatedDebug;
|
|
|
7
7
|
|
|
8
8
|
var _invariant = _interopRequireDefault(require("fbjs/lib/invariant"));
|
|
9
9
|
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
10
12
|
var _val = require("../val");
|
|
11
13
|
|
|
12
14
|
var _AnimatedBlock = require("./AnimatedBlock");
|
|
@@ -51,10 +53,14 @@ class AnimatedDebug extends _AnimatedNode.default {
|
|
|
51
53
|
|
|
52
54
|
function createAnimatedDebug(message, value) {
|
|
53
55
|
if (__DEV__) {
|
|
54
|
-
|
|
56
|
+
var _NativeModules$Native, _NativeModules$Native2, _NativeModules$Native3;
|
|
57
|
+
|
|
58
|
+
// hack to detect if app is running in remote debugger
|
|
55
59
|
// https://stackoverflow.com/questions/39022216
|
|
60
|
+
const runningInRemoteDebugger = typeof atob !== 'undefined'; // read the executionEnvironment off of expo-constants without explicitly
|
|
61
|
+
// depending on the package
|
|
56
62
|
|
|
57
|
-
const runningInExpoShell =
|
|
63
|
+
const runningInExpoShell = ((_NativeModules$Native = _reactNative.NativeModules.NativeUnimoduleProxy) === null || _NativeModules$Native === void 0 ? void 0 : (_NativeModules$Native2 = _NativeModules$Native.modulesConstants) === null || _NativeModules$Native2 === void 0 ? void 0 : (_NativeModules$Native3 = _NativeModules$Native2.ExponentConstants) === null || _NativeModules$Native3 === void 0 ? void 0 : _NativeModules$Native3.executionEnvironment) === 'storeClient';
|
|
58
64
|
|
|
59
65
|
if (runningInRemoteDebugger || runningInExpoShell) {
|
|
60
66
|
// When running in expo or remote debugger we use JS console.log to output variables
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AnimatedDebug.js"],"names":["AnimatedDebug","AnimatedNode","constructor","message","value","type","_message","_value","toString","__nodeID","__onEvaluate","console","log","createAnimatedDebug","__DEV__","runningInRemoteDebugger","atob","runningInExpoShell","
|
|
1
|
+
{"version":3,"sources":["AnimatedDebug.js"],"names":["AnimatedDebug","AnimatedNode","constructor","message","value","type","_message","_value","toString","__nodeID","__onEvaluate","console","log","createAnimatedDebug","__DEV__","runningInRemoteDebugger","atob","runningInExpoShell","NativeUnimoduleProxy","modulesConstants","ExponentConstants","executionEnvironment","a"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,aAAN,SAA4BC,qBAA5B,CAAyC;AAIvCC,EAAAA,WAAW,CAACC,OAAD,EAAUC,KAAV,EAAiB;AAC1B,4BACE,OAAOD,OAAP,KAAmB,QADrB,4FAEqFA,OAFrF;AAIA,4BACEC,KAAK,YAAYH,qBADnB,mGAE4FG,KAF5F;AAIA,UAAM;AAAEC,MAAAA,IAAI,EAAE,OAAR;AAAiBF,MAAAA,OAAjB;AAA0BC,MAAAA;AAA1B,KAAN,EAAyC,CAACA,KAAD,CAAzC;;AAT0B;;AAAA;;AAU1B,SAAKE,QAAL,GAAgBH,OAAhB;AACA,SAAKI,MAAL,GAAcH,KAAd;AACD;;AAEDI,EAAAA,QAAQ,GAAG;AACT,wCAA6B,KAAKC,QAAlC;AACD;;AAEDC,EAAAA,YAAY,GAAG;AACb,UAAMN,KAAK,GAAG,cAAI,KAAKG,MAAT,CAAd;AACAI,IAAAA,OAAO,CAACC,GAAR,CAAY,KAAKN,QAAjB,EAA2BF,KAA3B;AACA,WAAOA,KAAP;AACD;;AA1BsC;;AA6BlC,SAASS,mBAAT,CAA6BV,OAA7B,EAAsCC,KAAtC,EAA6C;AAClD,MAAIU,OAAJ,EAAa;AAAA;;AACX;AACA;AACA,UAAMC,uBAAuB,GAAG,OAAOC,IAAP,KAAgB,WAAhD,CAHW,CAKX;AACA;;AACA,UAAMC,kBAAkB,GACtB,qDAAcC,oBAAd,0GAAoCC,gBAApC,4GAAsDC,iBAAtD,kFACIC,oBADJ,MAC6B,aAF/B;;AAIA,QAAIN,uBAAuB,IAAIE,kBAA/B,EAAmD;AACjD;AACA;AACA,aAAO,wCAAM,CACX,sCAAK,CAACb,KAAD,CAAL,EAAc,CAAC,CAACkB,CAAD,CAAD,KAASX,OAAO,CAACC,GAAR,WAAeT,OAAf,cAA0BmB,CAA1B,EAAvB,CADW,EAEXlB,KAFW,CAAN,CAAP;AAID,KAPD,MAOO;AACL,aAAO,IAAIJ,aAAJ,CAAkBG,OAAlB,EAA2B,0BAAMC,KAAN,CAA3B,CAAP;AACD;AACF,GAtBiD,CAuBlD;;;AACA,SAAOA,KAAP;AACD","sourcesContent":["import invariant from 'fbjs/lib/invariant';\nimport { NativeModules } from 'react-native';\nimport { val } from '../val';\nimport { adapt, createAnimatedBlock as block } from './AnimatedBlock';\nimport { createAnimatedCall as call } from './AnimatedCall';\nimport AnimatedNode from './AnimatedNode';\n\nclass AnimatedDebug extends AnimatedNode {\n _message;\n _value;\n\n constructor(message, value) {\n invariant(\n typeof message === 'string',\n `Reanimated: Animated.debug node first argument should be of type string but got ${message}`\n );\n invariant(\n value instanceof AnimatedNode,\n `Reanimated: Animated.debug node second argument should be of type AnimatedNode but got ${value}`\n );\n super({ type: 'debug', message, value }, [value]);\n this._message = message;\n this._value = value;\n }\n\n toString() {\n return `AnimatedDebug, id: ${this.__nodeID}`;\n }\n\n __onEvaluate() {\n const value = val(this._value);\n console.log(this._message, value);\n return value;\n }\n}\n\nexport function createAnimatedDebug(message, value) {\n if (__DEV__) {\n // hack to detect if app is running in remote debugger\n // https://stackoverflow.com/questions/39022216\n const runningInRemoteDebugger = typeof atob !== 'undefined';\n\n // read the executionEnvironment off of expo-constants without explicitly\n // depending on the package\n const runningInExpoShell =\n NativeModules.NativeUnimoduleProxy?.modulesConstants?.ExponentConstants\n ?.executionEnvironment === 'storeClient';\n\n if (runningInRemoteDebugger || runningInExpoShell) {\n // When running in expo or remote debugger we use JS console.log to output variables\n // otherwise we output to the native console using native debug node\n return block([\n call([value], ([a]) => console.log(`${message} ${a}`)),\n value,\n ]);\n } else {\n return new AnimatedDebug(message, adapt(value));\n }\n }\n // Debugging is disabled in PROD\n return value;\n}\n"]}
|
|
@@ -95,6 +95,8 @@ function runPropUpdates() {
|
|
|
95
95
|
loopID += 1;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
+
const scheduleUpdates = _reactNative.Platform.OS === 'web' ? requestAnimationFrame : setImmediate;
|
|
99
|
+
|
|
98
100
|
class AnimatedNode {
|
|
99
101
|
constructor(nodeConfig, inputNodes) {
|
|
100
102
|
_defineProperty(this, "__nodeID", void 0);
|
|
@@ -172,7 +174,7 @@ class AnimatedNode {
|
|
|
172
174
|
UPDATED_NODES.push(this);
|
|
173
175
|
|
|
174
176
|
if (!propUpdatesEnqueued) {
|
|
175
|
-
propUpdatesEnqueued =
|
|
177
|
+
propUpdatesEnqueued = scheduleUpdates(runPropUpdates);
|
|
176
178
|
}
|
|
177
179
|
}
|
|
178
180
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AnimatedNode.js"],"names":["UPDATED_NODES","loopID","propUpdatesEnqueued","nodeCount","callID","getCallID","setCallID","nextCallID","sanitizeConfig","config","Platform","OS","includes","Array","isArray","map","AnimatedNode","__nodeID","output","property","runPropUpdates","visitedNodes","Set","findAndUpdateNodes","node","console","warn","has","add","update","nodes","__getChildren","i","l","length","constructor","nodeConfig","inputNodes","__nodeConfig","__initialized","__inputNodes","filter","toString","__attach","__nativeInitialize","__addChild","__detach","__removeChild","__nativeTearDown","__getValue","__lastLoopID","result","__onEvaluate","__memoizedValue","__forceUpdateCache","newValue","__markUpdated","__dangerouslyRescheduleEvaluate","push","setImmediate","ReanimatedModule","createNode","dropNode","isNativelyInitialized","Error","__getProps","__children","child","connectNodes","index","indexOf","disconnectNodes","splice","_connectAnimatedView","nativeViewTag","connectNodeToView","_disconnectAnimatedView","disconnectNodeFromView"],"mappings":"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","sourcesContent":["import ReanimatedModule from '../ReanimatedModule';\nimport { Platform } from 'react-native';\n\nconst UPDATED_NODES = [];\n\nlet loopID = 1;\nlet propUpdatesEnqueued = null;\nlet nodeCount = 0;\nlet callID = \"\";\n\nexport function getCallID() {\n return callID;\n}\n\nexport function setCallID(nextCallID) {\n callID = nextCallID;\n}\n\nfunction sanitizeConfig(config) {\n if (Platform.OS === 'web' || Platform.OS === 'windows' || Platform.OS === 'macos' || ['undefined', 'string', 'function', 'boolean', 'number'].includes(typeof config)) {\n return config;\n } else if (Array.isArray(config)) {\n return config.map(sanitizeConfig);\n } else if (config instanceof AnimatedNode) {\n return config.__nodeID;\n } else if (typeof config === 'object') {\n const output = {};\n for (const property in config) {\n if (property in config) {\n output[property] = sanitizeConfig(config[property]);\n }\n }\n return output;\n }\n // unhandled\n return config;\n}\n\nfunction runPropUpdates() {\n const visitedNodes = new Set();\n const findAndUpdateNodes = node => {\n if (!node) {\n console.warn('findAndUpdateNodes was passed a nullish node');\n return;\n }\n\n if (visitedNodes.has(node)) {\n return;\n } else {\n visitedNodes.add(node);\n }\n if (typeof node.update === 'function') {\n node.update();\n } else {\n const nodes = node.__getChildren();\n if (nodes) {\n for (let i = 0, l = nodes.length; i < l; i++) {\n findAndUpdateNodes(nodes[i]);\n }\n }\n }\n };\n for (let i = 0; i < UPDATED_NODES.length; i++) {\n const node = UPDATED_NODES[i];\n findAndUpdateNodes(node);\n }\n UPDATED_NODES.length = 0; // clear array\n propUpdatesEnqueued = null;\n loopID += 1;\n}\n\nexport default class AnimatedNode {\n\n __nodeID;\n __lastLoopID = { \"\": -1 };\n __memoizedValue = { \"\": null };\n __children = [];\n\n constructor(nodeConfig, inputNodes) {\n this.__nodeID = ++nodeCount;\n this.__nodeConfig = sanitizeConfig(nodeConfig);\n this.__initialized = false;\n this.__inputNodes =\n inputNodes && inputNodes.filter(node => node instanceof AnimatedNode);\n }\n\n toString() {\n return `AnimatedNode, id: ${this.__nodeID}`;\n }\n\n __attach() {\n this.__nativeInitialize();\n\n const nodes = this.__inputNodes;\n\n if (nodes) {\n for (let i = 0, l = nodes.length; i < l; i++) {\n nodes[i].__addChild(this);\n }\n }\n }\n\n __detach() {\n const nodes = this.__inputNodes;\n\n if (nodes) {\n for (let i = 0, l = nodes.length; i < l; i++) {\n nodes[i].__removeChild(this);\n }\n }\n\n this.__nativeTearDown();\n }\n\n __getValue() {\n if (!(callID in this.__lastLoopID) || this.__lastLoopID[callID] < loopID) {\n this.__lastLoopID[callID] = loopID;\n const result = this.__onEvaluate();\n this.__memoizedValue[callID] = result;\n return result;\n }\n return this.__memoizedValue[callID];\n }\n\n __forceUpdateCache(newValue) {\n this.__memoizedValue[callID] = newValue;\n this.__markUpdated();\n }\n\n __dangerouslyRescheduleEvaluate() {\n this.__lastLoopID[callID] = -1;\n this.__markUpdated();\n }\n\n __markUpdated() {\n UPDATED_NODES.push(this);\n if (!propUpdatesEnqueued) {\n propUpdatesEnqueued = setImmediate(runPropUpdates);\n }\n }\n\n __nativeInitialize() {\n if (!this.__initialized) {\n ReanimatedModule.createNode(this.__nodeID, { ...this.__nodeConfig });\n this.__initialized = true;\n }\n }\n\n __nativeTearDown() {\n if (this.__initialized) {\n ReanimatedModule.dropNode(this.__nodeID);\n this.__initialized = false;\n }\n }\n\n isNativelyInitialized() {\n return this.__initialized;\n }\n\n __onEvaluate() {\n throw new Error('Missing implementation of onEvaluate');\n }\n\n __getProps() {\n return this.__getValue();\n }\n\n __getChildren() {\n return this.__children;\n }\n\n __addChild(child) {\n if (this.__children.length === 0) {\n this.__attach();\n }\n this.__children.push(child);\n child.__nativeInitialize();\n\n if (ReanimatedModule.connectNodes) {\n ReanimatedModule.connectNodes(this.__nodeID, child.__nodeID);\n } else {\n child.__dangerouslyRescheduleEvaluate();\n }\n }\n\n __removeChild(child) {\n const index = this.__children.indexOf(child);\n if (index === -1) {\n console.warn(\"Trying to remove a child that doesn't exist\");\n return;\n }\n\n if (ReanimatedModule.disconnectNodes) {\n ReanimatedModule.disconnectNodes(this.__nodeID, child.__nodeID);\n }\n\n this.__children.splice(index, 1);\n if (this.__children.length === 0) {\n this.__detach();\n }\n }\n\n _connectAnimatedView(nativeViewTag) {\n if (ReanimatedModule.connectNodeToView) {\n ReanimatedModule.connectNodeToView(this.__nodeID, nativeViewTag);\n } else {\n this.__dangerouslyRescheduleEvaluate();\n }\n }\n\n _disconnectAnimatedView(nativeViewTag) {\n ReanimatedModule.disconnectNodeFromView(this.__nodeID, nativeViewTag);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["AnimatedNode.js"],"names":["UPDATED_NODES","loopID","propUpdatesEnqueued","nodeCount","callID","getCallID","setCallID","nextCallID","sanitizeConfig","config","Platform","OS","includes","Array","isArray","map","AnimatedNode","__nodeID","output","property","runPropUpdates","visitedNodes","Set","findAndUpdateNodes","node","console","warn","has","add","update","nodes","__getChildren","i","l","length","scheduleUpdates","requestAnimationFrame","setImmediate","constructor","nodeConfig","inputNodes","__nodeConfig","__initialized","__inputNodes","filter","toString","__attach","__nativeInitialize","__addChild","__detach","__removeChild","__nativeTearDown","__getValue","__lastLoopID","result","__onEvaluate","__memoizedValue","__forceUpdateCache","newValue","__markUpdated","__dangerouslyRescheduleEvaluate","push","ReanimatedModule","createNode","dropNode","isNativelyInitialized","Error","__getProps","__children","child","connectNodes","index","indexOf","disconnectNodes","splice","_connectAnimatedView","nativeViewTag","connectNodeToView","_disconnectAnimatedView","disconnectNodeFromView"],"mappings":"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","sourcesContent":["import ReanimatedModule from '../ReanimatedModule';\nimport { Platform } from 'react-native';\n\nconst UPDATED_NODES = [];\n\nlet loopID = 1;\nlet propUpdatesEnqueued = null;\nlet nodeCount = 0;\nlet callID = \"\";\n\nexport function getCallID() {\n return callID;\n}\n\nexport function setCallID(nextCallID) {\n callID = nextCallID;\n}\n\nfunction sanitizeConfig(config) {\n if (Platform.OS === 'web' || Platform.OS === 'windows' || Platform.OS === 'macos' || ['undefined', 'string', 'function', 'boolean', 'number'].includes(typeof config)) {\n return config;\n } else if (Array.isArray(config)) {\n return config.map(sanitizeConfig);\n } else if (config instanceof AnimatedNode) {\n return config.__nodeID;\n } else if (typeof config === 'object') {\n const output = {};\n for (const property in config) {\n if (property in config) {\n output[property] = sanitizeConfig(config[property]);\n }\n }\n return output;\n }\n // unhandled\n return config;\n}\n\nfunction runPropUpdates() {\n const visitedNodes = new Set();\n const findAndUpdateNodes = node => {\n if (!node) {\n console.warn('findAndUpdateNodes was passed a nullish node');\n return;\n }\n\n if (visitedNodes.has(node)) {\n return;\n } else {\n visitedNodes.add(node);\n }\n if (typeof node.update === 'function') {\n node.update();\n } else {\n const nodes = node.__getChildren();\n if (nodes) {\n for (let i = 0, l = nodes.length; i < l; i++) {\n findAndUpdateNodes(nodes[i]);\n }\n }\n }\n };\n for (let i = 0; i < UPDATED_NODES.length; i++) {\n const node = UPDATED_NODES[i];\n findAndUpdateNodes(node);\n }\n UPDATED_NODES.length = 0; // clear array\n propUpdatesEnqueued = null;\n loopID += 1;\n}\n\nconst scheduleUpdates =\n Platform.OS === 'web' ? requestAnimationFrame : setImmediate;\n\nexport default class AnimatedNode {\n\n __nodeID;\n __lastLoopID = { \"\": -1 };\n __memoizedValue = { \"\": null };\n __children = [];\n\n constructor(nodeConfig, inputNodes) {\n this.__nodeID = ++nodeCount;\n this.__nodeConfig = sanitizeConfig(nodeConfig);\n this.__initialized = false;\n this.__inputNodes =\n inputNodes && inputNodes.filter(node => node instanceof AnimatedNode);\n }\n\n toString() {\n return `AnimatedNode, id: ${this.__nodeID}`;\n }\n\n __attach() {\n this.__nativeInitialize();\n\n const nodes = this.__inputNodes;\n\n if (nodes) {\n for (let i = 0, l = nodes.length; i < l; i++) {\n nodes[i].__addChild(this);\n }\n }\n }\n\n __detach() {\n const nodes = this.__inputNodes;\n\n if (nodes) {\n for (let i = 0, l = nodes.length; i < l; i++) {\n nodes[i].__removeChild(this);\n }\n }\n\n this.__nativeTearDown();\n }\n\n __getValue() {\n if (!(callID in this.__lastLoopID) || this.__lastLoopID[callID] < loopID) {\n this.__lastLoopID[callID] = loopID;\n const result = this.__onEvaluate();\n this.__memoizedValue[callID] = result;\n return result;\n }\n return this.__memoizedValue[callID];\n }\n\n __forceUpdateCache(newValue) {\n this.__memoizedValue[callID] = newValue;\n this.__markUpdated();\n }\n\n __dangerouslyRescheduleEvaluate() {\n this.__lastLoopID[callID] = -1;\n this.__markUpdated();\n }\n\n __markUpdated() {\n UPDATED_NODES.push(this);\n if (!propUpdatesEnqueued) {\n propUpdatesEnqueued = scheduleUpdates(runPropUpdates);\n }\n }\n\n __nativeInitialize() {\n if (!this.__initialized) {\n ReanimatedModule.createNode(this.__nodeID, { ...this.__nodeConfig });\n this.__initialized = true;\n }\n }\n\n __nativeTearDown() {\n if (this.__initialized) {\n ReanimatedModule.dropNode(this.__nodeID);\n this.__initialized = false;\n }\n }\n\n isNativelyInitialized() {\n return this.__initialized;\n }\n\n __onEvaluate() {\n throw new Error('Missing implementation of onEvaluate');\n }\n\n __getProps() {\n return this.__getValue();\n }\n\n __getChildren() {\n return this.__children;\n }\n\n __addChild(child) {\n if (this.__children.length === 0) {\n this.__attach();\n }\n this.__children.push(child);\n child.__nativeInitialize();\n\n if (ReanimatedModule.connectNodes) {\n ReanimatedModule.connectNodes(this.__nodeID, child.__nodeID);\n } else {\n child.__dangerouslyRescheduleEvaluate();\n }\n }\n\n __removeChild(child) {\n const index = this.__children.indexOf(child);\n if (index === -1) {\n console.warn(\"Trying to remove a child that doesn't exist\");\n return;\n }\n\n if (ReanimatedModule.disconnectNodes) {\n ReanimatedModule.disconnectNodes(this.__nodeID, child.__nodeID);\n }\n\n this.__children.splice(index, 1);\n if (this.__children.length === 0) {\n this.__detach();\n }\n }\n\n _connectAnimatedView(nativeViewTag) {\n if (ReanimatedModule.connectNodeToView) {\n ReanimatedModule.connectNodeToView(this.__nodeID, nativeViewTag);\n } else {\n this.__dangerouslyRescheduleEvaluate();\n }\n }\n\n _disconnectAnimatedView(nativeViewTag) {\n ReanimatedModule.disconnectNodeFromView(this.__nodeID, nativeViewTag);\n }\n}\n"]}
|
|
@@ -73,6 +73,8 @@ function convertToRadians(outputRange) {
|
|
|
73
73
|
for (const [i, value] of outputRange.entries()) {
|
|
74
74
|
if (typeof value === 'string' && value.endsWith('deg')) {
|
|
75
75
|
outputRange[i] = parseFloat(value) * (Math.PI / 180);
|
|
76
|
+
} else if (typeof value === 'string' && value.endsWith('rad')) {
|
|
77
|
+
outputRange[i] = parseFloat(value);
|
|
76
78
|
}
|
|
77
79
|
}
|
|
78
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["interpolate.js"],"names":["interpolateInternalSingleProc","value","inS","inE","outS","outE","progress","resultForNonZeroRange","result","interpolateInternalSingle","inputRange","outputRange","offset","interpolateInternal","length","Extrapolate","EXTEND","CLAMP","IDENTITY","checkNonDecreasing","name","arr","i","AnimatedNode","checkMinElements","checkValidNumbers","Number","isFinite","convertToRadians","entries","endsWith","parseFloat","Math","PI","interpolate","config","extrapolate","extrapolateLeft","extrapolateRight","left","right","output"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["interpolate.js"],"names":["interpolateInternalSingleProc","value","inS","inE","outS","outE","progress","resultForNonZeroRange","result","interpolateInternalSingle","inputRange","outputRange","offset","interpolateInternal","length","Extrapolate","EXTEND","CLAMP","IDENTITY","checkNonDecreasing","name","arr","i","AnimatedNode","checkMinElements","checkValidNumbers","Number","isFinite","convertToRadians","entries","endsWith","parseFloat","Math","PI","interpolate","config","extrapolate","extrapolateLeft","extrapolateRight","left","right","output"],"mappings":"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","sourcesContent":["import {\n lessThan,\n multiply,\n sub,\n add,\n divide,\n greaterThan,\n lessOrEq,\n eq,\n} from '../operators';\nimport invariant from 'fbjs/lib/invariant';\n\nimport AnimatedNode from '../core/AnimatedNode';\nimport { createAnimatedCond as cond } from '../core/AnimatedCond';\nimport { createAnimatedFunction as proc } from '../core/AnimatedFunction';\n\nconst interpolateInternalSingleProc = proc(function(\n value,\n inS,\n inE,\n outS,\n outE\n) {\n const progress = divide(sub(value, inS), sub(inE, inS));\n // logic below was made in order to provide a compatibility witn an Animated API\n const resultForNonZeroRange = add(outS, multiply(progress, sub(outE, outS)));\n const result = cond(\n eq(inS, inE),\n cond(lessOrEq(value, inS), outS, outE),\n resultForNonZeroRange\n );\n return result;\n});\n\nfunction interpolateInternalSingle(value, inputRange, outputRange, offset) {\n const inS = inputRange[offset];\n const inE = inputRange[offset + 1];\n const outS = outputRange[offset];\n const outE = outputRange[offset + 1];\n return interpolateInternalSingleProc(value, inS, inE, outS, outE);\n}\n\nfunction interpolateInternal(value, inputRange, outputRange, offset = 0) {\n if (inputRange.length - offset === 2) {\n return interpolateInternalSingle(value, inputRange, outputRange, offset);\n }\n return cond(\n lessThan(value, inputRange[offset + 1]),\n interpolateInternalSingle(value, inputRange, outputRange, offset),\n interpolateInternal(value, inputRange, outputRange, offset + 1)\n );\n}\n\nexport const Extrapolate = {\n EXTEND: 'extend',\n CLAMP: 'clamp',\n IDENTITY: 'identity',\n};\n\nfunction checkNonDecreasing(name, arr) {\n for (let i = 1; i < arr.length; ++i) {\n // We can't validate animated nodes in JS.\n if (arr[i] instanceof AnimatedNode || arr[i - 1] instanceof AnimatedNode)\n continue;\n invariant(\n arr[i] >= arr[i - 1],\n '%s must be monotonically non-decreasing. (%s)',\n name,\n arr\n );\n }\n}\n\nfunction checkMinElements(name, arr) {\n invariant(\n arr.length >= 2,\n '%s must have at least 2 elements. (%s)',\n name,\n arr\n );\n}\n\nfunction checkValidNumbers(name, arr) {\n for (let i = 0; i < arr.length; i++) {\n // We can't validate animated nodes in JS.\n if (arr[i] instanceof AnimatedNode || typeof arr[i] !== 'number') continue;\n invariant(\n Number.isFinite(arr[i]),\n '%s cannot include %s. (%s)',\n name,\n arr[i],\n arr\n );\n }\n}\n\nfunction convertToRadians(outputRange) {\n for (const [i, value] of outputRange.entries()) {\n if (typeof value === 'string' && value.endsWith('deg')) {\n outputRange[i] = parseFloat(value) * (Math.PI / 180);\n } else if (typeof value === 'string' && value.endsWith('rad')) {\n outputRange[i] = parseFloat(value);\n }\n }\n}\n\nexport default function interpolate(value, config) {\n const {\n inputRange,\n outputRange,\n extrapolate = Extrapolate.EXTEND,\n extrapolateLeft,\n extrapolateRight,\n } = config;\n\n checkMinElements('inputRange', inputRange);\n checkValidNumbers('inputRange', inputRange);\n checkMinElements('outputRange', outputRange);\n checkValidNumbers('outputRange', outputRange);\n checkNonDecreasing('inputRange', inputRange);\n invariant(\n inputRange.length === outputRange.length,\n 'inputRange and outputRange must be the same length.'\n );\n\n convertToRadians(outputRange);\n const left = extrapolateLeft || extrapolate;\n const right = extrapolateRight || extrapolate;\n let output = interpolateInternal(value, inputRange, outputRange);\n\n if (left === Extrapolate.EXTEND) {\n } else if (left === Extrapolate.CLAMP) {\n output = cond(lessThan(value, inputRange[0]), outputRange[0], output);\n } else if (left === Extrapolate.IDENTITY) {\n output = cond(lessThan(value, inputRange[0]), value, output);\n }\n\n if (right === Extrapolate.EXTEND) {\n } else if (right === Extrapolate.CLAMP) {\n output = cond(\n greaterThan(value, inputRange[inputRange.length - 1]),\n outputRange[outputRange.length - 1],\n output\n );\n } else if (right === Extrapolate.IDENTITY) {\n output = cond(\n greaterThan(value, inputRange[inputRange.length - 1]),\n value,\n output\n );\n }\n\n return output;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AnimatedCode.js"],"names":["useCode","AnimatedNode","assertNodesNotNull","code","children","exec","error","Error","Code","dependencies","nodes"],"mappings":"AAAA,OAAOA,OAAP,MAAoB,oBAApB;AACA,OAAOC,YAAP,MAAyB,gBAAzB;;AAEA,SAASC,kBAAT,CAA4BC,IAA5B,EAAkCC,QAAlC,EAA4CC,IAA5C,EAAkD;AAChD,MAAI,CAACF,IAAL,EAAW;AACT,UAAMG,KAAK,GAAG,CAACF,QAAD,mBACF,OAAOA,QADL,kDAEF,OAAOC,IAFL,2BAAd;AAIA,UAAM,IAAIE,KAAJ,kIACsHD,KADtH,EAAN;AAGD;AACF;;AAED,SAASE,IAAT,CAAc;AAAEH,EAAAA,IAAF;AAAQD,EAAAA,QAAR;AAAkBK,EAAAA
|
|
1
|
+
{"version":3,"sources":["AnimatedCode.js"],"names":["useCode","AnimatedNode","assertNodesNotNull","code","children","exec","error","Error","Code","dependencies","nodes"],"mappings":"AAAA,OAAOA,OAAP,MAAoB,oBAApB;AACA,OAAOC,YAAP,MAAyB,gBAAzB;;AAEA,SAASC,kBAAT,CAA4BC,IAA5B,EAAkCC,QAAlC,EAA4CC,IAA5C,EAAkD;AAChD,MAAI,CAACF,IAAL,EAAW;AACT,UAAMG,KAAK,GAAG,CAACF,QAAD,mBACF,OAAOA,QADL,kDAEF,OAAOC,IAFL,2BAAd;AAIA,UAAM,IAAIE,KAAJ,kIACsHD,KADtH,EAAN;AAGD;AACF;;AAED,SAASE,IAAT,CAAc;AAAEH,EAAAA,IAAF;AAAQD,EAAAA,QAAR;AAAkBK,EAAAA;AAAlB,CAAd,EAAgD;AAC9C,QAAMC,KAAK,GAAGN,QAAQ,IAAIC,IAA1B;AAEA,MAAIF,IAAI,GAAG,IAAX;;AACA,MAAIO,KAAK,YAAYT,YAArB,EAAmC;AACjCE,IAAAA,IAAI,GAAG,MAAMO,KAAb;AACD,GAFD,MAEO,IAAI,OAAOA,KAAP,KAAiB,UAArB,EAAiC;AACtCP,IAAAA,IAAI,GAAGO,KAAP;AACD;;AAEDR,EAAAA,kBAAkB,CAACC,IAAD,EAAOC,QAAP,EAAiBC,IAAjB,CAAlB;AAEAL,EAAAA,OAAO,CAACG,IAAD,EAAOM,YAAP,CAAP;AACA,SAAO,IAAP;AACD;;AAED,eAAeD,IAAf","sourcesContent":["import useCode from '../derived/useCode';\nimport AnimatedNode from './AnimatedNode';\n\nfunction assertNodesNotNull(code, children, exec) {\n if (!code) {\n const error = !children\n ? `Got \"${typeof children}\" type passed to children`\n : `Got \"${typeof exec}\" type passed to exec`;\n\n throw new Error(\n `<Animated.Code /> expects the 'exec' prop or children to be an animated node or a function returning an animated node. ${error}`\n );\n }\n}\n\nfunction Code({ exec, children, dependencies }) {\n const nodes = children || exec;\n\n let code = null;\n if (nodes instanceof AnimatedNode) {\n code = () => nodes;\n } else if (typeof nodes === 'function') {\n code = nodes;\n }\n\n assertNodesNotNull(code, children, exec);\n\n useCode(code, dependencies);\n return null;\n}\n\nexport default Code;\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
function _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; }
|
|
2
2
|
|
|
3
3
|
import invariant from 'fbjs/lib/invariant';
|
|
4
|
+
import { NativeModules } from 'react-native';
|
|
4
5
|
import { val } from '../val';
|
|
5
6
|
import { adapt, createAnimatedBlock as block } from './AnimatedBlock';
|
|
6
7
|
import { createAnimatedCall as call } from './AnimatedCall';
|
|
@@ -38,10 +39,14 @@ class AnimatedDebug extends AnimatedNode {
|
|
|
38
39
|
|
|
39
40
|
export function createAnimatedDebug(message, value) {
|
|
40
41
|
if (__DEV__) {
|
|
41
|
-
|
|
42
|
+
var _NativeModules$Native, _NativeModules$Native2, _NativeModules$Native3;
|
|
43
|
+
|
|
44
|
+
// hack to detect if app is running in remote debugger
|
|
42
45
|
// https://stackoverflow.com/questions/39022216
|
|
46
|
+
const runningInRemoteDebugger = typeof atob !== 'undefined'; // read the executionEnvironment off of expo-constants without explicitly
|
|
47
|
+
// depending on the package
|
|
43
48
|
|
|
44
|
-
const runningInExpoShell =
|
|
49
|
+
const runningInExpoShell = ((_NativeModules$Native = NativeModules.NativeUnimoduleProxy) === null || _NativeModules$Native === void 0 ? void 0 : (_NativeModules$Native2 = _NativeModules$Native.modulesConstants) === null || _NativeModules$Native2 === void 0 ? void 0 : (_NativeModules$Native3 = _NativeModules$Native2.ExponentConstants) === null || _NativeModules$Native3 === void 0 ? void 0 : _NativeModules$Native3.executionEnvironment) === 'storeClient';
|
|
45
50
|
|
|
46
51
|
if (runningInRemoteDebugger || runningInExpoShell) {
|
|
47
52
|
// When running in expo or remote debugger we use JS console.log to output variables
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AnimatedDebug.js"],"names":["invariant","val","adapt","createAnimatedBlock","block","createAnimatedCall","call","AnimatedNode","AnimatedDebug","constructor","message","value","type","_message","_value","toString","__nodeID","__onEvaluate","console","log","createAnimatedDebug","__DEV__","runningInRemoteDebugger","atob","runningInExpoShell","
|
|
1
|
+
{"version":3,"sources":["AnimatedDebug.js"],"names":["invariant","NativeModules","val","adapt","createAnimatedBlock","block","createAnimatedCall","call","AnimatedNode","AnimatedDebug","constructor","message","value","type","_message","_value","toString","__nodeID","__onEvaluate","console","log","createAnimatedDebug","__DEV__","runningInRemoteDebugger","atob","runningInExpoShell","NativeUnimoduleProxy","modulesConstants","ExponentConstants","executionEnvironment","a"],"mappings":";;AAAA,OAAOA,SAAP,MAAsB,oBAAtB;AACA,SAASC,aAAT,QAA8B,cAA9B;AACA,SAASC,GAAT,QAAoB,QAApB;AACA,SAASC,KAAT,EAAgBC,mBAAmB,IAAIC,KAAvC,QAAoD,iBAApD;AACA,SAASC,kBAAkB,IAAIC,IAA/B,QAA2C,gBAA3C;AACA,OAAOC,YAAP,MAAyB,gBAAzB;;AAEA,MAAMC,aAAN,SAA4BD,YAA5B,CAAyC;AAIvCE,EAAAA,WAAW,CAACC,OAAD,EAAUC,KAAV,EAAiB;AAC1BZ,IAAAA,SAAS,CACP,OAAOW,OAAP,KAAmB,QADZ,4FAE4EA,OAF5E,EAAT;AAIAX,IAAAA,SAAS,CACPY,KAAK,YAAYJ,YADV,mGAEmFI,KAFnF,EAAT;AAIA,UAAM;AAAEC,MAAAA,IAAI,EAAE,OAAR;AAAiBF,MAAAA,OAAjB;AAA0BC,MAAAA;AAA1B,KAAN,EAAyC,CAACA,KAAD,CAAzC;;AAT0B;;AAAA;;AAU1B,SAAKE,QAAL,GAAgBH,OAAhB;AACA,SAAKI,MAAL,GAAcH,KAAd;AACD;;AAEDI,EAAAA,QAAQ,GAAG;AACT,wCAA6B,KAAKC,QAAlC;AACD;;AAEDC,EAAAA,YAAY,GAAG;AACb,UAAMN,KAAK,GAAGV,GAAG,CAAC,KAAKa,MAAN,CAAjB;AACAI,IAAAA,OAAO,CAACC,GAAR,CAAY,KAAKN,QAAjB,EAA2BF,KAA3B;AACA,WAAOA,KAAP;AACD;;AA1BsC;;AA6BzC,OAAO,SAASS,mBAAT,CAA6BV,OAA7B,EAAsCC,KAAtC,EAA6C;AAClD,MAAIU,OAAJ,EAAa;AAAA;;AACX;AACA;AACA,UAAMC,uBAAuB,GAAG,OAAOC,IAAP,KAAgB,WAAhD,CAHW,CAKX;AACA;;AACA,UAAMC,kBAAkB,GACtB,0BAAAxB,aAAa,CAACyB,oBAAd,0GAAoCC,gBAApC,4GAAsDC,iBAAtD,kFACIC,oBADJ,MAC6B,aAF/B;;AAIA,QAAIN,uBAAuB,IAAIE,kBAA/B,EAAmD;AACjD;AACA;AACA,aAAOpB,KAAK,CAAC,CACXE,IAAI,CAAC,CAACK,KAAD,CAAD,EAAU,CAAC,CAACkB,CAAD,CAAD,KAASX,OAAO,CAACC,GAAR,WAAeT,OAAf,cAA0BmB,CAA1B,EAAnB,CADO,EAEXlB,KAFW,CAAD,CAAZ;AAID,KAPD,MAOO;AACL,aAAO,IAAIH,aAAJ,CAAkBE,OAAlB,EAA2BR,KAAK,CAACS,KAAD,CAAhC,CAAP;AACD;AACF,GAtBiD,CAuBlD;;;AACA,SAAOA,KAAP;AACD","sourcesContent":["import invariant from 'fbjs/lib/invariant';\nimport { NativeModules } from 'react-native';\nimport { val } from '../val';\nimport { adapt, createAnimatedBlock as block } from './AnimatedBlock';\nimport { createAnimatedCall as call } from './AnimatedCall';\nimport AnimatedNode from './AnimatedNode';\n\nclass AnimatedDebug extends AnimatedNode {\n _message;\n _value;\n\n constructor(message, value) {\n invariant(\n typeof message === 'string',\n `Reanimated: Animated.debug node first argument should be of type string but got ${message}`\n );\n invariant(\n value instanceof AnimatedNode,\n `Reanimated: Animated.debug node second argument should be of type AnimatedNode but got ${value}`\n );\n super({ type: 'debug', message, value }, [value]);\n this._message = message;\n this._value = value;\n }\n\n toString() {\n return `AnimatedDebug, id: ${this.__nodeID}`;\n }\n\n __onEvaluate() {\n const value = val(this._value);\n console.log(this._message, value);\n return value;\n }\n}\n\nexport function createAnimatedDebug(message, value) {\n if (__DEV__) {\n // hack to detect if app is running in remote debugger\n // https://stackoverflow.com/questions/39022216\n const runningInRemoteDebugger = typeof atob !== 'undefined';\n\n // read the executionEnvironment off of expo-constants without explicitly\n // depending on the package\n const runningInExpoShell =\n NativeModules.NativeUnimoduleProxy?.modulesConstants?.ExponentConstants\n ?.executionEnvironment === 'storeClient';\n\n if (runningInRemoteDebugger || runningInExpoShell) {\n // When running in expo or remote debugger we use JS console.log to output variables\n // otherwise we output to the native console using native debug node\n return block([\n call([value], ([a]) => console.log(`${message} ${a}`)),\n value,\n ]);\n } else {\n return new AnimatedDebug(message, adapt(value));\n }\n }\n // Debugging is disabled in PROD\n return value;\n}\n"]}
|
|
@@ -80,6 +80,7 @@ function runPropUpdates() {
|
|
|
80
80
|
loopID += 1;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
+
const scheduleUpdates = Platform.OS === 'web' ? requestAnimationFrame : setImmediate;
|
|
83
84
|
export default class AnimatedNode {
|
|
84
85
|
constructor(nodeConfig, inputNodes) {
|
|
85
86
|
_defineProperty(this, "__nodeID", void 0);
|
|
@@ -157,7 +158,7 @@ export default class AnimatedNode {
|
|
|
157
158
|
UPDATED_NODES.push(this);
|
|
158
159
|
|
|
159
160
|
if (!propUpdatesEnqueued) {
|
|
160
|
-
propUpdatesEnqueued =
|
|
161
|
+
propUpdatesEnqueued = scheduleUpdates(runPropUpdates);
|
|
161
162
|
}
|
|
162
163
|
}
|
|
163
164
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AnimatedNode.js"],"names":["ReanimatedModule","Platform","UPDATED_NODES","loopID","propUpdatesEnqueued","nodeCount","callID","getCallID","setCallID","nextCallID","sanitizeConfig","config","OS","includes","Array","isArray","map","AnimatedNode","__nodeID","output","property","runPropUpdates","visitedNodes","Set","findAndUpdateNodes","node","console","warn","has","add","update","nodes","__getChildren","i","l","length","constructor","nodeConfig","inputNodes","__nodeConfig","__initialized","__inputNodes","filter","toString","__attach","__nativeInitialize","__addChild","__detach","__removeChild","__nativeTearDown","__getValue","__lastLoopID","result","__onEvaluate","__memoizedValue","__forceUpdateCache","newValue","__markUpdated","__dangerouslyRescheduleEvaluate","push","setImmediate","createNode","dropNode","isNativelyInitialized","Error","__getProps","__children","child","connectNodes","index","indexOf","disconnectNodes","splice","_connectAnimatedView","nativeViewTag","connectNodeToView","_disconnectAnimatedView","disconnectNodeFromView"],"mappings":"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","sourcesContent":["import ReanimatedModule from '../ReanimatedModule';\nimport { Platform } from 'react-native';\n\nconst UPDATED_NODES = [];\n\nlet loopID = 1;\nlet propUpdatesEnqueued = null;\nlet nodeCount = 0;\nlet callID = \"\";\n\nexport function getCallID() {\n return callID;\n}\n\nexport function setCallID(nextCallID) {\n callID = nextCallID;\n}\n\nfunction sanitizeConfig(config) {\n if (Platform.OS === 'web' || Platform.OS === 'windows' || Platform.OS === 'macos' || ['undefined', 'string', 'function', 'boolean', 'number'].includes(typeof config)) {\n return config;\n } else if (Array.isArray(config)) {\n return config.map(sanitizeConfig);\n } else if (config instanceof AnimatedNode) {\n return config.__nodeID;\n } else if (typeof config === 'object') {\n const output = {};\n for (const property in config) {\n if (property in config) {\n output[property] = sanitizeConfig(config[property]);\n }\n }\n return output;\n }\n // unhandled\n return config;\n}\n\nfunction runPropUpdates() {\n const visitedNodes = new Set();\n const findAndUpdateNodes = node => {\n if (!node) {\n console.warn('findAndUpdateNodes was passed a nullish node');\n return;\n }\n\n if (visitedNodes.has(node)) {\n return;\n } else {\n visitedNodes.add(node);\n }\n if (typeof node.update === 'function') {\n node.update();\n } else {\n const nodes = node.__getChildren();\n if (nodes) {\n for (let i = 0, l = nodes.length; i < l; i++) {\n findAndUpdateNodes(nodes[i]);\n }\n }\n }\n };\n for (let i = 0; i < UPDATED_NODES.length; i++) {\n const node = UPDATED_NODES[i];\n findAndUpdateNodes(node);\n }\n UPDATED_NODES.length = 0; // clear array\n propUpdatesEnqueued = null;\n loopID += 1;\n}\n\nexport default class AnimatedNode {\n\n __nodeID;\n __lastLoopID = { \"\": -1 };\n __memoizedValue = { \"\": null };\n __children = [];\n\n constructor(nodeConfig, inputNodes) {\n this.__nodeID = ++nodeCount;\n this.__nodeConfig = sanitizeConfig(nodeConfig);\n this.__initialized = false;\n this.__inputNodes =\n inputNodes && inputNodes.filter(node => node instanceof AnimatedNode);\n }\n\n toString() {\n return `AnimatedNode, id: ${this.__nodeID}`;\n }\n\n __attach() {\n this.__nativeInitialize();\n\n const nodes = this.__inputNodes;\n\n if (nodes) {\n for (let i = 0, l = nodes.length; i < l; i++) {\n nodes[i].__addChild(this);\n }\n }\n }\n\n __detach() {\n const nodes = this.__inputNodes;\n\n if (nodes) {\n for (let i = 0, l = nodes.length; i < l; i++) {\n nodes[i].__removeChild(this);\n }\n }\n\n this.__nativeTearDown();\n }\n\n __getValue() {\n if (!(callID in this.__lastLoopID) || this.__lastLoopID[callID] < loopID) {\n this.__lastLoopID[callID] = loopID;\n const result = this.__onEvaluate();\n this.__memoizedValue[callID] = result;\n return result;\n }\n return this.__memoizedValue[callID];\n }\n\n __forceUpdateCache(newValue) {\n this.__memoizedValue[callID] = newValue;\n this.__markUpdated();\n }\n\n __dangerouslyRescheduleEvaluate() {\n this.__lastLoopID[callID] = -1;\n this.__markUpdated();\n }\n\n __markUpdated() {\n UPDATED_NODES.push(this);\n if (!propUpdatesEnqueued) {\n propUpdatesEnqueued = setImmediate(runPropUpdates);\n }\n }\n\n __nativeInitialize() {\n if (!this.__initialized) {\n ReanimatedModule.createNode(this.__nodeID, { ...this.__nodeConfig });\n this.__initialized = true;\n }\n }\n\n __nativeTearDown() {\n if (this.__initialized) {\n ReanimatedModule.dropNode(this.__nodeID);\n this.__initialized = false;\n }\n }\n\n isNativelyInitialized() {\n return this.__initialized;\n }\n\n __onEvaluate() {\n throw new Error('Missing implementation of onEvaluate');\n }\n\n __getProps() {\n return this.__getValue();\n }\n\n __getChildren() {\n return this.__children;\n }\n\n __addChild(child) {\n if (this.__children.length === 0) {\n this.__attach();\n }\n this.__children.push(child);\n child.__nativeInitialize();\n\n if (ReanimatedModule.connectNodes) {\n ReanimatedModule.connectNodes(this.__nodeID, child.__nodeID);\n } else {\n child.__dangerouslyRescheduleEvaluate();\n }\n }\n\n __removeChild(child) {\n const index = this.__children.indexOf(child);\n if (index === -1) {\n console.warn(\"Trying to remove a child that doesn't exist\");\n return;\n }\n\n if (ReanimatedModule.disconnectNodes) {\n ReanimatedModule.disconnectNodes(this.__nodeID, child.__nodeID);\n }\n\n this.__children.splice(index, 1);\n if (this.__children.length === 0) {\n this.__detach();\n }\n }\n\n _connectAnimatedView(nativeViewTag) {\n if (ReanimatedModule.connectNodeToView) {\n ReanimatedModule.connectNodeToView(this.__nodeID, nativeViewTag);\n } else {\n this.__dangerouslyRescheduleEvaluate();\n }\n }\n\n _disconnectAnimatedView(nativeViewTag) {\n ReanimatedModule.disconnectNodeFromView(this.__nodeID, nativeViewTag);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["AnimatedNode.js"],"names":["ReanimatedModule","Platform","UPDATED_NODES","loopID","propUpdatesEnqueued","nodeCount","callID","getCallID","setCallID","nextCallID","sanitizeConfig","config","OS","includes","Array","isArray","map","AnimatedNode","__nodeID","output","property","runPropUpdates","visitedNodes","Set","findAndUpdateNodes","node","console","warn","has","add","update","nodes","__getChildren","i","l","length","scheduleUpdates","requestAnimationFrame","setImmediate","constructor","nodeConfig","inputNodes","__nodeConfig","__initialized","__inputNodes","filter","toString","__attach","__nativeInitialize","__addChild","__detach","__removeChild","__nativeTearDown","__getValue","__lastLoopID","result","__onEvaluate","__memoizedValue","__forceUpdateCache","newValue","__markUpdated","__dangerouslyRescheduleEvaluate","push","createNode","dropNode","isNativelyInitialized","Error","__getProps","__children","child","connectNodes","index","indexOf","disconnectNodes","splice","_connectAnimatedView","nativeViewTag","connectNodeToView","_disconnectAnimatedView","disconnectNodeFromView"],"mappings":";;;;;;AAAA,OAAOA,gBAAP,MAA6B,qBAA7B;AACA,SAASC,QAAT,QAAyB,cAAzB;AAEA,MAAMC,aAAa,GAAG,EAAtB;AAEA,IAAIC,MAAM,GAAG,CAAb;AACA,IAAIC,mBAAmB,GAAG,IAA1B;AACA,IAAIC,SAAS,GAAG,CAAhB;AACA,IAAIC,MAAM,GAAG,EAAb;AAEA,OAAO,SAASC,SAAT,GAAqB;AAC1B,SAAOD,MAAP;AACD;AAED,OAAO,SAASE,SAAT,CAAmBC,UAAnB,EAA+B;AACpCH,EAAAA,MAAM,GAAGG,UAAT;AACD;;AAED,SAASC,cAAT,CAAwBC,MAAxB,EAAgC;AAC9B,MAAIV,QAAQ,CAACW,EAAT,KAAgB,KAAhB,IAAyBX,QAAQ,CAACW,EAAT,KAAgB,SAAzC,IAAsDX,QAAQ,CAACW,EAAT,KAAgB,OAAtE,IAAiF,CAAC,WAAD,EAAc,QAAd,EAAwB,UAAxB,EAAoC,SAApC,EAA+C,QAA/C,EAAyDC,QAAzD,CAAkE,OAAOF,MAAzE,CAArF,EAAuK;AACrK,WAAOA,MAAP;AACD,GAFD,MAEO,IAAIG,KAAK,CAACC,OAAN,CAAcJ,MAAd,CAAJ,EAA2B;AAChC,WAAOA,MAAM,CAACK,GAAP,CAAWN,cAAX,CAAP;AACD,GAFM,MAEA,IAAIC,MAAM,YAAYM,YAAtB,EAAoC;AACzC,WAAON,MAAM,CAACO,QAAd;AACD,GAFM,MAEA,IAAI,OAAOP,MAAP,KAAkB,QAAtB,EAAgC;AACrC,UAAMQ,MAAM,GAAG,EAAf;;AACA,SAAK,MAAMC,QAAX,IAAuBT,MAAvB,EAA+B;AAC7B,UAAIS,QAAQ,IAAIT,MAAhB,EAAwB;AACtBQ,QAAAA,MAAM,CAACC,QAAD,CAAN,GAAmBV,cAAc,CAACC,MAAM,CAACS,QAAD,CAAP,CAAjC;AACD;AACF;;AACD,WAAOD,MAAP;AACD,GAf6B,CAgB9B;;;AACA,SAAOR,MAAP;AACD;;AAED,SAASU,cAAT,GAA0B;AACxB,QAAMC,YAAY,GAAG,IAAIC,GAAJ,EAArB;;AACA,QAAMC,kBAAkB,GAAGC,IAAI,IAAI;AACjC,QAAI,CAACA,IAAL,EAAW;AACTC,MAAAA,OAAO,CAACC,IAAR,CAAa,8CAAb;AACA;AACD;;AAED,QAAIL,YAAY,CAACM,GAAb,CAAiBH,IAAjB,CAAJ,EAA4B;AAC1B;AACD,KAFD,MAEO;AACLH,MAAAA,YAAY,CAACO,GAAb,CAAiBJ,IAAjB;AACD;;AACD,QAAI,OAAOA,IAAI,CAACK,MAAZ,KAAuB,UAA3B,EAAuC;AACrCL,MAAAA,IAAI,CAACK,MAAL;AACD,KAFD,MAEO;AACL,YAAMC,KAAK,GAAGN,IAAI,CAACO,aAAL,EAAd;;AACA,UAAID,KAAJ,EAAW;AACT,aAAK,IAAIE,CAAC,GAAG,CAAR,EAAWC,CAAC,GAAGH,KAAK,CAACI,MAA1B,EAAkCF,CAAC,GAAGC,CAAtC,EAAyCD,CAAC,EAA1C,EAA8C;AAC5CT,UAAAA,kBAAkB,CAACO,KAAK,CAACE,CAAD,CAAN,CAAlB;AACD;AACF;AACF;AACF,GArBD;;AAsBA,OAAK,IAAIA,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG/B,aAAa,CAACiC,MAAlC,EAA0CF,CAAC,EAA3C,EAA+C;AAC7C,UAAMR,IAAI,GAAGvB,aAAa,CAAC+B,CAAD,CAA1B;AACAT,IAAAA,kBAAkB,CAACC,IAAD,CAAlB;AACD;;AACDvB,EAAAA,aAAa,CAACiC,MAAd,GAAuB,CAAvB,CA5BwB,CA4BE;;AAC1B/B,EAAAA,mBAAmB,GAAG,IAAtB;AACAD,EAAAA,MAAM,IAAI,CAAV;AACD;;AAED,MAAMiC,eAAe,GACnBnC,QAAQ,CAACW,EAAT,KAAgB,KAAhB,GAAwByB,qBAAxB,GAAgDC,YADlD;AAGA,eAAe,MAAMrB,YAAN,CAAmB;AAOhCsB,EAAAA,WAAW,CAACC,UAAD,EAAaC,UAAb,EAAyB;AAAA;;AAAA,0CAJrB;AAAE,UAAI,CAAC;AAAP,KAIqB;;AAAA,6CAHlB;AAAE,UAAI;AAAN,KAGkB;;AAAA,wCAFvB,EAEuB;;AAClC,SAAKvB,QAAL,GAAgB,EAAEb,SAAlB;AACA,SAAKqC,YAAL,GAAoBhC,cAAc,CAAC8B,UAAD,CAAlC;AACA,SAAKG,aAAL,GAAqB,KAArB;AACA,SAAKC,YAAL,GACEH,UAAU,IAAIA,UAAU,CAACI,MAAX,CAAkBpB,IAAI,IAAIA,IAAI,YAAYR,YAA1C,CADhB;AAED;;AAED6B,EAAAA,QAAQ,GAAG;AACT,uCAA4B,KAAK5B,QAAjC;AACD;;AAED6B,EAAAA,QAAQ,GAAG;AACT,SAAKC,kBAAL;;AAEA,UAAMjB,KAAK,GAAG,KAAKa,YAAnB;;AAEA,QAAIb,KAAJ,EAAW;AACT,WAAK,IAAIE,CAAC,GAAG,CAAR,EAAWC,CAAC,GAAGH,KAAK,CAACI,MAA1B,EAAkCF,CAAC,GAAGC,CAAtC,EAAyCD,CAAC,EAA1C,EAA8C;AAC5CF,QAAAA,KAAK,CAACE,CAAD,CAAL,CAASgB,UAAT,CAAoB,IAApB;AACD;AACF;AACF;;AAEDC,EAAAA,QAAQ,GAAG;AACT,UAAMnB,KAAK,GAAG,KAAKa,YAAnB;;AAEA,QAAIb,KAAJ,EAAW;AACT,WAAK,IAAIE,CAAC,GAAG,CAAR,EAAWC,CAAC,GAAGH,KAAK,CAACI,MAA1B,EAAkCF,CAAC,GAAGC,CAAtC,EAAyCD,CAAC,EAA1C,EAA8C;AAC5CF,QAAAA,KAAK,CAACE,CAAD,CAAL,CAASkB,aAAT,CAAuB,IAAvB;AACD;AACF;;AAED,SAAKC,gBAAL;AACD;;AAEDC,EAAAA,UAAU,GAAG;AACX,QAAI,EAAE/C,MAAM,IAAI,KAAKgD,YAAjB,KAAkC,KAAKA,YAAL,CAAkBhD,MAAlB,IAA4BH,MAAlE,EAA0E;AACxE,WAAKmD,YAAL,CAAkBhD,MAAlB,IAA4BH,MAA5B;;AACA,YAAMoD,MAAM,GAAG,KAAKC,YAAL,EAAf;;AACA,WAAKC,eAAL,CAAqBnD,MAArB,IAA+BiD,MAA/B;AACA,aAAOA,MAAP;AACD;;AACD,WAAO,KAAKE,eAAL,CAAqBnD,MAArB,CAAP;AACD;;AAEDoD,EAAAA,kBAAkB,CAACC,QAAD,EAAW;AAC3B,SAAKF,eAAL,CAAqBnD,MAArB,IAA+BqD,QAA/B;;AACA,SAAKC,aAAL;AACD;;AAEDC,EAAAA,+BAA+B,GAAG;AAChC,SAAKP,YAAL,CAAkBhD,MAAlB,IAA4B,CAAC,CAA7B;;AACA,SAAKsD,aAAL;AACD;;AAEDA,EAAAA,aAAa,GAAG;AACd1D,IAAAA,aAAa,CAAC4D,IAAd,CAAmB,IAAnB;;AACA,QAAI,CAAC1D,mBAAL,EAA0B;AACxBA,MAAAA,mBAAmB,GAAGgC,eAAe,CAACf,cAAD,CAArC;AACD;AACF;;AAED2B,EAAAA,kBAAkB,GAAG;AACnB,QAAI,CAAC,KAAKL,aAAV,EAAyB;AACvB3C,MAAAA,gBAAgB,CAAC+D,UAAjB,CAA4B,KAAK7C,QAAjC,oBAAgD,KAAKwB,YAArD;AACA,WAAKC,aAAL,GAAqB,IAArB;AACD;AACF;;AAEDS,EAAAA,gBAAgB,GAAG;AACjB,QAAI,KAAKT,aAAT,EAAwB;AACtB3C,MAAAA,gBAAgB,CAACgE,QAAjB,CAA0B,KAAK9C,QAA/B;AACA,WAAKyB,aAAL,GAAqB,KAArB;AACD;AACF;;AAEDsB,EAAAA,qBAAqB,GAAG;AACtB,WAAO,KAAKtB,aAAZ;AACD;;AAEDa,EAAAA,YAAY,GAAG;AACb,UAAM,IAAIU,KAAJ,CAAU,sCAAV,CAAN;AACD;;AAEDC,EAAAA,UAAU,GAAG;AACX,WAAO,KAAKd,UAAL,EAAP;AACD;;AAEDrB,EAAAA,aAAa,GAAG;AACd,WAAO,KAAKoC,UAAZ;AACD;;AAEDnB,EAAAA,UAAU,CAACoB,KAAD,EAAQ;AAChB,QAAI,KAAKD,UAAL,CAAgBjC,MAAhB,KAA2B,CAA/B,EAAkC;AAChC,WAAKY,QAAL;AACD;;AACD,SAAKqB,UAAL,CAAgBN,IAAhB,CAAqBO,KAArB;;AACAA,IAAAA,KAAK,CAACrB,kBAAN;;AAEA,QAAIhD,gBAAgB,CAACsE,YAArB,EAAmC;AACjCtE,MAAAA,gBAAgB,CAACsE,YAAjB,CAA8B,KAAKpD,QAAnC,EAA6CmD,KAAK,CAACnD,QAAnD;AACD,KAFD,MAEO;AACLmD,MAAAA,KAAK,CAACR,+BAAN;AACD;AACF;;AAEDV,EAAAA,aAAa,CAACkB,KAAD,EAAQ;AACnB,UAAME,KAAK,GAAG,KAAKH,UAAL,CAAgBI,OAAhB,CAAwBH,KAAxB,CAAd;;AACA,QAAIE,KAAK,KAAK,CAAC,CAAf,EAAkB;AAChB7C,MAAAA,OAAO,CAACC,IAAR,CAAa,6CAAb;AACA;AACD;;AAED,QAAI3B,gBAAgB,CAACyE,eAArB,EAAsC;AACpCzE,MAAAA,gBAAgB,CAACyE,eAAjB,CAAiC,KAAKvD,QAAtC,EAAgDmD,KAAK,CAACnD,QAAtD;AACD;;AAED,SAAKkD,UAAL,CAAgBM,MAAhB,CAAuBH,KAAvB,EAA8B,CAA9B;;AACA,QAAI,KAAKH,UAAL,CAAgBjC,MAAhB,KAA2B,CAA/B,EAAkC;AAChC,WAAKe,QAAL;AACD;AACF;;AAEDyB,EAAAA,oBAAoB,CAACC,aAAD,EAAgB;AAClC,QAAI5E,gBAAgB,CAAC6E,iBAArB,EAAwC;AACtC7E,MAAAA,gBAAgB,CAAC6E,iBAAjB,CAAmC,KAAK3D,QAAxC,EAAkD0D,aAAlD;AACD,KAFD,MAEO;AACL,WAAKf,+BAAL;AACD;AACF;;AAEDiB,EAAAA,uBAAuB,CAACF,aAAD,EAAgB;AACrC5E,IAAAA,gBAAgB,CAAC+E,sBAAjB,CAAwC,KAAK7D,QAA7C,EAAuD0D,aAAvD;AACD;;AA7I+B","sourcesContent":["import ReanimatedModule from '../ReanimatedModule';\nimport { Platform } from 'react-native';\n\nconst UPDATED_NODES = [];\n\nlet loopID = 1;\nlet propUpdatesEnqueued = null;\nlet nodeCount = 0;\nlet callID = \"\";\n\nexport function getCallID() {\n return callID;\n}\n\nexport function setCallID(nextCallID) {\n callID = nextCallID;\n}\n\nfunction sanitizeConfig(config) {\n if (Platform.OS === 'web' || Platform.OS === 'windows' || Platform.OS === 'macos' || ['undefined', 'string', 'function', 'boolean', 'number'].includes(typeof config)) {\n return config;\n } else if (Array.isArray(config)) {\n return config.map(sanitizeConfig);\n } else if (config instanceof AnimatedNode) {\n return config.__nodeID;\n } else if (typeof config === 'object') {\n const output = {};\n for (const property in config) {\n if (property in config) {\n output[property] = sanitizeConfig(config[property]);\n }\n }\n return output;\n }\n // unhandled\n return config;\n}\n\nfunction runPropUpdates() {\n const visitedNodes = new Set();\n const findAndUpdateNodes = node => {\n if (!node) {\n console.warn('findAndUpdateNodes was passed a nullish node');\n return;\n }\n\n if (visitedNodes.has(node)) {\n return;\n } else {\n visitedNodes.add(node);\n }\n if (typeof node.update === 'function') {\n node.update();\n } else {\n const nodes = node.__getChildren();\n if (nodes) {\n for (let i = 0, l = nodes.length; i < l; i++) {\n findAndUpdateNodes(nodes[i]);\n }\n }\n }\n };\n for (let i = 0; i < UPDATED_NODES.length; i++) {\n const node = UPDATED_NODES[i];\n findAndUpdateNodes(node);\n }\n UPDATED_NODES.length = 0; // clear array\n propUpdatesEnqueued = null;\n loopID += 1;\n}\n\nconst scheduleUpdates =\n Platform.OS === 'web' ? requestAnimationFrame : setImmediate;\n\nexport default class AnimatedNode {\n\n __nodeID;\n __lastLoopID = { \"\": -1 };\n __memoizedValue = { \"\": null };\n __children = [];\n\n constructor(nodeConfig, inputNodes) {\n this.__nodeID = ++nodeCount;\n this.__nodeConfig = sanitizeConfig(nodeConfig);\n this.__initialized = false;\n this.__inputNodes =\n inputNodes && inputNodes.filter(node => node instanceof AnimatedNode);\n }\n\n toString() {\n return `AnimatedNode, id: ${this.__nodeID}`;\n }\n\n __attach() {\n this.__nativeInitialize();\n\n const nodes = this.__inputNodes;\n\n if (nodes) {\n for (let i = 0, l = nodes.length; i < l; i++) {\n nodes[i].__addChild(this);\n }\n }\n }\n\n __detach() {\n const nodes = this.__inputNodes;\n\n if (nodes) {\n for (let i = 0, l = nodes.length; i < l; i++) {\n nodes[i].__removeChild(this);\n }\n }\n\n this.__nativeTearDown();\n }\n\n __getValue() {\n if (!(callID in this.__lastLoopID) || this.__lastLoopID[callID] < loopID) {\n this.__lastLoopID[callID] = loopID;\n const result = this.__onEvaluate();\n this.__memoizedValue[callID] = result;\n return result;\n }\n return this.__memoizedValue[callID];\n }\n\n __forceUpdateCache(newValue) {\n this.__memoizedValue[callID] = newValue;\n this.__markUpdated();\n }\n\n __dangerouslyRescheduleEvaluate() {\n this.__lastLoopID[callID] = -1;\n this.__markUpdated();\n }\n\n __markUpdated() {\n UPDATED_NODES.push(this);\n if (!propUpdatesEnqueued) {\n propUpdatesEnqueued = scheduleUpdates(runPropUpdates);\n }\n }\n\n __nativeInitialize() {\n if (!this.__initialized) {\n ReanimatedModule.createNode(this.__nodeID, { ...this.__nodeConfig });\n this.__initialized = true;\n }\n }\n\n __nativeTearDown() {\n if (this.__initialized) {\n ReanimatedModule.dropNode(this.__nodeID);\n this.__initialized = false;\n }\n }\n\n isNativelyInitialized() {\n return this.__initialized;\n }\n\n __onEvaluate() {\n throw new Error('Missing implementation of onEvaluate');\n }\n\n __getProps() {\n return this.__getValue();\n }\n\n __getChildren() {\n return this.__children;\n }\n\n __addChild(child) {\n if (this.__children.length === 0) {\n this.__attach();\n }\n this.__children.push(child);\n child.__nativeInitialize();\n\n if (ReanimatedModule.connectNodes) {\n ReanimatedModule.connectNodes(this.__nodeID, child.__nodeID);\n } else {\n child.__dangerouslyRescheduleEvaluate();\n }\n }\n\n __removeChild(child) {\n const index = this.__children.indexOf(child);\n if (index === -1) {\n console.warn(\"Trying to remove a child that doesn't exist\");\n return;\n }\n\n if (ReanimatedModule.disconnectNodes) {\n ReanimatedModule.disconnectNodes(this.__nodeID, child.__nodeID);\n }\n\n this.__children.splice(index, 1);\n if (this.__children.length === 0) {\n this.__detach();\n }\n }\n\n _connectAnimatedView(nativeViewTag) {\n if (ReanimatedModule.connectNodeToView) {\n ReanimatedModule.connectNodeToView(this.__nodeID, nativeViewTag);\n } else {\n this.__dangerouslyRescheduleEvaluate();\n }\n }\n\n _disconnectAnimatedView(nativeViewTag) {\n ReanimatedModule.disconnectNodeFromView(this.__nodeID, nativeViewTag);\n }\n}\n"]}
|
|
@@ -57,6 +57,8 @@ function convertToRadians(outputRange) {
|
|
|
57
57
|
for (const [i, value] of outputRange.entries()) {
|
|
58
58
|
if (typeof value === 'string' && value.endsWith('deg')) {
|
|
59
59
|
outputRange[i] = parseFloat(value) * (Math.PI / 180);
|
|
60
|
+
} else if (typeof value === 'string' && value.endsWith('rad')) {
|
|
61
|
+
outputRange[i] = parseFloat(value);
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["interpolate.js"],"names":["lessThan","multiply","sub","add","divide","greaterThan","lessOrEq","eq","invariant","AnimatedNode","createAnimatedCond","cond","createAnimatedFunction","proc","interpolateInternalSingleProc","value","inS","inE","outS","outE","progress","resultForNonZeroRange","result","interpolateInternalSingle","inputRange","outputRange","offset","interpolateInternal","length","Extrapolate","EXTEND","CLAMP","IDENTITY","checkNonDecreasing","name","arr","i","checkMinElements","checkValidNumbers","Number","isFinite","convertToRadians","entries","endsWith","parseFloat","Math","PI","interpolate","config","extrapolate","extrapolateLeft","extrapolateRight","left","right","output"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["interpolate.js"],"names":["lessThan","multiply","sub","add","divide","greaterThan","lessOrEq","eq","invariant","AnimatedNode","createAnimatedCond","cond","createAnimatedFunction","proc","interpolateInternalSingleProc","value","inS","inE","outS","outE","progress","resultForNonZeroRange","result","interpolateInternalSingle","inputRange","outputRange","offset","interpolateInternal","length","Extrapolate","EXTEND","CLAMP","IDENTITY","checkNonDecreasing","name","arr","i","checkMinElements","checkValidNumbers","Number","isFinite","convertToRadians","entries","endsWith","parseFloat","Math","PI","interpolate","config","extrapolate","extrapolateLeft","extrapolateRight","left","right","output"],"mappings":"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","sourcesContent":["import {\n lessThan,\n multiply,\n sub,\n add,\n divide,\n greaterThan,\n lessOrEq,\n eq,\n} from '../operators';\nimport invariant from 'fbjs/lib/invariant';\n\nimport AnimatedNode from '../core/AnimatedNode';\nimport { createAnimatedCond as cond } from '../core/AnimatedCond';\nimport { createAnimatedFunction as proc } from '../core/AnimatedFunction';\n\nconst interpolateInternalSingleProc = proc(function(\n value,\n inS,\n inE,\n outS,\n outE\n) {\n const progress = divide(sub(value, inS), sub(inE, inS));\n // logic below was made in order to provide a compatibility witn an Animated API\n const resultForNonZeroRange = add(outS, multiply(progress, sub(outE, outS)));\n const result = cond(\n eq(inS, inE),\n cond(lessOrEq(value, inS), outS, outE),\n resultForNonZeroRange\n );\n return result;\n});\n\nfunction interpolateInternalSingle(value, inputRange, outputRange, offset) {\n const inS = inputRange[offset];\n const inE = inputRange[offset + 1];\n const outS = outputRange[offset];\n const outE = outputRange[offset + 1];\n return interpolateInternalSingleProc(value, inS, inE, outS, outE);\n}\n\nfunction interpolateInternal(value, inputRange, outputRange, offset = 0) {\n if (inputRange.length - offset === 2) {\n return interpolateInternalSingle(value, inputRange, outputRange, offset);\n }\n return cond(\n lessThan(value, inputRange[offset + 1]),\n interpolateInternalSingle(value, inputRange, outputRange, offset),\n interpolateInternal(value, inputRange, outputRange, offset + 1)\n );\n}\n\nexport const Extrapolate = {\n EXTEND: 'extend',\n CLAMP: 'clamp',\n IDENTITY: 'identity',\n};\n\nfunction checkNonDecreasing(name, arr) {\n for (let i = 1; i < arr.length; ++i) {\n // We can't validate animated nodes in JS.\n if (arr[i] instanceof AnimatedNode || arr[i - 1] instanceof AnimatedNode)\n continue;\n invariant(\n arr[i] >= arr[i - 1],\n '%s must be monotonically non-decreasing. (%s)',\n name,\n arr\n );\n }\n}\n\nfunction checkMinElements(name, arr) {\n invariant(\n arr.length >= 2,\n '%s must have at least 2 elements. (%s)',\n name,\n arr\n );\n}\n\nfunction checkValidNumbers(name, arr) {\n for (let i = 0; i < arr.length; i++) {\n // We can't validate animated nodes in JS.\n if (arr[i] instanceof AnimatedNode || typeof arr[i] !== 'number') continue;\n invariant(\n Number.isFinite(arr[i]),\n '%s cannot include %s. (%s)',\n name,\n arr[i],\n arr\n );\n }\n}\n\nfunction convertToRadians(outputRange) {\n for (const [i, value] of outputRange.entries()) {\n if (typeof value === 'string' && value.endsWith('deg')) {\n outputRange[i] = parseFloat(value) * (Math.PI / 180);\n } else if (typeof value === 'string' && value.endsWith('rad')) {\n outputRange[i] = parseFloat(value);\n }\n }\n}\n\nexport default function interpolate(value, config) {\n const {\n inputRange,\n outputRange,\n extrapolate = Extrapolate.EXTEND,\n extrapolateLeft,\n extrapolateRight,\n } = config;\n\n checkMinElements('inputRange', inputRange);\n checkValidNumbers('inputRange', inputRange);\n checkMinElements('outputRange', outputRange);\n checkValidNumbers('outputRange', outputRange);\n checkNonDecreasing('inputRange', inputRange);\n invariant(\n inputRange.length === outputRange.length,\n 'inputRange and outputRange must be the same length.'\n );\n\n convertToRadians(outputRange);\n const left = extrapolateLeft || extrapolate;\n const right = extrapolateRight || extrapolate;\n let output = interpolateInternal(value, inputRange, outputRange);\n\n if (left === Extrapolate.EXTEND) {\n } else if (left === Extrapolate.CLAMP) {\n output = cond(lessThan(value, inputRange[0]), outputRange[0], output);\n } else if (left === Extrapolate.IDENTITY) {\n output = cond(lessThan(value, inputRange[0]), value, output);\n }\n\n if (right === Extrapolate.EXTEND) {\n } else if (right === Extrapolate.CLAMP) {\n output = cond(\n greaterThan(value, inputRange[inputRange.length - 1]),\n outputRange[outputRange.length - 1],\n output\n );\n } else if (right === Extrapolate.IDENTITY) {\n output = cond(\n greaterThan(value, inputRange[inputRange.length - 1]),\n value,\n output\n );\n }\n\n return output;\n}\n"]}
|
package/mock.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-reanimated",
|
|
3
|
-
"version": "1.13.
|
|
3
|
+
"version": "1.13.4",
|
|
4
4
|
"description": "More powerful alternative to Animated library for React Native.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"start": "node node_modules/react-native/local-cli/cli.js start",
|
|
@@ -27,7 +27,10 @@
|
|
|
27
27
|
"RNReanimated.podspec",
|
|
28
28
|
"README.md",
|
|
29
29
|
"react-native-reanimated.d.ts",
|
|
30
|
-
"mock.js"
|
|
30
|
+
"mock.js",
|
|
31
|
+
"!__snapshots__",
|
|
32
|
+
"!*.test.js",
|
|
33
|
+
"!*.test.js.map"
|
|
31
34
|
],
|
|
32
35
|
"repository": {
|
|
33
36
|
"type": "git",
|
|
@@ -47,7 +47,7 @@ declare module 'react-native-reanimated' {
|
|
|
47
47
|
|
|
48
48
|
interface InterpolationConfig {
|
|
49
49
|
inputRange: ReadonlyArray<Adaptable<number>>;
|
|
50
|
-
outputRange: ReadonlyArray<Adaptable<number>>;
|
|
50
|
+
outputRange: ReadonlyArray<Adaptable<number | string>>;
|
|
51
51
|
extrapolate?: Extrapolate;
|
|
52
52
|
extrapolateLeft?: Extrapolate;
|
|
53
53
|
extrapolateRight?: Extrapolate;
|
|
@@ -178,6 +178,7 @@ declare module 'react-native-reanimated' {
|
|
|
178
178
|
type CodeProps = {
|
|
179
179
|
exec?: AnimatedNode<number>
|
|
180
180
|
children?: () => AnimatedNode<number>
|
|
181
|
+
dependencies?: Array<any>
|
|
181
182
|
};
|
|
182
183
|
|
|
183
184
|
// components
|
|
@@ -286,8 +287,8 @@ declare module 'react-native-reanimated' {
|
|
|
286
287
|
r: Adaptable<number>,
|
|
287
288
|
g: Adaptable<number>,
|
|
288
289
|
b: Adaptable<number>,
|
|
289
|
-
a?: Adaptable<number
|
|
290
|
-
): AnimatedNode<number>;
|
|
290
|
+
a?: Adaptable<number>
|
|
291
|
+
): AnimatedNode<number | string>;
|
|
291
292
|
export function diff(value: Adaptable<number>): AnimatedNode<number>;
|
|
292
293
|
export function diffClamp(
|
|
293
294
|
value: Adaptable<number>,
|
|
@@ -305,9 +306,9 @@ declare module 'react-native-reanimated' {
|
|
|
305
306
|
outputColorRange
|
|
306
307
|
}: {
|
|
307
308
|
inputRange: ReadonlyArray<Adaptable<number>>;
|
|
308
|
-
outputColorRange:
|
|
309
|
+
outputColorRange: ReadonlyArray<Adaptable<number | string>>;
|
|
309
310
|
}
|
|
310
|
-
): AnimatedNode<number>;
|
|
311
|
+
): AnimatedNode<number | string>;
|
|
311
312
|
export const max: BinaryOperator;
|
|
312
313
|
export const min: BinaryOperator;
|
|
313
314
|
|
package/src/core/AnimatedCode.js
CHANGED