{"version":3,"names":["_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","NativeModules","checkCppVersion","jsVersion","getValueUnpackerCode","assertSingleReanimatedInstance","global","_REANIMATED_VERSION_JS","Error","NativeReanimated","constructor","__DEV__","__reanimatedModuleProxy","ReanimatedModule","valueUnpackerCode","installTurboModule","InnerNativeModule","makeShareableClone","shouldPersistRemote","scheduleOnUI","shareable","executeOnUIRuntimeSync","createWorkletRuntime","name","initializer","scheduleOnRuntime","workletRuntime","shareableWorklet","registerSensor","sensorType","interval","iosReferenceFrame","handler","unregisterSensor","sensorId","registerEventHandler","eventHandler","eventName","emitterReactTag","unregisterEventHandler","id","getViewProp","viewTag","propName","callback","configureLayoutAnimation","type","sharedTransitionTag","config","configureLayoutAnimationBatch","layoutAnimationsBatch","setShouldAnimateExitingForTag","shouldAnimate","enableLayoutAnimations","flag","configureProps","uiProps","nativeProps","subscribeForKeyboardEvents","isStatusBarTranslucent","unsubscribeFromKeyboardEvents","listenerId"],"sources":["NativeReanimated.ts"],"sourcesContent":["'use strict';\nimport { NativeModules } from 'react-native';\nimport type { ShareableRef, Value3D, ValueRotation } from '../commonTypes';\nimport type {\n LayoutAnimationFunction,\n LayoutAnimationType,\n} from '../layoutReanimation';\nimport { checkCppVersion } from '../platform-specific/checkCppVersion';\nimport { jsVersion } from '../platform-specific/jsVersion';\nimport type { WorkletRuntime } from '../runtimes';\nimport { getValueUnpackerCode } from '../valueUnpacker';\nimport type { LayoutAnimationBatchItem } from '../layoutReanimation/animationBuilder/commonTypes';\n\n// this is the type of `__reanimatedModuleProxy` which is injected using JSI\nexport interface NativeReanimatedModule {\n makeShareableClone(\n value: T,\n shouldPersistRemote: boolean\n ): ShareableRef;\n scheduleOnUI(shareable: ShareableRef): void;\n executeOnUIRuntimeSync(shareable: ShareableRef): R;\n createWorkletRuntime(\n name: string,\n initializer: ShareableRef<() => void>\n ): WorkletRuntime;\n scheduleOnRuntime(\n workletRuntime: WorkletRuntime,\n worklet: ShareableRef\n ): void;\n registerEventHandler(\n eventHandler: ShareableRef,\n eventName: string,\n emitterReactTag: number\n ): number;\n unregisterEventHandler(id: number): void;\n getViewProp(\n viewTag: number,\n propName: string,\n callback?: (result: T) => void\n ): Promise;\n enableLayoutAnimations(flag: boolean): void;\n registerSensor(\n sensorType: number,\n interval: number,\n iosReferenceFrame: number,\n handler: ShareableRef<(data: Value3D | ValueRotation) => void>\n ): number;\n unregisterSensor(sensorId: number): void;\n configureProps(uiProps: string[], nativeProps: string[]): void;\n subscribeForKeyboardEvents(\n handler: ShareableRef,\n isStatusBarTranslucent: boolean\n ): number;\n unsubscribeFromKeyboardEvents(listenerId: number): void;\n configureLayoutAnimation(\n viewTag: number,\n type: LayoutAnimationType,\n sharedTransitionTag: string,\n config: ShareableRef\n ): void;\n configureLayoutAnimationBatch(\n layoutAnimationsBatch: {\n viewTag: number;\n type: LayoutAnimationType;\n config: ShareableRef | undefined;\n }[]\n ): void;\n setShouldAnimateExitingForTag(viewTag: number, shouldAnimate: boolean): void;\n}\n\nfunction assertSingleReanimatedInstance() {\n if (\n global._REANIMATED_VERSION_JS !== undefined &&\n global._REANIMATED_VERSION_JS !== jsVersion\n ) {\n throw new Error(\n `[Reanimated] Another instance of Reanimated was detected.\nSee \\`https://docs.swmansion.com/react-native-reanimated/docs/guides/troubleshooting#another-instance-of-reanimated-was-detected\\` for more details. Previous: ${global._REANIMATED_VERSION_JS}, current: ${jsVersion}.`\n );\n }\n}\n\nexport class NativeReanimated {\n private InnerNativeModule: NativeReanimatedModule;\n\n constructor() {\n // These checks have to split since version checking depend on the execution order\n if (__DEV__) {\n assertSingleReanimatedInstance();\n }\n global._REANIMATED_VERSION_JS = jsVersion;\n if (global.__reanimatedModuleProxy === undefined) {\n const { ReanimatedModule } = NativeModules;\n const valueUnpackerCode = getValueUnpackerCode();\n ReanimatedModule?.installTurboModule(valueUnpackerCode);\n }\n if (global.__reanimatedModuleProxy === undefined) {\n throw new Error(\n `[Reanimated] Native part of Reanimated doesn't seem to be initialized.\nSee https://docs.swmansion.com/react-native-reanimated/docs/guides/troubleshooting#native-part-of-reanimated-doesnt-seem-to-be-initialized for more details.`\n );\n }\n if (__DEV__) {\n checkCppVersion();\n }\n this.InnerNativeModule = global.__reanimatedModuleProxy;\n }\n\n makeShareableClone(value: T, shouldPersistRemote: boolean) {\n return this.InnerNativeModule.makeShareableClone(\n value,\n shouldPersistRemote\n );\n }\n\n scheduleOnUI(shareable: ShareableRef) {\n return this.InnerNativeModule.scheduleOnUI(shareable);\n }\n\n executeOnUIRuntimeSync(shareable: ShareableRef): R {\n return this.InnerNativeModule.executeOnUIRuntimeSync(shareable);\n }\n\n createWorkletRuntime(name: string, initializer: ShareableRef<() => void>) {\n return this.InnerNativeModule.createWorkletRuntime(name, initializer);\n }\n\n scheduleOnRuntime(\n workletRuntime: WorkletRuntime,\n shareableWorklet: ShareableRef\n ) {\n return this.InnerNativeModule.scheduleOnRuntime(\n workletRuntime,\n shareableWorklet\n );\n }\n\n registerSensor(\n sensorType: number,\n interval: number,\n iosReferenceFrame: number,\n handler: ShareableRef<(data: Value3D | ValueRotation) => void>\n ) {\n return this.InnerNativeModule.registerSensor(\n sensorType,\n interval,\n iosReferenceFrame,\n handler\n );\n }\n\n unregisterSensor(sensorId: number) {\n return this.InnerNativeModule.unregisterSensor(sensorId);\n }\n\n registerEventHandler(\n eventHandler: ShareableRef,\n eventName: string,\n emitterReactTag: number\n ) {\n return this.InnerNativeModule.registerEventHandler(\n eventHandler,\n eventName,\n emitterReactTag\n );\n }\n\n unregisterEventHandler(id: number) {\n return this.InnerNativeModule.unregisterEventHandler(id);\n }\n\n getViewProp(\n viewTag: number,\n propName: string,\n callback?: (result: T) => void\n ) {\n return this.InnerNativeModule.getViewProp(viewTag, propName, callback);\n }\n\n configureLayoutAnimation(\n viewTag: number,\n type: LayoutAnimationType,\n sharedTransitionTag: string,\n config: ShareableRef\n ) {\n this.InnerNativeModule.configureLayoutAnimation(\n viewTag,\n type,\n sharedTransitionTag,\n config\n );\n }\n\n configureLayoutAnimationBatch(\n layoutAnimationsBatch: LayoutAnimationBatchItem[]\n ) {\n this.InnerNativeModule.configureLayoutAnimationBatch(layoutAnimationsBatch);\n }\n\n setShouldAnimateExitingForTag(viewTag: number, shouldAnimate: boolean) {\n this.InnerNativeModule.setShouldAnimateExitingForTag(\n viewTag,\n shouldAnimate\n );\n }\n\n enableLayoutAnimations(flag: boolean) {\n this.InnerNativeModule.enableLayoutAnimations(flag);\n }\n\n configureProps(uiProps: string[], nativeProps: string[]) {\n this.InnerNativeModule.configureProps(uiProps, nativeProps);\n }\n\n subscribeForKeyboardEvents(\n handler: ShareableRef,\n isStatusBarTranslucent: boolean\n ) {\n return this.InnerNativeModule.subscribeForKeyboardEvents(\n handler,\n isStatusBarTranslucent\n );\n }\n\n unsubscribeFromKeyboardEvents(listenerId: number) {\n this.InnerNativeModule.unsubscribeFromKeyboardEvents(listenerId);\n }\n}\n"],"mappings":"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"}