@amazon-devices/react-native-worklets 1.0.0-rn-83
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/Common/cpp/worklets/AnimationFrameQueue/AnimationFrameBatchinator.cpp +71 -0
- package/Common/cpp/worklets/AnimationFrameQueue/AnimationFrameBatchinator.h +38 -0
- package/Common/cpp/worklets/NativeModules/JSIWorkletsModuleProxy.cpp +712 -0
- package/Common/cpp/worklets/NativeModules/JSIWorkletsModuleProxy.h +88 -0
- package/Common/cpp/worklets/NativeModules/WorkletsModuleProxy.cpp +89 -0
- package/Common/cpp/worklets/NativeModules/WorkletsModuleProxy.h +80 -0
- package/Common/cpp/worklets/Public/AsyncQueue.h +14 -0
- package/Common/cpp/worklets/Registries/EventHandlerRegistry.cpp +94 -0
- package/Common/cpp/worklets/Registries/EventHandlerRegistry.h +51 -0
- package/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.cpp +8 -0
- package/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.h +40 -0
- package/Common/cpp/worklets/Resources/SynchronizableUnpacker.cpp +49 -0
- package/Common/cpp/worklets/Resources/Unpackers.h +6 -0
- package/Common/cpp/worklets/Resources/ValueUnpacker.cpp +53 -0
- package/Common/cpp/worklets/RunLoop/AsyncQueueImpl.cpp +62 -0
- package/Common/cpp/worklets/RunLoop/AsyncQueueImpl.h +46 -0
- package/Common/cpp/worklets/RunLoop/EventLoop.cpp +112 -0
- package/Common/cpp/worklets/RunLoop/EventLoop.h +52 -0
- package/Common/cpp/worklets/SharedItems/Serializable.cpp +545 -0
- package/Common/cpp/worklets/SharedItems/Serializable.h +473 -0
- package/Common/cpp/worklets/SharedItems/Synchronizable.cpp +67 -0
- package/Common/cpp/worklets/SharedItems/Synchronizable.h +59 -0
- package/Common/cpp/worklets/SharedItems/SynchronizableAccess.cpp +81 -0
- package/Common/cpp/worklets/SharedItems/SynchronizableAccess.h +45 -0
- package/Common/cpp/worklets/Tools/Defs.h +10 -0
- package/Common/cpp/worklets/Tools/FeatureFlags.cpp +15 -0
- package/Common/cpp/worklets/Tools/FeatureFlags.h +44 -0
- package/Common/cpp/worklets/Tools/JSISerializer.cpp +342 -0
- package/Common/cpp/worklets/Tools/JSISerializer.h +51 -0
- package/Common/cpp/worklets/Tools/JSLogger.cpp +68 -0
- package/Common/cpp/worklets/Tools/JSLogger.h +37 -0
- package/Common/cpp/worklets/Tools/JSScheduler.cpp +24 -0
- package/Common/cpp/worklets/Tools/JSScheduler.h +39 -0
- package/Common/cpp/worklets/Tools/PlatformLogger.h +16 -0
- package/Common/cpp/worklets/Tools/SingleInstanceChecker.h +82 -0
- package/Common/cpp/worklets/Tools/ThreadSafeQueue.h +49 -0
- package/Common/cpp/worklets/Tools/UIScheduler.cpp +19 -0
- package/Common/cpp/worklets/Tools/UIScheduler.h +26 -0
- package/Common/cpp/worklets/Tools/VersionUtils.cpp +75 -0
- package/Common/cpp/worklets/Tools/VersionUtils.h +28 -0
- package/Common/cpp/worklets/Tools/WorkletEventHandler.cpp +29 -0
- package/Common/cpp/worklets/Tools/WorkletEventHandler.h +41 -0
- package/Common/cpp/worklets/Tools/WorkletsJSIUtils.cpp +46 -0
- package/Common/cpp/worklets/Tools/WorkletsJSIUtils.h +208 -0
- package/Common/cpp/worklets/Tools/WorkletsSystraceSection.h +161 -0
- package/Common/cpp/worklets/Tools/WorkletsVersion.cpp +54 -0
- package/Common/cpp/worklets/Tools/WorkletsVersion.h +20 -0
- package/Common/cpp/worklets/WorkletRuntime/RNRuntimeWorkletDecorator.cpp +38 -0
- package/Common/cpp/worklets/WorkletRuntime/RNRuntimeWorkletDecorator.h +21 -0
- package/Common/cpp/worklets/WorkletRuntime/RuntimeData.cpp +3 -0
- package/Common/cpp/worklets/WorkletRuntime/RuntimeData.h +12 -0
- package/Common/cpp/worklets/WorkletRuntime/RuntimeInitialization.md +191 -0
- package/Common/cpp/worklets/WorkletRuntime/RuntimeKind.h +16 -0
- package/Common/cpp/worklets/WorkletRuntime/RuntimeManager.cpp +105 -0
- package/Common/cpp/worklets/WorkletRuntime/RuntimeManager.h +63 -0
- package/Common/cpp/worklets/WorkletRuntime/UIRuntimeDecorator.cpp +23 -0
- package/Common/cpp/worklets/WorkletRuntime/UIRuntimeDecorator.h +16 -0
- package/Common/cpp/worklets/WorkletRuntime/WorkletHermesRuntime.cpp +119 -0
- package/Common/cpp/worklets/WorkletRuntime/WorkletHermesRuntime.h +134 -0
- package/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.cpp +244 -0
- package/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.h +102 -0
- package/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeCollector.h +36 -0
- package/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.cpp +308 -0
- package/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.h +26 -0
- package/LICENSE +7 -0
- package/README.md +31 -0
- package/RNWorklets.podspec +94 -0
- package/SystemBundles/cc12deac6e91c435b76698c8445aed85612f2f88e733218d14f88a35d06fb0f4.bundle +10512 -0
- package/SystemBundles/cc12deac6e91c435b76698c8445aed85612f2f88e733218d14f88a35d06fb0f4.map +3771 -0
- package/SystemModules/amzn__react-native-worklets-1.modules.txt +39 -0
- package/SystemModules/amzn__react-native-worklets-1.private.modules.txt +61 -0
- package/SystemModules/keplerscript-system-bundle-config.json +7 -0
- package/android/CMakeLists.txt +124 -0
- package/android/build.gradle +350 -0
- package/android/gradle.properties +5 -0
- package/android/proguard-rules.pro +3 -0
- package/android/spotless.gradle +9 -0
- package/android/src/experimentalBundling/com/swmansion/worklets/WorkletsModule.java +149 -0
- package/android/src/legacyBundling/com/swmansion/worklets/WorkletsModule.java +122 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/cpp/worklets/android/AndroidUIScheduler.cpp +63 -0
- package/android/src/main/cpp/worklets/android/AndroidUIScheduler.h +43 -0
- package/android/src/main/cpp/worklets/android/AnimationFrameCallback.h +34 -0
- package/android/src/main/cpp/worklets/android/PlatformLogger.cpp +29 -0
- package/android/src/main/cpp/worklets/android/WorkletsModule.cpp +115 -0
- package/android/src/main/cpp/worklets/android/WorkletsModule.h +78 -0
- package/android/src/main/cpp/worklets/android/WorkletsOnLoad.cpp +13 -0
- package/android/src/main/java/com/swmansion/worklets/AndroidUIScheduler.java +60 -0
- package/android/src/main/java/com/swmansion/worklets/JSCallInvokerResolver.java +27 -0
- package/android/src/main/java/com/swmansion/worklets/WorkletsMessageQueueThread.java +16 -0
- package/android/src/main/java/com/swmansion/worklets/WorkletsMessageQueueThreadBase.java +73 -0
- package/android/src/main/java/com/swmansion/worklets/WorkletsPackage.java +48 -0
- package/android/src/main/java/com/swmansion/worklets/runloop/AnimationFrameCallback.java +19 -0
- package/android/src/main/java/com/swmansion/worklets/runloop/AnimationFrameQueue.java +113 -0
- package/apple/worklets/apple/AnimationFrameQueue.h +15 -0
- package/apple/worklets/apple/AnimationFrameQueue.mm +135 -0
- package/apple/worklets/apple/AssertJavaScriptQueue.h +14 -0
- package/apple/worklets/apple/AssertTurboModuleManagerQueue.h +16 -0
- package/apple/worklets/apple/IOSUIScheduler.h +15 -0
- package/apple/worklets/apple/IOSUIScheduler.mm +29 -0
- package/apple/worklets/apple/PlatformLogger.mm +31 -0
- package/apple/worklets/apple/SlowAnimations.h +8 -0
- package/apple/worklets/apple/SlowAnimations.mm +45 -0
- package/apple/worklets/apple/WorkletsDisplayLink.h +21 -0
- package/apple/worklets/apple/WorkletsMessageThread.h +16 -0
- package/apple/worklets/apple/WorkletsMessageThread.mm +31 -0
- package/apple/worklets/apple/WorkletsModule.h +28 -0
- package/apple/worklets/apple/WorkletsModule.mm +121 -0
- package/bundleMode/index.d.ts +3 -0
- package/bundleMode/index.js +59 -0
- package/compatibility.json +11 -0
- package/kepler-compatibility.json +5 -0
- package/kepler-transformed-package-info.json +3 -0
- package/lib/module/PlatformChecker/PlatformChecker.js +8 -0
- package/lib/module/PlatformChecker/PlatformChecker.js.map +1 -0
- package/lib/module/PlatformChecker/index.js +18 -0
- package/lib/module/PlatformChecker/index.js.map +1 -0
- package/lib/module/WorkletsError.js +29 -0
- package/lib/module/WorkletsError.js.map +1 -0
- package/lib/module/WorkletsModule/JSWorklets.js +111 -0
- package/lib/module/WorkletsModule/JSWorklets.js.map +1 -0
- package/lib/module/WorkletsModule/NativeWorklets.js +126 -0
- package/lib/module/WorkletsModule/NativeWorklets.js.map +1 -0
- package/lib/module/WorkletsModule/index.js +4 -0
- package/lib/module/WorkletsModule/index.js.map +1 -0
- package/lib/module/WorkletsModule/workletsModuleInstance.js +7 -0
- package/lib/module/WorkletsModule/workletsModuleInstance.js.map +1 -0
- package/lib/module/WorkletsModule/workletsModuleInstance.web.js +5 -0
- package/lib/module/WorkletsModule/workletsModuleInstance.web.js.map +1 -0
- package/lib/module/WorkletsModule/workletsModuleProxy.js +4 -0
- package/lib/module/WorkletsModule/workletsModuleProxy.js.map +1 -0
- package/lib/module/bundleUnpacker.js +47 -0
- package/lib/module/bundleUnpacker.js.map +1 -0
- package/lib/module/callGuard.js +30 -0
- package/lib/module/callGuard.js.map +1 -0
- package/lib/module/deprecated.js +20 -0
- package/lib/module/deprecated.js.map +1 -0
- package/lib/module/errors.js +69 -0
- package/lib/module/errors.js.map +1 -0
- package/lib/module/featureFlags/index.js +48 -0
- package/lib/module/featureFlags/index.js.map +1 -0
- package/lib/module/featureFlags/staticFlags.json +4 -0
- package/lib/module/index.js +26 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/initializers.js +221 -0
- package/lib/module/initializers.js.map +1 -0
- package/lib/module/isSynchronizable.js +6 -0
- package/lib/module/isSynchronizable.js.map +1 -0
- package/lib/module/logger.js +15 -0
- package/lib/module/logger.js.map +1 -0
- package/lib/module/privateGlobals.d.js +7 -0
- package/lib/module/privateGlobals.d.js.map +1 -0
- package/lib/module/publicGlobals.js +6 -0
- package/lib/module/publicGlobals.js.map +1 -0
- package/lib/module/runLoop/common/setImmediatePolyfill.js +15 -0
- package/lib/module/runLoop/common/setImmediatePolyfill.js.map +1 -0
- package/lib/module/runLoop/common/setIntervalPolyfill.js +26 -0
- package/lib/module/runLoop/common/setIntervalPolyfill.js.map +1 -0
- package/lib/module/runLoop/uiRuntime/mockedRequestAnimationFrame.js +10 -0
- package/lib/module/runLoop/uiRuntime/mockedRequestAnimationFrame.js.map +1 -0
- package/lib/module/runLoop/uiRuntime/requestAnimationFrame.js +52 -0
- package/lib/module/runLoop/uiRuntime/requestAnimationFrame.js.map +1 -0
- package/lib/module/runLoop/uiRuntime/setTimeoutPolyfill.js +32 -0
- package/lib/module/runLoop/uiRuntime/setTimeoutPolyfill.js.map +1 -0
- package/lib/module/runLoop/workletRuntime/index.js +19 -0
- package/lib/module/runLoop/workletRuntime/index.js.map +1 -0
- package/lib/module/runLoop/workletRuntime/queueMicrotask.js +11 -0
- package/lib/module/runLoop/workletRuntime/queueMicrotask.js.map +1 -0
- package/lib/module/runLoop/workletRuntime/requestAnimationFramePolyfill.js +48 -0
- package/lib/module/runLoop/workletRuntime/requestAnimationFramePolyfill.js.map +1 -0
- package/lib/module/runLoop/workletRuntime/setTimeout.js +28 -0
- package/lib/module/runLoop/workletRuntime/setTimeout.js.map +1 -0
- package/lib/module/runLoop/workletRuntime/taskQueue.js +37 -0
- package/lib/module/runLoop/workletRuntime/taskQueue.js.map +1 -0
- package/lib/module/runtimeKind.js +39 -0
- package/lib/module/runtimeKind.js.map +1 -0
- package/lib/module/runtimes.js +100 -0
- package/lib/module/runtimes.js.map +1 -0
- package/lib/module/serializable.js +568 -0
- package/lib/module/serializable.js.map +1 -0
- package/lib/module/serializableMappingCache.js +37 -0
- package/lib/module/serializableMappingCache.js.map +1 -0
- package/lib/module/specs/NativeWorkletsModule.js +5 -0
- package/lib/module/specs/NativeWorkletsModule.js.map +1 -0
- package/lib/module/specs/NativeWorkletsModule.kepler.js +7 -0
- package/lib/module/specs/NativeWorkletsModule.kepler.js.map +1 -0
- package/lib/module/specs/index.js +10 -0
- package/lib/module/specs/index.js.map +1 -0
- package/lib/module/synchronizable.js +9 -0
- package/lib/module/synchronizable.js.map +1 -0
- package/lib/module/synchronizableUnpacker.js +42 -0
- package/lib/module/synchronizableUnpacker.js.map +1 -0
- package/lib/module/threads.js +347 -0
- package/lib/module/threads.js.map +1 -0
- package/lib/module/utils/checkCppVersion.js +30 -0
- package/lib/module/utils/checkCppVersion.js.map +1 -0
- package/lib/module/utils/jsVersion.js +9 -0
- package/lib/module/utils/jsVersion.js.map +1 -0
- package/lib/module/valueUnpacker.js +60 -0
- package/lib/module/valueUnpacker.js.map +1 -0
- package/lib/module/workletFunction.js +37 -0
- package/lib/module/workletFunction.js.map +1 -0
- package/lib/module/workletRuntimeEntry.js +32 -0
- package/lib/module/workletRuntimeEntry.js.map +1 -0
- package/lib/module/workletTypes.js +12 -0
- package/lib/module/workletTypes.js.map +1 -0
- package/lib/typescript/PlatformChecker/PlatformChecker.d.ts +5 -0
- package/lib/typescript/PlatformChecker/PlatformChecker.d.ts.map +1 -0
- package/lib/typescript/PlatformChecker/index.d.ts +10 -0
- package/lib/typescript/PlatformChecker/index.d.ts.map +1 -0
- package/lib/typescript/WorkletsError.d.ts +15 -0
- package/lib/typescript/WorkletsError.d.ts.map +1 -0
- package/lib/typescript/WorkletsModule/JSWorklets.d.ts +3 -0
- package/lib/typescript/WorkletsModule/JSWorklets.d.ts.map +1 -0
- package/lib/typescript/WorkletsModule/NativeWorklets.d.ts +3 -0
- package/lib/typescript/WorkletsModule/NativeWorklets.d.ts.map +1 -0
- package/lib/typescript/WorkletsModule/index.d.ts +3 -0
- package/lib/typescript/WorkletsModule/index.d.ts.map +1 -0
- package/lib/typescript/WorkletsModule/workletsModuleInstance.d.ts +2 -0
- package/lib/typescript/WorkletsModule/workletsModuleInstance.d.ts.map +1 -0
- package/lib/typescript/WorkletsModule/workletsModuleInstance.web.d.ts +2 -0
- package/lib/typescript/WorkletsModule/workletsModuleInstance.web.d.ts.map +1 -0
- package/lib/typescript/WorkletsModule/workletsModuleProxy.d.ts +37 -0
- package/lib/typescript/WorkletsModule/workletsModuleProxy.d.ts.map +1 -0
- package/lib/typescript/bundleUnpacker.d.ts +7 -0
- package/lib/typescript/bundleUnpacker.d.ts.map +1 -0
- package/lib/typescript/callGuard.d.ts +4 -0
- package/lib/typescript/callGuard.d.ts.map +1 -0
- package/lib/typescript/deprecated.d.ts +20 -0
- package/lib/typescript/deprecated.d.ts.map +1 -0
- package/lib/typescript/errors.d.ts +16 -0
- package/lib/typescript/errors.d.ts.map +1 -0
- package/lib/typescript/featureFlags/index.d.ts +23 -0
- package/lib/typescript/featureFlags/index.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +17 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/initializers.d.ts +17 -0
- package/lib/typescript/initializers.d.ts.map +1 -0
- package/lib/typescript/isSynchronizable.d.ts +3 -0
- package/lib/typescript/isSynchronizable.d.ts.map +1 -0
- package/lib/typescript/logger.d.ts +5 -0
- package/lib/typescript/logger.d.ts.map +1 -0
- package/lib/typescript/publicGlobals.d.ts +31 -0
- package/lib/typescript/publicGlobals.d.ts.map +1 -0
- package/lib/typescript/runLoop/common/setImmediatePolyfill.d.ts +2 -0
- package/lib/typescript/runLoop/common/setImmediatePolyfill.d.ts.map +1 -0
- package/lib/typescript/runLoop/common/setIntervalPolyfill.d.ts +2 -0
- package/lib/typescript/runLoop/common/setIntervalPolyfill.d.ts.map +1 -0
- package/lib/typescript/runLoop/uiRuntime/mockedRequestAnimationFrame.d.ts +6 -0
- package/lib/typescript/runLoop/uiRuntime/mockedRequestAnimationFrame.d.ts.map +1 -0
- package/lib/typescript/runLoop/uiRuntime/requestAnimationFrame.d.ts +2 -0
- package/lib/typescript/runLoop/uiRuntime/requestAnimationFrame.d.ts.map +1 -0
- package/lib/typescript/runLoop/uiRuntime/setTimeoutPolyfill.d.ts +2 -0
- package/lib/typescript/runLoop/uiRuntime/setTimeoutPolyfill.d.ts.map +1 -0
- package/lib/typescript/runLoop/workletRuntime/index.d.ts +2 -0
- package/lib/typescript/runLoop/workletRuntime/index.d.ts.map +1 -0
- package/lib/typescript/runLoop/workletRuntime/queueMicrotask.d.ts +2 -0
- package/lib/typescript/runLoop/workletRuntime/queueMicrotask.d.ts.map +1 -0
- package/lib/typescript/runLoop/workletRuntime/requestAnimationFramePolyfill.d.ts +2 -0
- package/lib/typescript/runLoop/workletRuntime/requestAnimationFramePolyfill.d.ts.map +1 -0
- package/lib/typescript/runLoop/workletRuntime/setTimeout.d.ts +2 -0
- package/lib/typescript/runLoop/workletRuntime/setTimeout.d.ts.map +1 -0
- package/lib/typescript/runLoop/workletRuntime/taskQueue.d.ts +10 -0
- package/lib/typescript/runLoop/workletRuntime/taskQueue.d.ts.map +1 -0
- package/lib/typescript/runtimeKind.d.ts +25 -0
- package/lib/typescript/runtimeKind.d.ts.map +1 -0
- package/lib/typescript/runtimes.d.ts +77 -0
- package/lib/typescript/runtimes.d.ts.map +1 -0
- package/lib/typescript/serializable.d.ts +20 -0
- package/lib/typescript/serializable.d.ts.map +1 -0
- package/lib/typescript/serializableMappingCache.d.ts +16 -0
- package/lib/typescript/serializableMappingCache.d.ts.map +1 -0
- package/lib/typescript/specs/NativeWorkletsModule.d.ts +7 -0
- package/lib/typescript/specs/NativeWorkletsModule.d.ts.map +1 -0
- package/lib/typescript/specs/NativeWorkletsModule.kepler.d.ts +7 -0
- package/lib/typescript/specs/NativeWorkletsModule.kepler.d.ts.map +1 -0
- package/lib/typescript/specs/index.d.ts +3 -0
- package/lib/typescript/specs/index.d.ts.map +1 -0
- package/lib/typescript/synchronizable.d.ts +15 -0
- package/lib/typescript/synchronizable.d.ts.map +1 -0
- package/lib/typescript/synchronizableUnpacker.d.ts +4 -0
- package/lib/typescript/synchronizableUnpacker.d.ts.map +1 -0
- package/lib/typescript/threads.d.ts +138 -0
- package/lib/typescript/threads.d.ts.map +1 -0
- package/lib/typescript/utils/checkCppVersion.d.ts +3 -0
- package/lib/typescript/utils/checkCppVersion.d.ts.map +1 -0
- package/lib/typescript/utils/jsVersion.d.ts +7 -0
- package/lib/typescript/utils/jsVersion.d.ts.map +1 -0
- package/lib/typescript/valueUnpacker.d.ts +6 -0
- package/lib/typescript/valueUnpacker.d.ts.map +1 -0
- package/lib/typescript/workletFunction.d.ts +27 -0
- package/lib/typescript/workletFunction.d.ts.map +1 -0
- package/lib/typescript/workletRuntimeEntry.d.ts +14 -0
- package/lib/typescript/workletRuntimeEntry.d.ts.map +1 -0
- package/lib/typescript/workletTypes.d.ts +61 -0
- package/lib/typescript/workletTypes.d.ts.map +1 -0
- package/package.json +153 -0
- package/plugin/index.js +1761 -0
- package/react-native.config.js +21 -0
- package/scripts/validate-react-native-version.js +43 -0
- package/scripts/worklets_utils.rb +94 -0
- package/src/PlatformChecker/PlatformChecker.ts +7 -0
- package/src/PlatformChecker/index.ts +30 -0
- package/src/WorkletsError.ts +36 -0
- package/src/WorkletsModule/JSWorklets.ts +200 -0
- package/src/WorkletsModule/NativeWorklets.ts +256 -0
- package/src/WorkletsModule/index.ts +7 -0
- package/src/WorkletsModule/workletsModuleInstance.ts +9 -0
- package/src/WorkletsModule/workletsModuleInstance.web.ts +5 -0
- package/src/WorkletsModule/workletsModuleProxy.ts +126 -0
- package/src/bundleUnpacker.ts +75 -0
- package/src/callGuard.ts +33 -0
- package/src/deprecated.ts +32 -0
- package/src/errors.ts +80 -0
- package/src/featureFlags/index.ts +72 -0
- package/src/featureFlags/staticFlags.json +4 -0
- package/src/index.ts +53 -0
- package/src/initializers.ts +262 -0
- package/src/isSynchronizable.ts +13 -0
- package/src/logger.ts +16 -0
- package/src/privateGlobals.d.ts +79 -0
- package/src/publicGlobals.ts +39 -0
- package/src/runLoop/common/setImmediatePolyfill.ts +20 -0
- package/src/runLoop/common/setIntervalPolyfill.ts +38 -0
- package/src/runLoop/uiRuntime/mockedRequestAnimationFrame.ts +11 -0
- package/src/runLoop/uiRuntime/requestAnimationFrame.ts +66 -0
- package/src/runLoop/uiRuntime/setTimeoutPolyfill.ts +40 -0
- package/src/runLoop/workletRuntime/index.ts +18 -0
- package/src/runLoop/workletRuntime/queueMicrotask.ts +13 -0
- package/src/runLoop/workletRuntime/requestAnimationFramePolyfill.ts +61 -0
- package/src/runLoop/workletRuntime/setTimeout.ts +37 -0
- package/src/runLoop/workletRuntime/taskQueue.ts +44 -0
- package/src/runtimeKind.ts +37 -0
- package/src/runtimes.ts +193 -0
- package/src/serializable.ts +801 -0
- package/src/serializableMappingCache.ts +42 -0
- package/src/specs/NativeWorkletsModule.kepler.ts +11 -0
- package/src/specs/NativeWorkletsModule.ts +9 -0
- package/src/specs/index.ts +13 -0
- package/src/synchronizable.ts +32 -0
- package/src/synchronizableUnpacker.ts +67 -0
- package/src/threads.ts +452 -0
- package/src/utils/checkCppVersion.ts +34 -0
- package/src/utils/jsVersion.ts +7 -0
- package/src/valueUnpacker.ts +90 -0
- package/src/workletFunction.ts +42 -0
- package/src/workletRuntimeEntry.ts +35 -0
- package/src/workletTypes.ts +81 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#if TARGET_OS_OSX
|
|
2
|
+
|
|
3
|
+
#ifdef __cplusplus
|
|
4
|
+
extern "C" {
|
|
5
|
+
#endif // __cplusplus
|
|
6
|
+
|
|
7
|
+
#import <React/RCTPlatformDisplayLink.h>
|
|
8
|
+
|
|
9
|
+
#ifdef __cplusplus
|
|
10
|
+
}
|
|
11
|
+
#endif // __cplusplus
|
|
12
|
+
|
|
13
|
+
typedef RCTPlatformDisplayLink WorkletsDisplayLink;
|
|
14
|
+
|
|
15
|
+
#else // TARGET_OS_OSX
|
|
16
|
+
|
|
17
|
+
#import <QuartzCore/CADisplayLink.h>
|
|
18
|
+
|
|
19
|
+
typedef CADisplayLink WorkletsDisplayLink;
|
|
20
|
+
|
|
21
|
+
#endif // TARGET_OS_OSX
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#import <Foundation/Foundation.h>
|
|
4
|
+
#import <React/RCTMessageThread.h>
|
|
5
|
+
|
|
6
|
+
namespace facebook {
|
|
7
|
+
namespace react {
|
|
8
|
+
|
|
9
|
+
class WorkletsMessageThread : public RCTMessageThread {
|
|
10
|
+
public:
|
|
11
|
+
using RCTMessageThread::RCTMessageThread;
|
|
12
|
+
virtual void quitSynchronous() override;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
} // namespace react
|
|
16
|
+
} // namespace facebook
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#import <worklets/apple/AssertJavaScriptQueue.h>
|
|
2
|
+
#import <worklets/apple/WorkletsMessageThread.h>
|
|
3
|
+
|
|
4
|
+
namespace facebook {
|
|
5
|
+
namespace react {
|
|
6
|
+
|
|
7
|
+
// Essentially the same as RCTMessageThread, but with public fields.
|
|
8
|
+
struct WorkletsMessageThreadPublic {
|
|
9
|
+
// I don't know why we need three vtables (if you know then feel free to explain it instead of this message),
|
|
10
|
+
// but this is what makes the casts in quitSynchronous() work correctly.
|
|
11
|
+
void *vtable1;
|
|
12
|
+
void *vtable2;
|
|
13
|
+
void *vtable3;
|
|
14
|
+
CFRunLoopRef m_cfRunLoop;
|
|
15
|
+
RCTJavaScriptCompleteBlock m_errorBlock;
|
|
16
|
+
std::atomic_bool m_shutdown;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// We need to prevent any new code from being executed on the thread as there
|
|
20
|
+
// is an assertion for that in the destructor of RCTMessageThread, but we have
|
|
21
|
+
// to override quitSynchronous() as it would quit the main looper and freeze
|
|
22
|
+
// the app.
|
|
23
|
+
void WorkletsMessageThread::quitSynchronous()
|
|
24
|
+
{
|
|
25
|
+
RCTMessageThread *rctThread = static_cast<RCTMessageThread *>(this);
|
|
26
|
+
WorkletsMessageThreadPublic *rctThreadPublic = reinterpret_cast<WorkletsMessageThreadPublic *>(rctThread);
|
|
27
|
+
rctThreadPublic->m_shutdown = true;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
} // namespace react
|
|
31
|
+
} // namespace facebook
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#import <React/RCTCallInvokerModule.h>
|
|
2
|
+
#import <React/RCTEventEmitter.h>
|
|
3
|
+
#import <React/RCTInvalidating.h>
|
|
4
|
+
|
|
5
|
+
#import <rnworklets/rnworklets.h>
|
|
6
|
+
|
|
7
|
+
#import <worklets/NativeModules/WorkletsModuleProxy.h>
|
|
8
|
+
|
|
9
|
+
#if __has_include(<React/RCTBundleConsumer.h>)
|
|
10
|
+
// Bundle mode
|
|
11
|
+
#import <React/NSBigStringBuffer.h>
|
|
12
|
+
#import <React/RCTBundleConsumer.h>
|
|
13
|
+
#endif // __has_include(<React/RCTBundleConsumer.h>)
|
|
14
|
+
|
|
15
|
+
@interface WorkletsModule : RCTEventEmitter <
|
|
16
|
+
NativeWorkletsModuleSpec,
|
|
17
|
+
RCTCallInvokerModule,
|
|
18
|
+
RCTInvalidating
|
|
19
|
+
#if __has_include(<React/RCTBundleConsumer.h>)
|
|
20
|
+
// Bundle mode
|
|
21
|
+
,
|
|
22
|
+
RCTBundleConsumer
|
|
23
|
+
#endif // __has_include(<React/RCTBundleConsumer.h>)
|
|
24
|
+
>
|
|
25
|
+
|
|
26
|
+
- (std::shared_ptr<worklets::WorkletsModuleProxy>)getWorkletsModuleProxy;
|
|
27
|
+
|
|
28
|
+
@end
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
#import <worklets/NativeModules/JSIWorkletsModuleProxy.h>
|
|
2
|
+
#import <worklets/Tools/SingleInstanceChecker.h>
|
|
3
|
+
#import <worklets/Tools/WorkletsJSIUtils.h>
|
|
4
|
+
#import <worklets/WorkletRuntime/RNRuntimeWorkletDecorator.h>
|
|
5
|
+
#import <worklets/apple/AnimationFrameQueue.h>
|
|
6
|
+
#import <worklets/apple/AssertJavaScriptQueue.h>
|
|
7
|
+
#import <worklets/apple/AssertTurboModuleManagerQueue.h>
|
|
8
|
+
#import <worklets/apple/IOSUIScheduler.h>
|
|
9
|
+
#import <worklets/apple/WorkletsMessageThread.h>
|
|
10
|
+
#import <worklets/apple/WorkletsModule.h>
|
|
11
|
+
|
|
12
|
+
#import <React/RCTBridge+Private.h>
|
|
13
|
+
#import <React/RCTCallInvoker.h>
|
|
14
|
+
|
|
15
|
+
using worklets::RNRuntimeWorkletDecorator;
|
|
16
|
+
using worklets::WorkletsModuleProxy;
|
|
17
|
+
|
|
18
|
+
@interface RCTBridge (JSIRuntime)
|
|
19
|
+
- (void *)runtime;
|
|
20
|
+
@end
|
|
21
|
+
|
|
22
|
+
@implementation WorkletsModule {
|
|
23
|
+
AnimationFrameQueue *animationFrameQueue_;
|
|
24
|
+
std::shared_ptr<WorkletsModuleProxy> workletsModuleProxy_;
|
|
25
|
+
#ifndef NDEBUG
|
|
26
|
+
worklets::SingleInstanceChecker<WorkletsModule> singleInstanceChecker_;
|
|
27
|
+
#endif // NDEBUG
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
- (std::shared_ptr<WorkletsModuleProxy>)getWorkletsModuleProxy
|
|
31
|
+
{
|
|
32
|
+
AssertJavaScriptQueue();
|
|
33
|
+
return workletsModuleProxy_;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
#if __has_include(<React/RCTBundleConsumer.h>)
|
|
37
|
+
// Bundle mode
|
|
38
|
+
@synthesize scriptBuffer = scriptBuffer_;
|
|
39
|
+
@synthesize sourceURL = sourceURL_;
|
|
40
|
+
#endif // __has_include(<React/RCTBundleConsumer.h>)
|
|
41
|
+
|
|
42
|
+
- (void)checkBridgeless
|
|
43
|
+
{
|
|
44
|
+
auto isBridgeless = ![self.bridge isKindOfClass:[RCTCxxBridge class]];
|
|
45
|
+
react_native_assert(isBridgeless && "[Worklets] react-native-worklets only supports bridgeless mode");
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@synthesize callInvoker = _callInvoker;
|
|
49
|
+
|
|
50
|
+
RCT_EXPORT_MODULE(WorkletsModule);
|
|
51
|
+
|
|
52
|
+
RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(installTurboModule)
|
|
53
|
+
{
|
|
54
|
+
react_native_assert(self.bridge != nullptr);
|
|
55
|
+
[self checkBridgeless];
|
|
56
|
+
react_native_assert(self.bridge.runtime != nullptr);
|
|
57
|
+
|
|
58
|
+
AssertJavaScriptQueue();
|
|
59
|
+
|
|
60
|
+
jsi::Runtime &rnRuntime = *reinterpret_cast<facebook::jsi::Runtime *>(self.bridge.runtime);
|
|
61
|
+
|
|
62
|
+
auto jsQueue = std::make_shared<WorkletsMessageThread>([NSRunLoop currentRunLoop], ^(NSError *error) {
|
|
63
|
+
throw error;
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
std::string sourceURL = "";
|
|
67
|
+
std::shared_ptr<const BigStringBuffer> script = nullptr;
|
|
68
|
+
#ifdef WORKLETS_BUNDLE_MODE
|
|
69
|
+
script = [scriptBuffer_ getBuffer];
|
|
70
|
+
sourceURL = [sourceURL_ UTF8String];
|
|
71
|
+
#endif // WORKLETS_BUNDLE_MODE
|
|
72
|
+
|
|
73
|
+
auto jsCallInvoker = _callInvoker.callInvoker;
|
|
74
|
+
auto uiScheduler = std::make_shared<worklets::IOSUIScheduler>();
|
|
75
|
+
auto isJavaScriptQueue = []() -> bool { return IsJavaScriptQueue(); };
|
|
76
|
+
animationFrameQueue_ = [AnimationFrameQueue new];
|
|
77
|
+
auto forwardedRequestAnimationFrame = std::function<void(std::function<void(const double)>)>(
|
|
78
|
+
[animationFrameQueue = animationFrameQueue_](std::function<void(const double)> callback) {
|
|
79
|
+
[animationFrameQueue requestAnimationFrame:callback];
|
|
80
|
+
});
|
|
81
|
+
workletsModuleProxy_ = std::make_shared<WorkletsModuleProxy>(
|
|
82
|
+
rnRuntime,
|
|
83
|
+
jsQueue,
|
|
84
|
+
jsCallInvoker,
|
|
85
|
+
uiScheduler,
|
|
86
|
+
std::move(isJavaScriptQueue),
|
|
87
|
+
std::move(forwardedRequestAnimationFrame),
|
|
88
|
+
script,
|
|
89
|
+
sourceURL);
|
|
90
|
+
auto jsiWorkletsModuleProxy = workletsModuleProxy_->createJSIWorkletsModuleProxy();
|
|
91
|
+
auto optimizedJsiWorkletsModuleProxy = worklets::jsi_utils::optimizedFromHostObject(
|
|
92
|
+
rnRuntime, std::static_pointer_cast<jsi::HostObject>(std::move(jsiWorkletsModuleProxy)));
|
|
93
|
+
RNRuntimeWorkletDecorator::decorate(
|
|
94
|
+
rnRuntime, std::move(optimizedJsiWorkletsModuleProxy), workletsModuleProxy_->getJSLogger());
|
|
95
|
+
|
|
96
|
+
return @YES;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
- (void)invalidate
|
|
100
|
+
{
|
|
101
|
+
AssertTurboModuleManagerQueue();
|
|
102
|
+
|
|
103
|
+
[animationFrameQueue_ invalidate];
|
|
104
|
+
|
|
105
|
+
// We have to destroy extra runtimes when invalidate is called. If we clean
|
|
106
|
+
// it up later instead there's a chance the runtime will retain references
|
|
107
|
+
// to invalidated memory and will crash on destruction.
|
|
108
|
+
workletsModuleProxy_.reset();
|
|
109
|
+
|
|
110
|
+
[super invalidate];
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
114
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
115
|
+
{
|
|
116
|
+
[self checkBridgeless];
|
|
117
|
+
AssertJavaScriptQueue();
|
|
118
|
+
return std::make_shared<facebook::react::NativeWorkletsModuleSpecJSI>(params);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
@end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
const { getDefaultConfig } = require('@react-native/metro-config');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
|
|
4
|
+
const workletsPackageParentDir = path.resolve(__dirname, '../..');
|
|
5
|
+
|
|
6
|
+
const defaults = getDefaultConfig(__dirname);
|
|
7
|
+
|
|
8
|
+
module.exports = {
|
|
9
|
+
bundleModeMetroConfig: {
|
|
10
|
+
serializer: {
|
|
11
|
+
getModulesRunBeforeMainModule(/** @type {string} dirname */ dirname) {
|
|
12
|
+
return [
|
|
13
|
+
require.resolve('react-native-worklets/src/workletRuntimeEntry.ts'),
|
|
14
|
+
require.resolve(
|
|
15
|
+
'react-native-worklets/lib/module/workletRuntimeEntry.js'
|
|
16
|
+
),
|
|
17
|
+
...defaults.serializer.getModulesRunBeforeMainModule(dirname),
|
|
18
|
+
];
|
|
19
|
+
},
|
|
20
|
+
createModuleIdFactory() {
|
|
21
|
+
let nextId = 0;
|
|
22
|
+
const idFileMap = new Map();
|
|
23
|
+
return (/** @type {string} */ moduleName) => {
|
|
24
|
+
if (idFileMap.has(moduleName)) {
|
|
25
|
+
return idFileMap.get(moduleName);
|
|
26
|
+
}
|
|
27
|
+
if (
|
|
28
|
+
moduleName.includes('react-native-worklets/__generatedWorklets/')
|
|
29
|
+
) {
|
|
30
|
+
const base = path.basename(moduleName, '.js');
|
|
31
|
+
const id = Number(base);
|
|
32
|
+
idFileMap.set(moduleName, id);
|
|
33
|
+
return id;
|
|
34
|
+
}
|
|
35
|
+
idFileMap.set(moduleName, nextId++);
|
|
36
|
+
return idFileMap.get(moduleName);
|
|
37
|
+
};
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
resolver: {
|
|
41
|
+
resolveRequest: (
|
|
42
|
+
/** @type {any} */ context,
|
|
43
|
+
/** @type {string} */ moduleName,
|
|
44
|
+
/** @type {any} */ platform
|
|
45
|
+
) => {
|
|
46
|
+
if (
|
|
47
|
+
moduleName.startsWith('react-native-worklets/__generatedWorklets/')
|
|
48
|
+
) {
|
|
49
|
+
const fullModuleName = path.join(
|
|
50
|
+
workletsPackageParentDir,
|
|
51
|
+
moduleName
|
|
52
|
+
);
|
|
53
|
+
return { type: 'sourceFile', filePath: fullModuleName };
|
|
54
|
+
}
|
|
55
|
+
return context.resolveRequest(context, moduleName, platform);
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
import { Platform } from 'react-native';
|
|
4
|
+
export const IS_JEST = !!process.env.JEST_WORKER_ID;
|
|
5
|
+
export const IS_WEB = Platform.OS === 'web';
|
|
6
|
+
export const IS_WINDOWS = Platform.OS === 'windows';
|
|
7
|
+
export const SHOULD_BE_USE_WEB = IS_JEST || IS_WEB || IS_WINDOWS;
|
|
8
|
+
//# sourceMappingURL=PlatformChecker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","IS_JEST","process","env","JEST_WORKER_ID","IS_WEB","OS","IS_WINDOWS","SHOULD_BE_USE_WEB"],"sourceRoot":"../../../src","sources":["PlatformChecker/PlatformChecker.ts"],"mappings":"AAAA,YAAY;;AACZ,SAASA,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,OAAgB,GAAG,CAAC,CAACC,OAAO,CAACC,GAAG,CAACC,cAAc;AAC5D,OAAO,MAAMC,MAAe,GAAGL,QAAQ,CAACM,EAAE,KAAK,KAAK;AACpD,OAAO,MAAMC,UAAmB,GAAGP,QAAQ,CAACM,EAAE,KAAK,SAAS;AAC5D,OAAO,MAAME,iBAA0B,GAAGP,OAAO,IAAII,MAAM,IAAIE,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
import { RuntimeKind } from '../runtimeKind';
|
|
4
|
+
import { IS_JEST as RN_IS_JEST, IS_WEB as RN_IS_WEB, IS_WINDOWS as RN_IS_WINDOWS, SHOULD_BE_USE_WEB as RN_SHOULD_BE_USE_WEB } from './PlatformChecker';
|
|
5
|
+
let IS_JEST = false;
|
|
6
|
+
let IS_WEB = false;
|
|
7
|
+
let IS_WINDOWS = false;
|
|
8
|
+
let SHOULD_BE_USE_WEB = false;
|
|
9
|
+
if (globalThis.__RUNTIME_KIND === RuntimeKind.ReactNative) {
|
|
10
|
+
IS_JEST = RN_IS_JEST;
|
|
11
|
+
IS_WEB = RN_IS_WEB;
|
|
12
|
+
IS_WINDOWS = RN_IS_WINDOWS;
|
|
13
|
+
SHOULD_BE_USE_WEB = RN_SHOULD_BE_USE_WEB;
|
|
14
|
+
}
|
|
15
|
+
export { IS_JEST, /** @knipIgnore */
|
|
16
|
+
IS_WEB, /** @knipIgnore */
|
|
17
|
+
IS_WINDOWS, SHOULD_BE_USE_WEB };
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["RuntimeKind","IS_JEST","RN_IS_JEST","IS_WEB","RN_IS_WEB","IS_WINDOWS","RN_IS_WINDOWS","SHOULD_BE_USE_WEB","RN_SHOULD_BE_USE_WEB","globalThis","__RUNTIME_KIND","ReactNative"],"sourceRoot":"../../../src","sources":["PlatformChecker/index.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,WAAW,QAAQ,gBAAgB;AAC5C,SACEC,OAAO,IAAIC,UAAU,EACrBC,MAAM,IAAIC,SAAS,EACnBC,UAAU,IAAIC,aAAa,EAC3BC,iBAAiB,IAAIC,oBAAoB,QACpC,mBAAmB;AAE1B,IAAIP,OAAO,GAAG,KAAK;AACnB,IAAIE,MAAM,GAAG,KAAK;AAClB,IAAIE,UAAU,GAAG,KAAK;AACtB,IAAIE,iBAAiB,GAAG,KAAK;AAE7B,IAAIE,UAAU,CAACC,cAAc,KAAKV,WAAW,CAACW,WAAW,EAAE;EACzDV,OAAO,GAAGC,UAAU;EACpBC,MAAM,GAAGC,SAAS;EAClBC,UAAU,GAAGC,aAAa;EAC1BC,iBAAiB,GAAGC,oBAAoB;AAC1C;AAEA,SACEP,OAAO,EACP;AACAE,MAAM,EACN;AACAE,UAAU,EACVE,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
import { RuntimeKind } from './runtimeKind';
|
|
4
|
+
function WorkletsErrorConstructor(message) {
|
|
5
|
+
'worklet';
|
|
6
|
+
|
|
7
|
+
const prefix = '[Worklets]';
|
|
8
|
+
|
|
9
|
+
// eslint-disable-next-line reanimated/use-worklets-error
|
|
10
|
+
const errorInstance = new Error(message ? `${prefix} ${message}` : prefix);
|
|
11
|
+
errorInstance.name = `WorkletsError`;
|
|
12
|
+
return errorInstance;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Registers WorkletsError in the global scope. Register only for Worklet
|
|
17
|
+
* runtimes.
|
|
18
|
+
*/
|
|
19
|
+
export function registerWorkletsError() {
|
|
20
|
+
'worklet';
|
|
21
|
+
|
|
22
|
+
if (globalThis.__RUNTIME_KIND !== RuntimeKind.ReactNative) {
|
|
23
|
+
globalThis.WorkletsError = WorkletsErrorConstructor;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export const WorkletsError = WorkletsErrorConstructor;
|
|
27
|
+
|
|
28
|
+
// signed type
|
|
29
|
+
//# sourceMappingURL=WorkletsError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["RuntimeKind","WorkletsErrorConstructor","message","prefix","errorInstance","Error","name","registerWorkletsError","globalThis","__RUNTIME_KIND","ReactNative","WorkletsError"],"sourceRoot":"../../src","sources":["WorkletsError.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,WAAW,QAAQ,eAAe;AAE3C,SAASC,wBAAwBA,CAACC,OAAgB,EAAiB;EACjE,SAAS;;EACT,MAAMC,MAAM,GAAG,YAAY;;EAE3B;EACA,MAAMC,aAAa,GAAG,IAAIC,KAAK,CAACH,OAAO,GAAG,GAAGC,MAAM,IAAID,OAAO,EAAE,GAAGC,MAAM,CAAC;EAC1EC,aAAa,CAACE,IAAI,GAAG,eAAe;EACpC,OAAOF,aAAa;AACtB;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASG,qBAAqBA,CAAA,EAAG;EACtC,SAAS;;EACT,IAAIC,UAAU,CAACC,cAAc,KAAKT,WAAW,CAACU,WAAW,EAAE;IACzDF,UAAU,CAACG,aAAa,GACtBV,wBAAqD;EACzD;AACF;AAEA,OAAO,MAAMU,aAAa,GACxBV,wBAAqD;;AAEG","ignoreList":[]}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
import { IS_JEST } from '../PlatformChecker';
|
|
4
|
+
import { mockedRequestAnimationFrame } from '../runLoop/uiRuntime/mockedRequestAnimationFrame';
|
|
5
|
+
import { WorkletsError } from '../WorkletsError';
|
|
6
|
+
export function createJSWorkletsModule() {
|
|
7
|
+
return new JSWorklets();
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// In Node.js environments (like when static rendering with Expo Router)
|
|
11
|
+
// requestAnimationFrame is unavailable, so we use our mock.
|
|
12
|
+
// It also has to be mocked for Jest purposes (see `initializeUIRuntime`).
|
|
13
|
+
const requestAnimationFrameImpl = IS_JEST || !globalThis.requestAnimationFrame ? mockedRequestAnimationFrame : globalThis.requestAnimationFrame;
|
|
14
|
+
class JSWorklets {
|
|
15
|
+
createSerializable() {
|
|
16
|
+
throw new WorkletsError('createSerializable should never be called in JSWorklets.');
|
|
17
|
+
}
|
|
18
|
+
createSerializableString() {
|
|
19
|
+
throw new WorkletsError('createSerializableString should never be called in JSWorklets.');
|
|
20
|
+
}
|
|
21
|
+
createSerializableNumber() {
|
|
22
|
+
throw new WorkletsError('createSerializableNumber should never be called in JSWorklets.');
|
|
23
|
+
}
|
|
24
|
+
createSerializableBoolean() {
|
|
25
|
+
throw new WorkletsError('createSerializableBoolean should never be called in JSWorklets.');
|
|
26
|
+
}
|
|
27
|
+
createSerializableBigInt() {
|
|
28
|
+
throw new WorkletsError('createSerializableBigInt should never be called in JSWorklets.');
|
|
29
|
+
}
|
|
30
|
+
createSerializableUndefined() {
|
|
31
|
+
throw new WorkletsError('createSerializableUndefined should never be called in JSWorklets.');
|
|
32
|
+
}
|
|
33
|
+
createSerializableNull() {
|
|
34
|
+
throw new WorkletsError('createSerializableNull should never be called in JSWorklets.');
|
|
35
|
+
}
|
|
36
|
+
createSerializableTurboModuleLike() {
|
|
37
|
+
throw new WorkletsError('createSerializableTurboModuleLike should never be called in JSWorklets.');
|
|
38
|
+
}
|
|
39
|
+
createSerializableObject() {
|
|
40
|
+
throw new WorkletsError('createSerializableObject should never be called in JSWorklets.');
|
|
41
|
+
}
|
|
42
|
+
createSerializableMap() {
|
|
43
|
+
throw new WorkletsError('createSerializableMap should never be called in JSWorklets.');
|
|
44
|
+
}
|
|
45
|
+
createSerializableSet() {
|
|
46
|
+
throw new WorkletsError('createSerializableSet should never be called in JSWorklets.');
|
|
47
|
+
}
|
|
48
|
+
createSerializableImport() {
|
|
49
|
+
throw new WorkletsError('createSerializableImport should never be called in JSWorklets.');
|
|
50
|
+
}
|
|
51
|
+
createSerializableHostObject() {
|
|
52
|
+
throw new WorkletsError('createSerializableHostObject should never be called in JSWorklets.');
|
|
53
|
+
}
|
|
54
|
+
createSerializableArray() {
|
|
55
|
+
throw new WorkletsError('createSerializableArray should never be called in JSWorklets.');
|
|
56
|
+
}
|
|
57
|
+
createSerializableInitializer() {
|
|
58
|
+
throw new WorkletsError('createSerializableInitializer should never be called in JSWorklets.');
|
|
59
|
+
}
|
|
60
|
+
createSerializableFunction() {
|
|
61
|
+
throw new WorkletsError('createSerializableFunction should never be called in JSWorklets.');
|
|
62
|
+
}
|
|
63
|
+
createSerializableWorklet() {
|
|
64
|
+
throw new WorkletsError('createSerializableWorklet should never be called in JSWorklets.');
|
|
65
|
+
}
|
|
66
|
+
scheduleOnUI(worklet) {
|
|
67
|
+
// TODO: `requestAnimationFrame` should be used exclusively in Reanimated
|
|
68
|
+
|
|
69
|
+
// @ts-ignore web implementation has still not been updated after the rewrite,
|
|
70
|
+
// this will be addressed once the web implementation updates are ready
|
|
71
|
+
requestAnimationFrameImpl(worklet);
|
|
72
|
+
}
|
|
73
|
+
executeOnUIRuntimeSync() {
|
|
74
|
+
throw new WorkletsError('`executeOnUIRuntimeSync` is not available in JSWorklets.');
|
|
75
|
+
}
|
|
76
|
+
createWorkletRuntime() {
|
|
77
|
+
throw new WorkletsError('createWorkletRuntime is not available in JSWorklets.');
|
|
78
|
+
}
|
|
79
|
+
scheduleOnRuntime() {
|
|
80
|
+
throw new WorkletsError('scheduleOnRuntime is not available in JSWorklets.');
|
|
81
|
+
}
|
|
82
|
+
createSynchronizable() {
|
|
83
|
+
throw new WorkletsError('createSynchronizable should never be called in JSWorklets.');
|
|
84
|
+
}
|
|
85
|
+
synchronizableGetDirty() {
|
|
86
|
+
throw new WorkletsError('synchronizableGetDirty should never be called in JSWorklets.');
|
|
87
|
+
}
|
|
88
|
+
synchronizableGetBlocking() {
|
|
89
|
+
throw new WorkletsError('synchronizableGetBlocking should never be called in JSWorklets.');
|
|
90
|
+
}
|
|
91
|
+
synchronizableSetBlocking() {
|
|
92
|
+
throw new WorkletsError('synchronizableSetBlocking should never be called in JSWorklets.');
|
|
93
|
+
}
|
|
94
|
+
synchronizableLock() {
|
|
95
|
+
throw new WorkletsError('synchronizableLock should never be called in JSWorklets.');
|
|
96
|
+
}
|
|
97
|
+
synchronizableUnlock() {
|
|
98
|
+
throw new WorkletsError('synchronizableUnlock should never be called in JSWorklets.');
|
|
99
|
+
}
|
|
100
|
+
reportFatalErrorOnJS() {
|
|
101
|
+
throw new WorkletsError('reportFatalErrorOnJS should never be called in JSWorklets.');
|
|
102
|
+
}
|
|
103
|
+
getStaticFeatureFlag() {
|
|
104
|
+
// mock implementation
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
setDynamicFeatureFlag() {
|
|
108
|
+
// noop
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=JSWorklets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["IS_JEST","mockedRequestAnimationFrame","WorkletsError","createJSWorkletsModule","JSWorklets","requestAnimationFrameImpl","globalThis","requestAnimationFrame","createSerializable","createSerializableString","createSerializableNumber","createSerializableBoolean","createSerializableBigInt","createSerializableUndefined","createSerializableNull","createSerializableTurboModuleLike","createSerializableObject","createSerializableMap","createSerializableSet","createSerializableImport","createSerializableHostObject","createSerializableArray","createSerializableInitializer","createSerializableFunction","createSerializableWorklet","scheduleOnUI","worklet","executeOnUIRuntimeSync","createWorkletRuntime","scheduleOnRuntime","createSynchronizable","synchronizableGetDirty","synchronizableGetBlocking","synchronizableSetBlocking","synchronizableLock","synchronizableUnlock","reportFatalErrorOnJS","getStaticFeatureFlag","setDynamicFeatureFlag"],"sourceRoot":"../../../src","sources":["WorkletsModule/JSWorklets.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
import { RuntimeKind } from '../runtimeKind';
|
|
4
|
+
import { WorkletsTurboModule } from '../specs';
|
|
5
|
+
import { checkCppVersion } from '../utils/checkCppVersion';
|
|
6
|
+
import { jsVersion } from '../utils/jsVersion';
|
|
7
|
+
import { WorkletsError } from '../WorkletsError';
|
|
8
|
+
export function createNativeWorkletsModule() {
|
|
9
|
+
return new NativeWorklets();
|
|
10
|
+
}
|
|
11
|
+
class NativeWorklets {
|
|
12
|
+
#workletsModuleProxy;
|
|
13
|
+
#serializableUndefined;
|
|
14
|
+
#serializableNull;
|
|
15
|
+
#serializableTrue;
|
|
16
|
+
#serializableFalse;
|
|
17
|
+
constructor() {
|
|
18
|
+
globalThis._WORKLETS_VERSION_JS = jsVersion;
|
|
19
|
+
if (global.__workletsModuleProxy === undefined && globalThis.__RUNTIME_KIND === RuntimeKind.ReactNative) {
|
|
20
|
+
WorkletsTurboModule?.installTurboModule();
|
|
21
|
+
}
|
|
22
|
+
if (global.__workletsModuleProxy === undefined) {
|
|
23
|
+
throw new WorkletsError(`Native part of Worklets doesn't seem to be initialized.
|
|
24
|
+
See https://docs.swmansion.com/react-native-worklets/docs/guides/troubleshooting#native-part-of-worklets-doesnt-seem-to-be-initialized for more details.`);
|
|
25
|
+
}
|
|
26
|
+
if (__DEV__) {
|
|
27
|
+
checkCppVersion();
|
|
28
|
+
}
|
|
29
|
+
this.#workletsModuleProxy = global.__workletsModuleProxy;
|
|
30
|
+
this.#serializableNull = this.#workletsModuleProxy.createSerializableNull();
|
|
31
|
+
this.#serializableUndefined = this.#workletsModuleProxy.createSerializableUndefined();
|
|
32
|
+
this.#serializableTrue = this.#workletsModuleProxy.createSerializableBoolean(true);
|
|
33
|
+
this.#serializableFalse = this.#workletsModuleProxy.createSerializableBoolean(false);
|
|
34
|
+
}
|
|
35
|
+
createSerializable(value, shouldPersistRemote, nativeStateSource) {
|
|
36
|
+
return this.#workletsModuleProxy.createSerializable(value, shouldPersistRemote, nativeStateSource);
|
|
37
|
+
}
|
|
38
|
+
createSerializableImport(from, to) {
|
|
39
|
+
return this.#workletsModuleProxy.createSerializableImport(from, to);
|
|
40
|
+
}
|
|
41
|
+
createSerializableString(str) {
|
|
42
|
+
return this.#workletsModuleProxy.createSerializableString(str);
|
|
43
|
+
}
|
|
44
|
+
createSerializableNumber(num) {
|
|
45
|
+
return this.#workletsModuleProxy.createSerializableNumber(num);
|
|
46
|
+
}
|
|
47
|
+
createSerializableBoolean(bool) {
|
|
48
|
+
return bool ? this.#serializableTrue : this.#serializableFalse;
|
|
49
|
+
}
|
|
50
|
+
createSerializableBigInt(bigInt) {
|
|
51
|
+
return this.#workletsModuleProxy.createSerializableBigInt(bigInt);
|
|
52
|
+
}
|
|
53
|
+
createSerializableUndefined() {
|
|
54
|
+
return this.#serializableUndefined;
|
|
55
|
+
}
|
|
56
|
+
createSerializableNull() {
|
|
57
|
+
return this.#serializableNull;
|
|
58
|
+
}
|
|
59
|
+
createSerializableTurboModuleLike(props, proto) {
|
|
60
|
+
return this.#workletsModuleProxy.createSerializableTurboModuleLike(props, proto);
|
|
61
|
+
}
|
|
62
|
+
createSerializableObject(obj, shouldRetainRemote, nativeStateSource) {
|
|
63
|
+
return this.#workletsModuleProxy.createSerializableObject(obj, shouldRetainRemote, nativeStateSource);
|
|
64
|
+
}
|
|
65
|
+
createSerializableHostObject(obj) {
|
|
66
|
+
return this.#workletsModuleProxy.createSerializableHostObject(obj);
|
|
67
|
+
}
|
|
68
|
+
createSerializableArray(array, shouldRetainRemote) {
|
|
69
|
+
return this.#workletsModuleProxy.createSerializableArray(array, shouldRetainRemote);
|
|
70
|
+
}
|
|
71
|
+
createSerializableMap(keys, values) {
|
|
72
|
+
return this.#workletsModuleProxy.createSerializableMap(keys, values);
|
|
73
|
+
}
|
|
74
|
+
createSerializableSet(values) {
|
|
75
|
+
return this.#workletsModuleProxy.createSerializableSet(values);
|
|
76
|
+
}
|
|
77
|
+
createSerializableInitializer(obj) {
|
|
78
|
+
return this.#workletsModuleProxy.createSerializableInitializer(obj);
|
|
79
|
+
}
|
|
80
|
+
createSerializableFunction(func) {
|
|
81
|
+
return this.#workletsModuleProxy.createSerializableFunction(func);
|
|
82
|
+
}
|
|
83
|
+
createSerializableWorklet(worklet, shouldPersistRemote) {
|
|
84
|
+
return this.#workletsModuleProxy.createSerializableWorklet(worklet, shouldPersistRemote);
|
|
85
|
+
}
|
|
86
|
+
scheduleOnUI(serializable) {
|
|
87
|
+
return this.#workletsModuleProxy.scheduleOnUI(serializable);
|
|
88
|
+
}
|
|
89
|
+
executeOnUIRuntimeSync(serializable) {
|
|
90
|
+
return this.#workletsModuleProxy.executeOnUIRuntimeSync(serializable);
|
|
91
|
+
}
|
|
92
|
+
createWorkletRuntime(name, initializer, useDefaultQueue, customQueue, enableEventLoop) {
|
|
93
|
+
return this.#workletsModuleProxy.createWorkletRuntime(name, initializer, useDefaultQueue, customQueue, enableEventLoop);
|
|
94
|
+
}
|
|
95
|
+
scheduleOnRuntime(workletRuntime, serializableWorklet) {
|
|
96
|
+
return this.#workletsModuleProxy.scheduleOnRuntime(workletRuntime, serializableWorklet);
|
|
97
|
+
}
|
|
98
|
+
createSynchronizable(value) {
|
|
99
|
+
return this.#workletsModuleProxy.createSynchronizable(value);
|
|
100
|
+
}
|
|
101
|
+
synchronizableGetDirty(synchronizableRef) {
|
|
102
|
+
return this.#workletsModuleProxy.synchronizableGetDirty(synchronizableRef);
|
|
103
|
+
}
|
|
104
|
+
synchronizableGetBlocking(synchronizableRef) {
|
|
105
|
+
return this.#workletsModuleProxy.synchronizableGetBlocking(synchronizableRef);
|
|
106
|
+
}
|
|
107
|
+
synchronizableSetBlocking(synchronizableRef, value) {
|
|
108
|
+
return this.#workletsModuleProxy.synchronizableSetBlocking(synchronizableRef, value);
|
|
109
|
+
}
|
|
110
|
+
synchronizableLock(synchronizableRef) {
|
|
111
|
+
return this.#workletsModuleProxy.synchronizableLock(synchronizableRef);
|
|
112
|
+
}
|
|
113
|
+
synchronizableUnlock(synchronizableRef) {
|
|
114
|
+
return this.#workletsModuleProxy.synchronizableUnlock(synchronizableRef);
|
|
115
|
+
}
|
|
116
|
+
reportFatalErrorOnJS(message, stack, name, jsEngine) {
|
|
117
|
+
return this.#workletsModuleProxy.reportFatalErrorOnJS(message, stack, name, jsEngine);
|
|
118
|
+
}
|
|
119
|
+
getStaticFeatureFlag(name) {
|
|
120
|
+
return this.#workletsModuleProxy.getStaticFeatureFlag(name);
|
|
121
|
+
}
|
|
122
|
+
setDynamicFeatureFlag(name, value) {
|
|
123
|
+
this.#workletsModuleProxy.setDynamicFeatureFlag(name, value);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=NativeWorklets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["RuntimeKind","WorkletsTurboModule","checkCppVersion","jsVersion","WorkletsError","createNativeWorkletsModule","NativeWorklets","workletsModuleProxy","serializableUndefined","serializableNull","serializableTrue","serializableFalse","constructor","globalThis","_WORKLETS_VERSION_JS","global","__workletsModuleProxy","undefined","__RUNTIME_KIND","ReactNative","installTurboModule","__DEV__","createSerializableNull","createSerializableUndefined","createSerializableBoolean","createSerializable","value","shouldPersistRemote","nativeStateSource","createSerializableImport","from","to","createSerializableString","str","createSerializableNumber","num","bool","createSerializableBigInt","bigInt","createSerializableTurboModuleLike","props","proto","createSerializableObject","obj","shouldRetainRemote","createSerializableHostObject","createSerializableArray","array","createSerializableMap","keys","values","createSerializableSet","createSerializableInitializer","createSerializableFunction","func","createSerializableWorklet","worklet","scheduleOnUI","serializable","executeOnUIRuntimeSync","createWorkletRuntime","name","initializer","useDefaultQueue","customQueue","enableEventLoop","scheduleOnRuntime","workletRuntime","serializableWorklet","createSynchronizable","synchronizableGetDirty","synchronizableRef","synchronizableGetBlocking","synchronizableSetBlocking","synchronizableLock","synchronizableUnlock","reportFatalErrorOnJS","message","stack","jsEngine","getStaticFeatureFlag","setDynamicFeatureFlag"],"sourceRoot":"../../../src","sources":["WorkletsModule/NativeWorklets.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["WorkletsModule"],"sourceRoot":"../../../src","sources":["WorkletsModule/index.ts"],"mappings":"AAAA,YAAY;;AAEZ,SAASA,cAAc,QAAQ,0BAA0B","ignoreList":[]}
|