@shopify/react-native-skia 0.1.133 → 0.1.134

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.
Files changed (71) hide show
  1. package/android/CMakeLists.txt +1 -1
  2. package/android/build.gradle +17 -2
  3. package/cpp/rnskia/RNSkValueApi.h +6 -6
  4. package/cpp/rnskia/values/{RNSkDerivedValue.h → RNSkComputedValue.h} +7 -7
  5. package/ios/RNSkia-iOS/SkiaManager.mm +1 -1
  6. package/lib/commonjs/mock/index.js +190 -0
  7. package/lib/commonjs/mock/index.js.map +1 -0
  8. package/lib/commonjs/skia/core/Data.js +33 -43
  9. package/lib/commonjs/skia/core/Data.js.map +1 -1
  10. package/lib/commonjs/skia/core/Typeface.js +1 -1
  11. package/lib/commonjs/skia/core/Typeface.js.map +1 -1
  12. package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
  13. package/lib/commonjs/values/api.js +3 -3
  14. package/lib/commonjs/values/api.js.map +1 -1
  15. package/lib/commonjs/values/api.web.js +3 -3
  16. package/lib/commonjs/values/api.web.js.map +1 -1
  17. package/lib/commonjs/values/hooks/index.js +4 -4
  18. package/lib/commonjs/values/hooks/index.js.map +1 -1
  19. package/lib/commonjs/values/hooks/useComputedValue.js +32 -0
  20. package/lib/commonjs/values/hooks/useComputedValue.js.map +1 -0
  21. package/lib/commonjs/values/web/{RNSkDerivedValue.js → RNSkComputedValue.js} +4 -4
  22. package/lib/commonjs/values/web/RNSkComputedValue.js.map +1 -0
  23. package/lib/commonjs/values/web/api.js +3 -3
  24. package/lib/commonjs/values/web/api.js.map +1 -1
  25. package/lib/module/mock/index.js +152 -0
  26. package/lib/module/mock/index.js.map +1 -0
  27. package/lib/module/skia/core/Data.js +32 -41
  28. package/lib/module/skia/core/Data.js.map +1 -1
  29. package/lib/module/skia/core/Typeface.js +1 -1
  30. package/lib/module/skia/core/Typeface.js.map +1 -1
  31. package/lib/module/skia/web/JsiSkia.js.map +1 -1
  32. package/lib/module/values/api.js +1 -1
  33. package/lib/module/values/api.js.map +1 -1
  34. package/lib/module/values/api.web.js +1 -1
  35. package/lib/module/values/api.web.js.map +1 -1
  36. package/lib/module/values/hooks/index.js +1 -1
  37. package/lib/module/values/hooks/index.js.map +1 -1
  38. package/lib/module/values/hooks/useComputedValue.js +18 -0
  39. package/lib/module/values/hooks/useComputedValue.js.map +1 -0
  40. package/lib/module/values/web/{RNSkDerivedValue.js → RNSkComputedValue.js} +2 -2
  41. package/lib/module/values/web/RNSkComputedValue.js.map +1 -0
  42. package/lib/module/values/web/api.js +3 -3
  43. package/lib/module/values/web/api.js.map +1 -1
  44. package/lib/typescript/src/mock/index.d.ts +47 -0
  45. package/lib/typescript/src/skia/core/Data.d.ts +3 -3
  46. package/lib/typescript/src/skia/types/Skia.d.ts +1 -1
  47. package/lib/typescript/src/values/api.d.ts +1 -1
  48. package/lib/typescript/src/values/api.web.d.ts +1 -1
  49. package/lib/typescript/src/values/hooks/index.d.ts +1 -1
  50. package/lib/typescript/src/values/hooks/{useDerivedValue.d.ts → useComputedValue.d.ts} +2 -1
  51. package/lib/typescript/src/values/types.d.ts +2 -2
  52. package/lib/typescript/src/values/web/{RNSkDerivedValue.d.ts → RNSkComputedValue.d.ts} +1 -1
  53. package/package.json +2 -1
  54. package/src/mock/index.ts +156 -0
  55. package/src/skia/core/Data.ts +67 -50
  56. package/src/skia/core/Typeface.ts +6 -1
  57. package/src/skia/types/Skia.ts +1 -1
  58. package/src/skia/web/JsiSkia.ts +1 -1
  59. package/src/values/api.ts +1 -1
  60. package/src/values/api.web.ts +1 -1
  61. package/src/values/hooks/index.ts +1 -1
  62. package/src/values/hooks/{useDerivedValue.ts → useComputedValue.ts} +8 -3
  63. package/src/values/types.ts +2 -2
  64. package/src/values/web/{RNSkDerivedValue.ts → RNSkComputedValue.ts} +1 -1
  65. package/src/values/web/api.ts +3 -3
  66. package/lib/commonjs/values/hooks/useDerivedValue.js +0 -25
  67. package/lib/commonjs/values/hooks/useDerivedValue.js.map +0 -1
  68. package/lib/commonjs/values/web/RNSkDerivedValue.js.map +0 -1
  69. package/lib/module/values/hooks/useDerivedValue.js +0 -14
  70. package/lib/module/values/hooks/useDerivedValue.js.map +0 -1
  71. package/lib/module/values/web/RNSkDerivedValue.js.map +0 -1
@@ -50,9 +50,9 @@ target_include_directories(
50
50
  ${PACKAGE_NAME}
51
51
  PRIVATE
52
52
 
53
- # When installed in the development environment
54
53
  "${NODE_MODULES_DIR}/react-native/ReactCommon/callinvoker"
55
54
  "${NODE_MODULES_DIR}/react-native/ReactCommon/jsi"
55
+ "${NODE_MODULES_DIR}/react-native/ReactCommon"
56
56
  "${NODE_MODULES_DIR}/react-native/ReactCommon/react/nativemodule/core"
57
57
  "${NODE_MODULES_DIR}/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni"
58
58
 
@@ -51,6 +51,13 @@ def defaultDir = null
51
51
  def androidSourcesDir = null
52
52
  def androidSourcesName = 'React Native sources'
53
53
 
54
+ def buildType = "debug"
55
+ tasks.all({ task ->
56
+ if (task.name == "buildCMakeRelease") {
57
+ buildType = "release"
58
+ }
59
+ })
60
+
54
61
  if (rootProject.ext.has('reactNativeAndroidRoot')) {
55
62
  defaultDir = rootProject.ext.get('reactNativeAndroidRoot')
56
63
  androidSourcesDir = defaultDir.parentFile.toString()
@@ -81,6 +88,7 @@ def REACT_NATIVE_VERSION = reactProperties.getProperty("VERSION_NAME").split("\\
81
88
  logger.warn("react-native-skia: React Native version: ${REACT_NATIVE_VERSION}")
82
89
  logger.warn("react-native-skia: Is Source build: ${sourceBuild}")
83
90
  logger.warn("react-native-skia: Prebuilt dir: ${prebuiltDir}")
91
+ logger.warn("react-native-skia: Build type: ${buildType}")
84
92
 
85
93
  buildscript {
86
94
  // The Android Gradle plugin is only required when opening the android folder stand-alone.
@@ -175,8 +183,15 @@ dependencies {
175
183
  //noinspection GradleDynamicVersion
176
184
  extractJNI("com.facebook.fbjni:fbjni:0.2.2")
177
185
 
178
- def rnAAR = fileTree("${nodeModules}/react-native/android").matching({ it.include "**/**/*.aar" }).singleFile
179
- extractJNI(files(rnAAR))
186
+ if(REACT_NATIVE_VERSION < 69) {
187
+ def rnAAR = fileTree("${nodeModules}/react-native/android").matching({ it.include "**/**/*.aar" }).singleFile
188
+ extractJNI(files(rnAAR))
189
+ } else {
190
+ // React Native >= 0.69
191
+ def rnAarMatcher = "**/react-native/**/*${buildType}.aar"
192
+ def rnAAR = fileTree("${nodeModules}/react-native/android").matching({ it.include rnAarMatcher }).singleFile
193
+ extractJNI(files(rnAAR))
194
+ }
180
195
  }
181
196
 
182
197
  afterEvaluate { project ->
@@ -4,7 +4,7 @@
4
4
  #include <JsiHostObject.h>
5
5
  #include <RNSkPlatformContext.h>
6
6
  #include <RNSkValue.h>
7
- #include <RNSkDerivedValue.h>
7
+ #include <RNSkComputedValue.h>
8
8
  #include <RNSkAnimation.h>
9
9
  #include <jsi/jsi.h>
10
10
 
@@ -33,13 +33,13 @@ public:
33
33
  std::make_shared<RNSkValue>(_platformContext, runtime, arguments, count));
34
34
  }
35
35
 
36
- JSI_HOST_FUNCTION(createDerivedValue) {
36
+ JSI_HOST_FUNCTION(createComputedValue) {
37
37
  // Creation and initialization is done in two steps to be able to use weak references when setting
38
38
  // up dependencies - since weak_from_this needs our instance to be a shared_ptr before calling
39
39
  // weak_from_this().
40
- auto derivedValue = std::make_shared<RNSkDerivedValue>(_platformContext, runtime, arguments, count);
41
- derivedValue->initializeDependencies(runtime, arguments, count);
42
- return jsi::Object::createFromHostObject(runtime, derivedValue);
40
+ auto computedValue = std::make_shared<RNSkComputedValue>(_platformContext, runtime, arguments, count);
41
+ computedValue->initializeDependencies(runtime, arguments, count);
42
+ return jsi::Object::createFromHostObject(runtime, computedValue);
43
43
  }
44
44
 
45
45
  JSI_HOST_FUNCTION(createAnimation) {
@@ -61,7 +61,7 @@ public:
61
61
  }
62
62
 
63
63
  JSI_EXPORT_FUNCTIONS(JSI_EXPORT_FUNC(RNSkValueApi, createValue),
64
- JSI_EXPORT_FUNC(RNSkValueApi, createDerivedValue),
64
+ JSI_EXPORT_FUNC(RNSkValueApi, createComputedValue),
65
65
  JSI_EXPORT_FUNC(RNSkValueApi, createClockValue),
66
66
  JSI_EXPORT_FUNC(RNSkValueApi, createAnimation))
67
67
 
@@ -19,13 +19,13 @@ using namespace facebook;
19
19
  Creates a readonly value that depends on one or more other values. The derived value has a callback
20
20
  function that is used to calculate the new value when any of the dependencies change.
21
21
  */
22
- class RNSkDerivedValue : public RNSkReadonlyValue
22
+ class RNSkComputedValue : public RNSkReadonlyValue
23
23
  {
24
24
  public:
25
- RNSkDerivedValue(std::shared_ptr<RNSkPlatformContext> platformContext,
26
- jsi::Runtime &runtime,
27
- const jsi::Value *arguments,
28
- size_t count
25
+ RNSkComputedValue(std::shared_ptr<RNSkPlatformContext> platformContext,
26
+ jsi::Runtime &runtime,
27
+ const jsi::Value *arguments,
28
+ size_t count
29
29
  )
30
30
  : RNSkReadonlyValue(platformContext) {
31
31
  // Verify input
@@ -70,7 +70,7 @@ public:
70
70
  _unsubscribers.push_back(dep->addListener([weakSelf = weak_from_this()](jsi::Runtime& runtime) {
71
71
  auto self = weakSelf.lock();
72
72
  if(self) {
73
- auto selfAsThis = std::dynamic_pointer_cast<RNSkDerivedValue>(self);
73
+ auto selfAsThis = std::dynamic_pointer_cast<RNSkComputedValue>(self);
74
74
  selfAsThis->dependencyUpdated(runtime);
75
75
  }
76
76
  }));
@@ -80,7 +80,7 @@ public:
80
80
  dependencyUpdated(runtime);
81
81
  }
82
82
 
83
- virtual ~RNSkDerivedValue() {
83
+ virtual ~RNSkComputedValue() {
84
84
  // Unregister listeners
85
85
  for(const auto &unsubscribe: _unsubscribers) {
86
86
  unsubscribe();
@@ -34,7 +34,7 @@
34
34
  if (cxxBridge.runtime) {
35
35
 
36
36
  auto callInvoker = bridge.jsCallInvoker;
37
- jsi::Runtime* jsRuntime = (jsi::Runtime*)cxxBridge.runtime;
37
+ facebook::jsi::Runtime* jsRuntime = (facebook::jsi::Runtime*)cxxBridge.runtime;
38
38
 
39
39
  // Create platform context
40
40
  _platformContext = std::make_shared<RNSkia::PlatformContext>(jsRuntime, callInvoker);
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.vec = exports.useValueEffect = exports.useValue = exports.useTypeface = exports.useTouchHandler = exports.useTiming = exports.useSpring = exports.useSharedValueEffect = exports.useSVG = exports.usePicture = exports.useImage = exports.useFont = exports.useDataCollection = exports.useData = exports.useComputedValue = exports.useClockValue = exports.timing = exports.spring = exports.runTiming = exports.runSpring = exports.runDecay = exports.rrect = exports.rect = exports.decay = exports.Skia = void 0;
7
+
8
+ /**
9
+ * Mock implementation for test runners.
10
+ *
11
+ * Example:
12
+ *
13
+ * ```js
14
+ * jest.mock('@shopify/react-native-skia', () => require('@shopify/react-native-skia/lib/commonjs/mock'));
15
+ * ```
16
+ */
17
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
18
+ const MockJSIInstance = {};
19
+
20
+ const Noop = () => MockJSIInstance;
21
+
22
+ const Skia = {
23
+ Point: Noop,
24
+ XYWHRect: Noop,
25
+ RuntimeShaderBuilder: Noop,
26
+ RRectXY: Noop,
27
+ RSXform: Noop,
28
+ Color: Noop,
29
+ ContourMeasureIter: Noop,
30
+ Paint: Noop,
31
+ PictureRecorder: Noop,
32
+ Picture: {
33
+ MakePicture: Noop
34
+ },
35
+ Path: {
36
+ Make: Noop,
37
+ MakeFromSVGString: Noop,
38
+ MakeFromOp: Noop,
39
+ MakeFromCmds: Noop,
40
+ MakeFromText: Noop
41
+ },
42
+ Matrix: Noop,
43
+ ColorFilter: {
44
+ MakeMatrix: Noop,
45
+ MakeBlend: Noop,
46
+ MakeCompose: Noop,
47
+ MakeLerp: Noop,
48
+ MakeLinearToSRGBGamma: Noop,
49
+ MakeSRGBToLinearGamma: Noop,
50
+ MakeLumaColorFilter: Noop
51
+ },
52
+ Font: Noop,
53
+ Typeface: {
54
+ MakeFreeTypeFaceFromData: Noop
55
+ },
56
+ MaskFilter: {
57
+ MakeBlur: Noop
58
+ },
59
+ RuntimeEffect: {
60
+ Make: Noop
61
+ },
62
+ ImageFilter: {
63
+ MakeOffset: Noop,
64
+ MakeDisplacementMap: Noop,
65
+ MakeShader: Noop,
66
+ MakeBlur: Noop,
67
+ MakeColorFilter: Noop,
68
+ MakeCompose: Noop,
69
+ MakeDropShadow: Noop,
70
+ MakeDropShadowOnly: Noop,
71
+ MakeErode: Noop,
72
+ MakeDilate: Noop,
73
+ MakeBlend: Noop,
74
+ MakeRuntimeShader: Noop
75
+ },
76
+ Shader: {
77
+ MakeLinearGradient: Noop,
78
+ MakeRadialGradient: Noop,
79
+ MakeTwoPointConicalGradient: Noop,
80
+ MakeSweepGradient: Noop,
81
+ MakeTurbulence: Noop,
82
+ MakeFractalNoise: Noop,
83
+ MakeBlend: Noop,
84
+ MakeColor: Noop
85
+ },
86
+ PathEffect: {
87
+ MakeCorner: Noop,
88
+ MakeDash: Noop,
89
+ MakeDiscrete: Noop,
90
+ MakeCompose: Noop,
91
+ MakeSum: Noop,
92
+ MakeLine2D: Noop,
93
+ MakePath1D: Noop,
94
+ MakePath2D: Noop
95
+ },
96
+ MakeVertices: Noop,
97
+ Data: {
98
+ fromURI: Noop,
99
+ fromBytes: Noop,
100
+ fromBase64: Noop
101
+ },
102
+ Image: {
103
+ MakeImageFromEncoded: Noop,
104
+ MakeImage: Noop
105
+ },
106
+ SVG: {
107
+ MakeFromData: Noop,
108
+ MakeFromString: Noop
109
+ },
110
+ FontMgr: {
111
+ RefDefault: Noop
112
+ },
113
+ TextBlob: {
114
+ MakeFromText: Noop,
115
+ MakeFromGlyphs: Noop,
116
+ MakeFromRSXform: Noop,
117
+ MakeFromRSXformGlyphs: Noop
118
+ },
119
+ Surface: {
120
+ Make: Noop
121
+ }
122
+ };
123
+ exports.Skia = Skia;
124
+
125
+ const vec = (x, y) => ({
126
+ x,
127
+ y
128
+ });
129
+
130
+ exports.vec = vec;
131
+
132
+ const rect = (x, y, width, height) => ({
133
+ x,
134
+ y,
135
+ width,
136
+ height
137
+ });
138
+
139
+ exports.rect = rect;
140
+
141
+ const rrect = (r, rx, ry) => ({
142
+ rect: r,
143
+ rx,
144
+ ry
145
+ });
146
+
147
+ exports.rrect = rrect;
148
+ const useTouchHandler = Noop;
149
+ exports.useTouchHandler = useTouchHandler;
150
+ const useComputedValue = Noop;
151
+ exports.useComputedValue = useComputedValue;
152
+ const useValue = Noop;
153
+ exports.useValue = useValue;
154
+ const useClockValue = Noop;
155
+ exports.useClockValue = useClockValue;
156
+ const useValueEffect = Noop;
157
+ exports.useValueEffect = useValueEffect;
158
+ const useTiming = Noop;
159
+ exports.useTiming = useTiming;
160
+ const runTiming = Noop;
161
+ exports.runTiming = runTiming;
162
+ const timing = Noop;
163
+ exports.timing = timing;
164
+ const useSpring = Noop;
165
+ exports.useSpring = useSpring;
166
+ const runSpring = Noop;
167
+ exports.runSpring = runSpring;
168
+ const spring = Noop;
169
+ exports.spring = spring;
170
+ const runDecay = Noop;
171
+ exports.runDecay = runDecay;
172
+ const decay = Noop;
173
+ exports.decay = decay;
174
+ const useSharedValueEffect = Noop;
175
+ exports.useSharedValueEffect = useSharedValueEffect;
176
+ const useData = Noop;
177
+ exports.useData = useData;
178
+ const useDataCollection = Noop;
179
+ exports.useDataCollection = useDataCollection;
180
+ const useFont = Noop;
181
+ exports.useFont = useFont;
182
+ const useImage = Noop;
183
+ exports.useImage = useImage;
184
+ const usePicture = Noop;
185
+ exports.usePicture = usePicture;
186
+ const useSVG = Noop;
187
+ exports.useSVG = useSVG;
188
+ const useTypeface = Noop;
189
+ exports.useTypeface = useTypeface;
190
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":["MockJSIInstance","Noop","Skia","Point","XYWHRect","RuntimeShaderBuilder","RRectXY","RSXform","Color","ContourMeasureIter","Paint","PictureRecorder","Picture","MakePicture","Path","Make","MakeFromSVGString","MakeFromOp","MakeFromCmds","MakeFromText","Matrix","ColorFilter","MakeMatrix","MakeBlend","MakeCompose","MakeLerp","MakeLinearToSRGBGamma","MakeSRGBToLinearGamma","MakeLumaColorFilter","Font","Typeface","MakeFreeTypeFaceFromData","MaskFilter","MakeBlur","RuntimeEffect","ImageFilter","MakeOffset","MakeDisplacementMap","MakeShader","MakeColorFilter","MakeDropShadow","MakeDropShadowOnly","MakeErode","MakeDilate","MakeRuntimeShader","Shader","MakeLinearGradient","MakeRadialGradient","MakeTwoPointConicalGradient","MakeSweepGradient","MakeTurbulence","MakeFractalNoise","MakeColor","PathEffect","MakeCorner","MakeDash","MakeDiscrete","MakeSum","MakeLine2D","MakePath1D","MakePath2D","MakeVertices","Data","fromURI","fromBytes","fromBase64","Image","MakeImageFromEncoded","MakeImage","SVG","MakeFromData","MakeFromString","FontMgr","RefDefault","TextBlob","MakeFromGlyphs","MakeFromRSXform","MakeFromRSXformGlyphs","Surface","vec","x","y","rect","width","height","rrect","r","rx","ry","useTouchHandler","useComputedValue","useValue","useClockValue","useValueEffect","useTiming","runTiming","timing","useSpring","runSpring","spring","runDecay","decay","useSharedValueEffect","useData","useDataCollection","useFont","useImage","usePicture","useSVG","useTypeface"],"mappings":"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","sourcesContent":["/**\n * Mock implementation for test runners.\n *\n * Example:\n *\n * ```js\n * jest.mock('@shopify/react-native-skia', () => require('@shopify/react-native-skia/lib/commonjs/mock'));\n * ```\n */\n\nimport type { Skia as SkiaApi, SkRect } from \"../skia/types\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst MockJSIInstance: any = {};\nconst Noop = () => MockJSIInstance;\n\nexport const Skia: SkiaApi = {\n Point: Noop,\n XYWHRect: Noop,\n RuntimeShaderBuilder: Noop,\n RRectXY: Noop,\n RSXform: Noop,\n Color: Noop,\n ContourMeasureIter: Noop,\n Paint: Noop,\n PictureRecorder: Noop,\n Picture: {\n MakePicture: Noop,\n },\n Path: {\n Make: Noop,\n MakeFromSVGString: Noop,\n MakeFromOp: Noop,\n MakeFromCmds: Noop,\n MakeFromText: Noop,\n },\n Matrix: Noop,\n ColorFilter: {\n MakeMatrix: Noop,\n MakeBlend: Noop,\n MakeCompose: Noop,\n MakeLerp: Noop,\n MakeLinearToSRGBGamma: Noop,\n MakeSRGBToLinearGamma: Noop,\n MakeLumaColorFilter: Noop,\n },\n Font: Noop,\n Typeface: {\n MakeFreeTypeFaceFromData: Noop,\n },\n MaskFilter: {\n MakeBlur: Noop,\n },\n RuntimeEffect: {\n Make: Noop,\n },\n ImageFilter: {\n MakeOffset: Noop,\n MakeDisplacementMap: Noop,\n MakeShader: Noop,\n MakeBlur: Noop,\n MakeColorFilter: Noop,\n MakeCompose: Noop,\n MakeDropShadow: Noop,\n MakeDropShadowOnly: Noop,\n MakeErode: Noop,\n MakeDilate: Noop,\n MakeBlend: Noop,\n MakeRuntimeShader: Noop,\n },\n Shader: {\n MakeLinearGradient: Noop,\n MakeRadialGradient: Noop,\n MakeTwoPointConicalGradient: Noop,\n MakeSweepGradient: Noop,\n MakeTurbulence: Noop,\n MakeFractalNoise: Noop,\n MakeBlend: Noop,\n MakeColor: Noop,\n },\n PathEffect: {\n MakeCorner: Noop,\n MakeDash: Noop,\n MakeDiscrete: Noop,\n MakeCompose: Noop,\n MakeSum: Noop,\n MakeLine2D: Noop,\n MakePath1D: Noop,\n MakePath2D: Noop,\n },\n MakeVertices: Noop,\n Data: {\n fromURI: Noop,\n fromBytes: Noop,\n fromBase64: Noop,\n },\n Image: {\n MakeImageFromEncoded: Noop,\n MakeImage: Noop,\n },\n SVG: {\n MakeFromData: Noop,\n MakeFromString: Noop,\n },\n FontMgr: {\n RefDefault: Noop,\n },\n TextBlob: {\n MakeFromText: Noop,\n MakeFromGlyphs: Noop,\n MakeFromRSXform: Noop,\n MakeFromRSXformGlyphs: Noop,\n },\n Surface: {\n Make: Noop,\n },\n};\n\nexport const vec = (x: number, y: number) => ({ x, y });\n\nexport const rect = (x: number, y: number, width: number, height: number) => ({\n x,\n y,\n width,\n height,\n});\n\nexport const rrect = (r: SkRect, rx: number, ry: number) => ({\n rect: r,\n rx,\n ry,\n});\n\nexport const useTouchHandler = Noop;\nexport const useComputedValue = Noop;\nexport const useValue = Noop;\nexport const useClockValue = Noop;\nexport const useValueEffect = Noop;\nexport const useTiming = Noop;\nexport const runTiming = Noop;\nexport const timing = Noop;\nexport const useSpring = Noop;\nexport const runSpring = Noop;\nexport const spring = Noop;\nexport const runDecay = Noop;\nexport const decay = Noop;\n\nexport const useSharedValueEffect = Noop;\n\nexport const useData = Noop;\nexport const useDataCollection = Noop;\nexport const useFont = Noop;\nexport const useImage = Noop;\nexport const usePicture = Noop;\nexport const useSVG = Noop;\nexport const useTypeface = Noop;\n"]}
@@ -15,65 +15,55 @@ const resolveAsset = source => {
15
15
  return _reactNative.Platform.OS === "web" ? source.default : _reactNative.Image.resolveAssetSource(source).uri;
16
16
  };
17
17
 
18
- const useDataCollection = function (sources, factory) {
19
- let deps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
20
- const [data, setData] = (0, _react.useState)(null);
21
- (0, _react.useEffect)(() => {
22
- const bytesOrURIs = sources.map(source => {
23
- if (source instanceof Uint8Array) {
24
- return source;
25
- }
26
-
27
- return typeof source === "string" ? source : resolveAsset(source);
28
- });
29
- Promise.all(bytesOrURIs.map(bytesOrURI => bytesOrURI instanceof Uint8Array ? _Skia.Skia.Data.fromBytes(bytesOrURI) : _Skia.Skia.Data.fromURI(bytesOrURI))).then(d => setData(factory(d))); // eslint-disable-next-line react-hooks/exhaustive-deps
30
- }, deps);
31
- return data;
18
+ const factoryWrapper = (data2, factory, onError) => {
19
+ const factoryResult = factory(data2);
20
+
21
+ if (factoryResult === null) {
22
+ onError && onError(new Error("Could not load data"));
23
+ return null;
24
+ } else {
25
+ return factoryResult;
26
+ }
32
27
  };
33
28
 
34
- exports.useDataCollection = useDataCollection;
29
+ const loadDataCollection = (sources, factory, onError) => Promise.all(sources.map(source => loadData(source, factory, onError)));
30
+
31
+ const loadData = (source, factory, onError) => {
32
+ if (source instanceof Uint8Array) {
33
+ return new Promise(resolve => resolve(factoryWrapper(_Skia.Skia.Data.fromBytes(source), factory, onError)));
34
+ } else {
35
+ const uri = typeof source === "string" ? source : resolveAsset(source);
36
+ return _Skia.Skia.Data.fromURI(uri).then(d => factoryWrapper(d, factory, onError));
37
+ }
38
+ };
35
39
 
36
- const useRawData = (source, factory, onError) => {
40
+ const useLoading = function (source, loader) {
41
+ let deps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
37
42
  const [data, setData] = (0, _react.useState)(null);
38
43
  const prevSourceRef = (0, _react.useRef)();
39
44
  (0, _react.useEffect)(() => {
40
- // Track to avoid re-fetching the same data
41
45
  if (prevSourceRef.current !== source) {
42
46
  prevSourceRef.current = source;
47
+ loader().then(setData);
48
+ } else {
49
+ setData(null);
50
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
43
51
 
44
- if (source !== null && source !== undefined) {
45
- const factoryWrapper = data2 => {
46
- const factoryResult = factory(data2);
47
-
48
- if (factoryResult === null) {
49
- onError && onError(new Error("Could not load data"));
50
- setData(null);
51
- } else {
52
- setData(factoryResult);
53
- }
54
- };
55
-
56
- if (source instanceof Uint8Array) {
57
- factoryWrapper(_Skia.Skia.Data.fromBytes(source));
58
- } else {
59
- const uri = typeof source === "string" ? source : resolveAsset(source);
60
-
61
- _Skia.Skia.Data.fromURI(uri).then(d => factoryWrapper(d));
62
- }
63
- } else {
64
- // new source is null or undefined -> remove cached data
65
- setData(null);
66
- }
67
- }
68
- }, [factory, onError, source]);
52
+ }, deps);
69
53
  return data;
70
54
  };
71
55
 
56
+ const useDataCollection = (sources, factory, onError, deps) => useLoading(sources, () => loadDataCollection(sources, factory, onError), deps);
57
+
58
+ exports.useDataCollection = useDataCollection;
59
+
60
+ const useRawData = (source, factory, onError, deps) => useLoading(source, () => loadData(source, factory, onError), deps);
61
+
72
62
  exports.useRawData = useRawData;
73
63
 
74
64
  const identity = data => data;
75
65
 
76
- const useData = (source, onError) => useRawData(source, identity, onError);
66
+ const useData = (source, onError, deps) => useRawData(source, identity, onError, deps);
77
67
 
78
68
  exports.useData = useData;
79
69
  //# sourceMappingURL=Data.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["Data.ts"],"names":["resolveAsset","source","Platform","OS","default","Image","resolveAssetSource","uri","useDataCollection","sources","factory","deps","data","setData","bytesOrURIs","map","Uint8Array","Promise","all","bytesOrURI","Skia","Data","fromBytes","fromURI","then","d","useRawData","onError","prevSourceRef","current","undefined","factoryWrapper","data2","factoryResult","Error","identity","useData"],"mappings":"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","sourcesContent":["import type { DependencyList } from \"react\";\nimport { useRef, useEffect, useState } from \"react\";\nimport { Image, Platform } from \"react-native\";\n\nimport { Skia } from \"../Skia\";\nimport type { SkData, DataSource } from \"../types\";\n\nconst resolveAsset = (source: ReturnType<typeof require>) => {\n return Platform.OS === \"web\"\n ? source.default\n : Image.resolveAssetSource(source).uri;\n};\n\nexport const useDataCollection = <T>(\n sources: DataSource[],\n factory: (data: SkData[]) => T,\n deps: DependencyList = []\n) => {\n const [data, setData] = useState<T | null>(null);\n useEffect(() => {\n const bytesOrURIs = sources.map((source) => {\n if (source instanceof Uint8Array) {\n return source;\n }\n return typeof source === \"string\" ? source : resolveAsset(source);\n });\n Promise.all(\n bytesOrURIs.map((bytesOrURI) =>\n bytesOrURI instanceof Uint8Array\n ? Skia.Data.fromBytes(bytesOrURI)\n : Skia.Data.fromURI(bytesOrURI)\n )\n ).then((d) => setData(factory(d)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n return data;\n};\n\nexport const useRawData = <T>(\n source: DataSource | null | undefined,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n) => {\n const [data, setData] = useState<T | null>(null);\n const prevSourceRef = useRef<DataSource | null | undefined>();\n useEffect(() => {\n // Track to avoid re-fetching the same data\n if (prevSourceRef.current !== source) {\n prevSourceRef.current = source;\n if (source !== null && source !== undefined) {\n const factoryWrapper = (data2: SkData) => {\n const factoryResult = factory(data2);\n if (factoryResult === null) {\n onError && onError(new Error(\"Could not load data\"));\n setData(null);\n } else {\n setData(factoryResult);\n }\n };\n if (source instanceof Uint8Array) {\n factoryWrapper(Skia.Data.fromBytes(source));\n } else {\n const uri =\n typeof source === \"string\" ? source : resolveAsset(source);\n Skia.Data.fromURI(uri).then((d) => factoryWrapper(d));\n }\n } else {\n // new source is null or undefined -> remove cached data\n setData(null);\n }\n }\n }, [factory, onError, source]);\n return data;\n};\n\nconst identity = (data: SkData) => data;\n\nexport const useData = (\n source: DataSource | null | undefined,\n onError?: (err: Error) => void\n) => useRawData(source, identity, onError);\n"]}
1
+ {"version":3,"sources":["Data.ts"],"names":["resolveAsset","source","Platform","OS","default","Image","resolveAssetSource","uri","factoryWrapper","data2","factory","onError","factoryResult","Error","loadDataCollection","sources","Promise","all","map","loadData","Uint8Array","resolve","Skia","Data","fromBytes","fromURI","then","d","useLoading","loader","deps","data","setData","prevSourceRef","current","useDataCollection","useRawData","identity","useData"],"mappings":"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","sourcesContent":["import type { DependencyList } from \"react\";\nimport { useRef, useEffect, useState } from \"react\";\nimport { Image, Platform } from \"react-native\";\n\nimport { Skia } from \"../Skia\";\nimport type { SkData, DataSource } from \"../types\";\n\nconst resolveAsset = (source: ReturnType<typeof require>) => {\n return Platform.OS === \"web\"\n ? source.default\n : Image.resolveAssetSource(source).uri;\n};\n\nconst factoryWrapper = <T>(\n data2: SkData,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n) => {\n const factoryResult = factory(data2);\n if (factoryResult === null) {\n onError && onError(new Error(\"Could not load data\"));\n return null;\n } else {\n return factoryResult;\n }\n};\n\nconst loadDataCollection = <T>(\n sources: DataSource[],\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n): Promise<(T | null)[]> =>\n Promise.all(sources.map((source) => loadData(source, factory, onError)));\n\nconst loadData = <T>(\n source: DataSource,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n): Promise<T | null> => {\n if (source instanceof Uint8Array) {\n return new Promise((resolve) =>\n resolve(factoryWrapper(Skia.Data.fromBytes(source), factory, onError))\n );\n } else {\n const uri = typeof source === \"string\" ? source : resolveAsset(source);\n return Skia.Data.fromURI(uri).then((d) =>\n factoryWrapper(d, factory, onError)\n );\n }\n};\n\ntype Source = DataSource | null | undefined;\n\nconst useLoading = <T>(\n source: Source,\n loader: () => Promise<T | null>,\n deps: DependencyList = []\n) => {\n const [data, setData] = useState<T | null>(null);\n const prevSourceRef = useRef<Source>();\n useEffect(() => {\n if (prevSourceRef.current !== source) {\n prevSourceRef.current = source;\n loader().then(setData);\n } else {\n setData(null);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n return data;\n};\n\nexport const useDataCollection = <T>(\n sources: DataSource[],\n factory: (data: SkData) => T,\n onError?: (err: Error) => void,\n deps?: DependencyList\n) =>\n useLoading(\n sources,\n () => loadDataCollection(sources, factory, onError),\n deps\n );\n\nexport const useRawData = <T>(\n source: DataSource | null | undefined,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void,\n deps?: DependencyList\n) => useLoading(source, () => loadData(source, factory, onError), deps);\n\nconst identity = (data: SkData) => data;\n\nexport const useData = (\n source: DataSource | null | undefined,\n onError?: (err: Error) => void,\n deps?: DependencyList\n) => useRawData(source, identity, onError, deps);\n"]}
@@ -12,7 +12,7 @@ var _Data = require("./Data");
12
12
  /**
13
13
  * Returns a Skia Typeface object
14
14
  * */
15
- const useTypeface = (source, onError) => (0, _Data.useRawData)(source, _Skia.Skia.Typeface.MakeFreeTypeFaceFromData, onError);
15
+ const useTypeface = (source, onError) => (0, _Data.useRawData)(source, _Skia.Skia.Typeface.MakeFreeTypeFaceFromData.bind(_Skia.Skia.Typeface), onError);
16
16
 
17
17
  exports.useTypeface = useTypeface;
18
18
  //# sourceMappingURL=Typeface.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["Typeface.ts"],"names":["useTypeface","source","onError","Skia","Typeface","MakeFreeTypeFaceFromData"],"mappings":";;;;;;;AAAA;;AAGA;;AACA;AACA;AACA;AACO,MAAMA,WAAW,GAAG,CACzBC,MADyB,EAEzBC,OAFyB,KAGtB,sBAAWD,MAAX,EAAmBE,WAAKC,QAAL,CAAcC,wBAAjC,EAA2DH,OAA3D,CAHE","sourcesContent":["import { Skia } from \"../Skia\";\nimport type { DataSource } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n/**\n * Returns a Skia Typeface object\n * */\nexport const useTypeface = (\n source: DataSource | null | undefined,\n onError?: (err: Error) => void\n) => useRawData(source, Skia.Typeface.MakeFreeTypeFaceFromData, onError);\n"]}
1
+ {"version":3,"sources":["Typeface.ts"],"names":["useTypeface","source","onError","Skia","Typeface","MakeFreeTypeFaceFromData","bind"],"mappings":";;;;;;;AAAA;;AAGA;;AACA;AACA;AACA;AACO,MAAMA,WAAW,GAAG,CACzBC,MADyB,EAEzBC,OAFyB,KAIzB,sBACED,MADF,EAEEE,WAAKC,QAAL,CAAcC,wBAAd,CAAuCC,IAAvC,CAA4CH,WAAKC,QAAjD,CAFF,EAGEF,OAHF,CAJK","sourcesContent":["import { Skia } from \"../Skia\";\nimport type { DataSource } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n/**\n * Returns a Skia Typeface object\n * */\nexport const useTypeface = (\n source: DataSource | null | undefined,\n onError?: (err: Error) => void\n) =>\n useRawData(\n source,\n Skia.Typeface.MakeFreeTypeFaceFromData.bind(Skia.Typeface),\n onError\n );\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["JsiSkia.ts"],"names":["JsiSkApi","CanvasKit","Point","x","y","JsiSkPoint","Float32Array","of","RuntimeShaderBuilder","_","Error","RRectXY","rect","rx","ry","JsiSkRRect","RSXform","scos","ssin","tx","ty","JsiSkRSXform","Color","ContourMeasureIter","path","forceClosed","resScale","JsiSkContourMeasureIter","Paint","JsiSkPaint","PictureRecorder","JsiSkPictureRecorder","Picture","JsiSkPictureFactory","Path","JsiSkPathFactory","Matrix","matrix","JsiSkMatrix","identity","ColorFilter","JsiSkColorFilterFactory","Font","typeface","size","JsiSkFont","undefined","Typeface","JsiSkTypefaceFactory","MaskFilter","JsiSkMaskFilterFactory","RuntimeEffect","JsiSkRuntimeEffectFactory","ImageFilter","JsiSkImageFilterFactory","Shader","JsiSkShaderFactory","PathEffect","JsiSkPathEffectFactory","MakeVertices","bind","Data","JsiSkDataFactory","Image","JsiSkImageFactory","SVG","JsiSkSVGFactory","TextBlob","JsiSkTextBlobFactory","FontMgr","JsiSkFontMgrFactory","XYWHRect","width","height","JsiSkRect","Surface","JsiSkSurfaceFactory"],"mappings":"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","sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n SkContourMeasureIter,\n Skia,\n SkPath,\n SkRect,\n SkRuntimeEffect,\n SkRuntimeShaderBuilder,\n SkTypeface,\n} from \"../types\";\n\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { Color } from \"./JsiSkColor\";\nimport { JsiSkSurfaceFactory } from \"./JsiSkSurfaceFactory\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport { toValue } from \"./Host\";\nimport { JsiSkContourMeasureIter } from \"./JsiSkContourMeasureIter\";\nimport { JsiSkPictureRecorder } from \"./JsiSkPictureRecorder\";\nimport { JsiSkPictureFactory } from \"./JsiSkPictureFactory\";\nimport { JsiSkPathFactory } from \"./JsiSkPathFactory\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkColorFilterFactory } from \"./JsiSkColorFilterFactory\";\nimport { JsiSkTypefaceFactory } from \"./JsiSkTypefaceFactory\";\nimport { JsiSkMaskFilterFactory } from \"./JsiSkMaskFilterFactory\";\nimport { JsiSkRuntimeEffectFactory } from \"./JsiSkRuntimeEffectFactory\";\nimport { JsiSkImageFilterFactory } from \"./JsiSkImageFilterFactory\";\nimport { JsiSkShaderFactory } from \"./JsiSkShaderFactory\";\nimport { JsiSkPathEffectFactory } from \"./JsiSkPathEffectFactory\";\nimport { JsiSkDataFactory } from \"./JsiSkDataFactory\";\nimport { JsiSkImageFactory } from \"./JsiSkImageFactory\";\nimport { JsiSkSVGFactory } from \"./JsiSkSVGFactory\";\nimport { JsiSkTextBlobFactory } from \"./JsiSkTextBlobFactory\";\nimport { JsiSkFontMgrFactory } from \"./JsiSkFontMgrFactory\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { MakeVertices } from \"./JsiSkVerticesFactory\";\n\nexport const JsiSkApi = (CanvasKit: CanvasKit): Skia => ({\n Point: (x: number, y: number) =>\n new JsiSkPoint(CanvasKit, Float32Array.of(x, y)),\n RuntimeShaderBuilder: (_: SkRuntimeEffect): SkRuntimeShaderBuilder => {\n throw new Error(\"Not implemented on React Native Web\");\n },\n RRectXY: (rect: SkRect, rx: number, ry: number) =>\n new JsiSkRRect(CanvasKit, CanvasKit.RRectXY(toValue(rect), rx, ry)),\n RSXform: (scos: number, ssin: number, tx: number, ty: number) =>\n new JsiSkRSXform(CanvasKit, Float32Array.of(scos, ssin, tx, ty)),\n Color,\n ContourMeasureIter: (\n path: SkPath,\n forceClosed: boolean,\n resScale: number\n ): SkContourMeasureIter =>\n new JsiSkContourMeasureIter(\n CanvasKit,\n new CanvasKit.ContourMeasureIter(toValue(path), forceClosed, resScale)\n ),\n Paint: () => new JsiSkPaint(CanvasKit, new CanvasKit.Paint()),\n PictureRecorder: () =>\n new JsiSkPictureRecorder(CanvasKit, new CanvasKit.PictureRecorder()),\n Picture: new JsiSkPictureFactory(CanvasKit),\n Path: new JsiSkPathFactory(CanvasKit),\n Matrix: (matrix?: number[]) =>\n new JsiSkMatrix(\n CanvasKit,\n matrix\n ? Float32Array.of(...matrix)\n : Float32Array.of(...CanvasKit.Matrix.identity())\n ),\n ColorFilter: new JsiSkColorFilterFactory(CanvasKit),\n Font: (typeface?: SkTypeface, size?: number) =>\n new JsiSkFont(\n CanvasKit,\n new CanvasKit.Font(\n typeface === undefined ? null : toValue(typeface),\n size\n )\n ),\n Typeface: new JsiSkTypefaceFactory(CanvasKit),\n MaskFilter: new JsiSkMaskFilterFactory(CanvasKit),\n RuntimeEffect: new JsiSkRuntimeEffectFactory(CanvasKit),\n ImageFilter: new JsiSkImageFilterFactory(CanvasKit),\n Shader: new JsiSkShaderFactory(CanvasKit),\n PathEffect: new JsiSkPathEffectFactory(CanvasKit),\n MakeVertices: MakeVertices.bind(null, CanvasKit),\n Data: new JsiSkDataFactory(CanvasKit),\n Image: new JsiSkImageFactory(CanvasKit),\n SVG: new JsiSkSVGFactory(CanvasKit),\n TextBlob: new JsiSkTextBlobFactory(CanvasKit),\n FontMgr: new JsiSkFontMgrFactory(CanvasKit),\n XYWHRect: (x: number, y: number, width: number, height: number) => {\n return new JsiSkRect(CanvasKit, CanvasKit.XYWHRect(x, y, width, height));\n },\n Surface: new JsiSkSurfaceFactory(CanvasKit),\n});\n"]}
1
+ {"version":3,"sources":["JsiSkia.ts"],"names":["JsiSkApi","CanvasKit","Point","x","y","JsiSkPoint","Float32Array","of","RuntimeShaderBuilder","_","Error","RRectXY","rect","rx","ry","JsiSkRRect","RSXform","scos","ssin","tx","ty","JsiSkRSXform","Color","ContourMeasureIter","path","forceClosed","resScale","JsiSkContourMeasureIter","Paint","JsiSkPaint","PictureRecorder","JsiSkPictureRecorder","Picture","JsiSkPictureFactory","Path","JsiSkPathFactory","Matrix","matrix","JsiSkMatrix","identity","ColorFilter","JsiSkColorFilterFactory","Font","typeface","size","JsiSkFont","undefined","Typeface","JsiSkTypefaceFactory","MaskFilter","JsiSkMaskFilterFactory","RuntimeEffect","JsiSkRuntimeEffectFactory","ImageFilter","JsiSkImageFilterFactory","Shader","JsiSkShaderFactory","PathEffect","JsiSkPathEffectFactory","MakeVertices","bind","Data","JsiSkDataFactory","Image","JsiSkImageFactory","SVG","JsiSkSVGFactory","TextBlob","JsiSkTextBlobFactory","FontMgr","JsiSkFontMgrFactory","XYWHRect","width","height","JsiSkRect","Surface","JsiSkSurfaceFactory"],"mappings":"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","sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n SkContourMeasureIter,\n Skia,\n SkPath,\n SkRect,\n SkRuntimeEffect,\n SkRuntimeShaderBuilder,\n SkTypeface,\n} from \"../types\";\n\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { Color } from \"./JsiSkColor\";\nimport { JsiSkSurfaceFactory } from \"./JsiSkSurfaceFactory\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport { toValue } from \"./Host\";\nimport { JsiSkContourMeasureIter } from \"./JsiSkContourMeasureIter\";\nimport { JsiSkPictureRecorder } from \"./JsiSkPictureRecorder\";\nimport { JsiSkPictureFactory } from \"./JsiSkPictureFactory\";\nimport { JsiSkPathFactory } from \"./JsiSkPathFactory\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkColorFilterFactory } from \"./JsiSkColorFilterFactory\";\nimport { JsiSkTypefaceFactory } from \"./JsiSkTypefaceFactory\";\nimport { JsiSkMaskFilterFactory } from \"./JsiSkMaskFilterFactory\";\nimport { JsiSkRuntimeEffectFactory } from \"./JsiSkRuntimeEffectFactory\";\nimport { JsiSkImageFilterFactory } from \"./JsiSkImageFilterFactory\";\nimport { JsiSkShaderFactory } from \"./JsiSkShaderFactory\";\nimport { JsiSkPathEffectFactory } from \"./JsiSkPathEffectFactory\";\nimport { JsiSkDataFactory } from \"./JsiSkDataFactory\";\nimport { JsiSkImageFactory } from \"./JsiSkImageFactory\";\nimport { JsiSkSVGFactory } from \"./JsiSkSVGFactory\";\nimport { JsiSkTextBlobFactory } from \"./JsiSkTextBlobFactory\";\nimport { JsiSkFontMgrFactory } from \"./JsiSkFontMgrFactory\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { MakeVertices } from \"./JsiSkVerticesFactory\";\n\nexport const JsiSkApi = (CanvasKit: CanvasKit): Skia => ({\n Point: (x: number, y: number) =>\n new JsiSkPoint(CanvasKit, Float32Array.of(x, y)),\n RuntimeShaderBuilder: (_: SkRuntimeEffect): SkRuntimeShaderBuilder => {\n throw new Error(\"Not implemented on React Native Web\");\n },\n RRectXY: (rect: SkRect, rx: number, ry: number) =>\n new JsiSkRRect(CanvasKit, CanvasKit.RRectXY(toValue(rect), rx, ry)),\n RSXform: (scos: number, ssin: number, tx: number, ty: number) =>\n new JsiSkRSXform(CanvasKit, Float32Array.of(scos, ssin, tx, ty)),\n Color,\n ContourMeasureIter: (\n path: SkPath,\n forceClosed: boolean,\n resScale: number\n ): SkContourMeasureIter =>\n new JsiSkContourMeasureIter(\n CanvasKit,\n new CanvasKit.ContourMeasureIter(toValue(path), forceClosed, resScale)\n ),\n Paint: () => new JsiSkPaint(CanvasKit, new CanvasKit.Paint()),\n PictureRecorder: () =>\n new JsiSkPictureRecorder(CanvasKit, new CanvasKit.PictureRecorder()),\n Picture: new JsiSkPictureFactory(CanvasKit),\n Path: new JsiSkPathFactory(CanvasKit),\n Matrix: (matrix?: readonly number[]) =>\n new JsiSkMatrix(\n CanvasKit,\n matrix\n ? Float32Array.of(...matrix)\n : Float32Array.of(...CanvasKit.Matrix.identity())\n ),\n ColorFilter: new JsiSkColorFilterFactory(CanvasKit),\n Font: (typeface?: SkTypeface, size?: number) =>\n new JsiSkFont(\n CanvasKit,\n new CanvasKit.Font(\n typeface === undefined ? null : toValue(typeface),\n size\n )\n ),\n Typeface: new JsiSkTypefaceFactory(CanvasKit),\n MaskFilter: new JsiSkMaskFilterFactory(CanvasKit),\n RuntimeEffect: new JsiSkRuntimeEffectFactory(CanvasKit),\n ImageFilter: new JsiSkImageFilterFactory(CanvasKit),\n Shader: new JsiSkShaderFactory(CanvasKit),\n PathEffect: new JsiSkPathEffectFactory(CanvasKit),\n MakeVertices: MakeVertices.bind(null, CanvasKit),\n Data: new JsiSkDataFactory(CanvasKit),\n Image: new JsiSkImageFactory(CanvasKit),\n SVG: new JsiSkSVGFactory(CanvasKit),\n TextBlob: new JsiSkTextBlobFactory(CanvasKit),\n FontMgr: new JsiSkFontMgrFactory(CanvasKit),\n XYWHRect: (x: number, y: number, width: number, height: number) => {\n return new JsiSkRect(CanvasKit, CanvasKit.XYWHRect(x, y, width, height));\n },\n Surface: new JsiSkSurfaceFactory(CanvasKit),\n});\n"]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.createValue = exports.createDerivedValue = exports.ValueApi = void 0;
6
+ exports.createValue = exports.createComputedValue = exports.ValueApi = void 0;
7
7
  const {
8
8
  SkiaValueApi
9
9
  } = global;
@@ -11,8 +11,8 @@ const ValueApi = SkiaValueApi;
11
11
  exports.ValueApi = ValueApi;
12
12
  const {
13
13
  createValue,
14
- createDerivedValue
14
+ createComputedValue
15
15
  } = ValueApi;
16
- exports.createDerivedValue = createDerivedValue;
16
+ exports.createComputedValue = createComputedValue;
17
17
  exports.createValue = createValue;
18
18
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["api.ts"],"names":["SkiaValueApi","global","ValueApi","createValue","createDerivedValue"],"mappings":";;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAmBC,MAAzB;AACO,MAAMC,QAAQ,GAAGF,YAAjB;;AAEA,MAAM;AAAEG,EAAAA,WAAF;AAAeC,EAAAA;AAAf,IAAsCF,QAA5C","sourcesContent":["import type { ISkiaValueApi } from \"./types\";\n\ndeclare global {\n var SkiaValueApi: ISkiaValueApi;\n}\n\nconst { SkiaValueApi } = global;\nexport const ValueApi = SkiaValueApi;\n\nexport const { createValue, createDerivedValue } = ValueApi;\n"]}
1
+ {"version":3,"sources":["api.ts"],"names":["SkiaValueApi","global","ValueApi","createValue","createComputedValue"],"mappings":";;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAmBC,MAAzB;AACO,MAAMC,QAAQ,GAAGF,YAAjB;;AAEA,MAAM;AAAEG,EAAAA,WAAF;AAAeC,EAAAA;AAAf,IAAuCF,QAA7C","sourcesContent":["import type { ISkiaValueApi } from \"./types\";\n\ndeclare global {\n var SkiaValueApi: ISkiaValueApi;\n}\n\nconst { SkiaValueApi } = global;\nexport const ValueApi = SkiaValueApi;\n\nexport const { createValue, createComputedValue } = ValueApi;\n"]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.createValue = exports.createDerivedValue = exports.ValueApi = void 0;
6
+ exports.createValue = exports.createComputedValue = exports.ValueApi = void 0;
7
7
 
8
8
  var _web = require("./web");
9
9
 
@@ -11,8 +11,8 @@ const ValueApi = _web.ValueApi;
11
11
  exports.ValueApi = ValueApi;
12
12
  const {
13
13
  createValue,
14
- createDerivedValue
14
+ createComputedValue
15
15
  } = ValueApi;
16
- exports.createDerivedValue = createDerivedValue;
16
+ exports.createComputedValue = createComputedValue;
17
17
  exports.createValue = createValue;
18
18
  //# sourceMappingURL=api.web.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["api.web.ts"],"names":["ValueApi","ValueApiWeb","createValue","createDerivedValue"],"mappings":";;;;;;;AAAA;;AAEO,MAAMA,QAAQ,GAAGC,aAAjB;;AAEA,MAAM;AAAEC,EAAAA,WAAF;AAAeC,EAAAA;AAAf,IAAsCH,QAA5C","sourcesContent":["import { ValueApi as ValueApiWeb } from \"./web\";\n\nexport const ValueApi = ValueApiWeb;\n\nexport const { createValue, createDerivedValue } = ValueApi;\n"]}
1
+ {"version":3,"sources":["api.web.ts"],"names":["ValueApi","ValueApiWeb","createValue","createComputedValue"],"mappings":";;;;;;;AAAA;;AAEO,MAAMA,QAAQ,GAAGC,aAAjB;;AAEA,MAAM;AAAEC,EAAAA,WAAF;AAAeC,EAAAA;AAAf,IAAuCH,QAA7C","sourcesContent":["import { ValueApi as ValueApiWeb } from \"./web\";\n\nexport const ValueApi = ValueApiWeb;\n\nexport const { createValue, createComputedValue } = ValueApi;\n"]}
@@ -17,15 +17,15 @@ Object.keys(_useClockValue).forEach(function (key) {
17
17
  });
18
18
  });
19
19
 
20
- var _useDerivedValue = require("./useDerivedValue");
20
+ var _useComputedValue = require("./useComputedValue");
21
21
 
22
- Object.keys(_useDerivedValue).forEach(function (key) {
22
+ Object.keys(_useComputedValue).forEach(function (key) {
23
23
  if (key === "default" || key === "__esModule") return;
24
- if (key in exports && exports[key] === _useDerivedValue[key]) return;
24
+ if (key in exports && exports[key] === _useComputedValue[key]) return;
25
25
  Object.defineProperty(exports, key, {
26
26
  enumerable: true,
27
27
  get: function () {
28
- return _useDerivedValue[key];
28
+ return _useComputedValue[key];
29
29
  }
30
30
  });
31
31
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from \"./useClockValue\";\nexport * from \"./useDerivedValue\";\nexport * from \"./useValue\";\nexport * from \"./useValueEffect\";\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from \"./useClockValue\";\nexport * from \"./useComputedValue\";\nexport * from \"./useValue\";\nexport * from \"./useValueEffect\";\n"]}