@shopify/react-native-skia 0.1.141 → 0.1.142

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. package/android/cpp/rnskia-android/RNSkDrawViewImpl.cpp +2 -2
  2. package/android/cpp/rnskia-android/RNSkDrawViewImpl.h +1 -1
  3. package/android/cpp/rnskia-android/SkiaOpenGLRenderer.cpp +15 -16
  4. package/android/cpp/rnskia-android/SkiaOpenGLRenderer.h +2 -2
  5. package/android/src/main/java/com/shopify/reactnative/skia/SkiaDrawView.java +69 -27
  6. package/cpp/rnskia/RNSkDrawView.cpp +66 -66
  7. package/cpp/rnskia/RNSkDrawView.h +22 -6
  8. package/cpp/rnskia/RNSkJsiViewApi.h +2 -2
  9. package/cpp/rnskia/values/RNSkComputedValue.h +10 -7
  10. package/cpp/rnskia/values/RNSkReadonlyValue.h +21 -2
  11. package/cpp/rnskia/values/RNSkValue.h +1 -0
  12. package/ios/RNSkia-iOS/RNSkDrawViewImpl.h +1 -1
  13. package/ios/RNSkia-iOS/RNSkDrawViewImpl.mm +2 -2
  14. package/ios/RNSkia-iOS/SkiaDrawView.mm +4 -0
  15. package/lib/commonjs/mock/index.js +3 -1
  16. package/lib/commonjs/mock/index.js.map +1 -1
  17. package/lib/commonjs/renderer/DependencyManager.js +1 -1
  18. package/lib/commonjs/renderer/DependencyManager.js.map +1 -1
  19. package/lib/commonjs/renderer/processors/Animations/Animations.js +18 -5
  20. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  21. package/lib/commonjs/skia/core/Data.js +10 -22
  22. package/lib/commonjs/skia/core/Data.js.map +1 -1
  23. package/lib/commonjs/skia/core/Font.js +2 -3
  24. package/lib/commonjs/skia/core/Font.js.map +1 -1
  25. package/lib/commonjs/skia/core/Image.js.map +1 -1
  26. package/lib/commonjs/skia/core/SVG.js.map +1 -1
  27. package/lib/commonjs/skia/core/Typeface.js.map +1 -1
  28. package/lib/commonjs/skia/types/Data/Data.js +5 -0
  29. package/lib/commonjs/skia/types/Data/Data.js.map +1 -1
  30. package/lib/commonjs/skia/web/JsiSkCanvas.js +9 -7
  31. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  32. package/lib/commonjs/skia/web/JsiSkPath.js +7 -5
  33. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  34. package/lib/commonjs/skia/web/JsiSkRRect.js +8 -0
  35. package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -1
  36. package/lib/commonjs/skia/web/JsiSkRect.js +2 -2
  37. package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
  38. package/lib/commonjs/values/hooks/useComputedValue.js +6 -2
  39. package/lib/commonjs/values/hooks/useComputedValue.js.map +1 -1
  40. package/lib/commonjs/values/index.js +13 -0
  41. package/lib/commonjs/values/index.js.map +1 -1
  42. package/lib/commonjs/values/selector.js +24 -0
  43. package/lib/commonjs/values/selector.js.map +1 -0
  44. package/lib/commonjs/values/web/RNSkComputedValue.js +8 -0
  45. package/lib/commonjs/values/web/RNSkComputedValue.js.map +1 -1
  46. package/lib/commonjs/values/web/RNSkReadonlyValue.js +4 -0
  47. package/lib/commonjs/values/web/RNSkReadonlyValue.js.map +1 -1
  48. package/lib/module/mock/index.js +2 -1
  49. package/lib/module/mock/index.js.map +1 -1
  50. package/lib/module/renderer/DependencyManager.js +2 -2
  51. package/lib/module/renderer/DependencyManager.js.map +1 -1
  52. package/lib/module/renderer/processors/Animations/Animations.js +13 -4
  53. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  54. package/lib/module/skia/core/Data.js +10 -20
  55. package/lib/module/skia/core/Data.js.map +1 -1
  56. package/lib/module/skia/core/Font.js +2 -3
  57. package/lib/module/skia/core/Font.js.map +1 -1
  58. package/lib/module/skia/core/Image.js.map +1 -1
  59. package/lib/module/skia/core/SVG.js.map +1 -1
  60. package/lib/module/skia/core/Typeface.js.map +1 -1
  61. package/lib/module/skia/types/Data/Data.js +1 -1
  62. package/lib/module/skia/types/Data/Data.js.map +1 -1
  63. package/lib/module/skia/web/JsiSkCanvas.js +8 -7
  64. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  65. package/lib/module/skia/web/JsiSkPath.js +6 -5
  66. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  67. package/lib/module/skia/web/JsiSkRRect.js +8 -0
  68. package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
  69. package/lib/module/skia/web/JsiSkRect.js +2 -2
  70. package/lib/module/skia/web/JsiSkRect.js.map +1 -1
  71. package/lib/module/values/hooks/useComputedValue.js +7 -3
  72. package/lib/module/values/hooks/useComputedValue.js.map +1 -1
  73. package/lib/module/values/index.js +1 -0
  74. package/lib/module/values/index.js.map +1 -1
  75. package/lib/module/values/selector.js +15 -0
  76. package/lib/module/values/selector.js.map +1 -0
  77. package/lib/module/values/web/RNSkComputedValue.js +8 -0
  78. package/lib/module/values/web/RNSkComputedValue.js.map +1 -1
  79. package/lib/module/values/web/RNSkReadonlyValue.js +4 -0
  80. package/lib/module/values/web/RNSkReadonlyValue.js.map +1 -1
  81. package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +7 -2
  82. package/lib/typescript/src/skia/core/Data.d.ts +3 -5
  83. package/lib/typescript/src/skia/core/Font.d.ts +2 -2
  84. package/lib/typescript/src/skia/core/Image.d.ts +2 -2
  85. package/lib/typescript/src/skia/core/SVG.d.ts +2 -2
  86. package/lib/typescript/src/skia/core/Typeface.d.ts +2 -2
  87. package/lib/typescript/src/skia/types/Data/Data.d.ts +10 -3
  88. package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +1 -0
  89. package/lib/typescript/src/skia/web/JsiSkRect.d.ts +1 -1
  90. package/lib/typescript/src/values/index.d.ts +1 -0
  91. package/lib/typescript/src/values/selector.d.ts +14 -0
  92. package/lib/typescript/src/values/types.d.ts +4 -0
  93. package/lib/typescript/src/values/web/RNSkComputedValue.d.ts +1 -0
  94. package/lib/typescript/src/values/web/RNSkReadonlyValue.d.ts +1 -0
  95. package/package.json +2 -2
  96. package/src/mock/index.ts +2 -1
  97. package/src/renderer/DependencyManager.tsx +5 -2
  98. package/src/renderer/processors/Animations/Animations.ts +27 -5
  99. package/src/skia/core/Data.ts +20 -51
  100. package/src/skia/core/Font.ts +4 -5
  101. package/src/skia/core/Image.ts +2 -2
  102. package/src/skia/core/SVG.ts +2 -2
  103. package/src/skia/core/Typeface.ts +2 -2
  104. package/src/skia/types/Data/Data.ts +11 -1
  105. package/src/skia/web/JsiSkCanvas.ts +22 -10
  106. package/src/skia/web/JsiSkPath.ts +14 -5
  107. package/src/skia/web/JsiSkRRect.ts +11 -0
  108. package/src/skia/web/JsiSkRect.ts +2 -5
  109. package/src/values/hooks/useComputedValue.ts +6 -3
  110. package/src/values/index.ts +1 -0
  111. package/src/values/selector.ts +24 -0
  112. package/src/values/types.ts +4 -0
  113. package/src/values/web/RNSkComputedValue.ts +6 -0
  114. package/src/values/web/RNSkReadonlyValue.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["JsiSkCanvas.ts"],"names":["ckEnum","HostObject","toValue","toUndefinedableValue","toOptionalValue","JsiSkRect","JsiSkCanvas","constructor","CanvasKit","ref","drawRect","rect","paint","fromValue","drawImage","image","x","y","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","drawImageNine","center","filter","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","drawPatch","cubics","colors","texs","map","flat","restoreToCount","saveCount","drawPoints","points","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","drawDRRect","outer","inner","drawOval","drawPath","path","drawText","str","font","drawTextBlob","blob","drawGlyphs","glyphs","positions","p","drawSvg","_svgDom","_width","_height","Error","save","saveLayer","bounds","backdrop","flags","restore","rotate","rotationInDegrees","rx","ry","scale","sx","sy","skew","translate","dx","dy","drawColor","color","blendMode","undefined","clear","clipPath","op","doAntiAlias","clipRect","clipRRect","concat","m","drawPicture","skp"],"mappings":"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","sourcesContent":["import type { Canvas, Image, CanvasKit, Paint } from \"canvaskit-wasm\";\n\nimport type {\n BlendMode,\n ClipOp,\n FilterMode,\n MipmapMode,\n PointMode,\n SaveLayerFlag,\n SkCanvas,\n SkColor,\n SkFont,\n SkImage,\n SkImageFilter,\n SkMatrix,\n SkPaint,\n SkPath,\n SkPicture,\n SkPoint,\n SkRect,\n SkRRect,\n SkSVG,\n SkTextBlob,\n SkVertices,\n} from \"../types\";\n\nimport {\n ckEnum,\n HostObject,\n toValue,\n toUndefinedableValue,\n toOptionalValue,\n} from \"./Host\";\nimport { JsiSkRect } from \"./JsiSkRect\";\n\nexport class JsiSkCanvas\n extends HostObject<Canvas, \"Canvas\">\n implements SkCanvas\n{\n constructor(CanvasKit: CanvasKit, ref: Canvas) {\n super(CanvasKit, ref, \"Canvas\");\n }\n\n drawRect(rect: SkRect, paint: SkPaint) {\n this.ref.drawRect(\n JsiSkRect.fromValue(this.CanvasKit, rect).ref,\n toValue<Paint>(paint)\n );\n }\n\n drawImage(image: SkImage, x: number, y: number, paint?: SkPaint) {\n this.ref.drawImage(toValue<Image>(image), x, y, toOptionalValue(paint));\n }\n\n drawImageRect(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n paint: SkPaint,\n fastSample?: boolean\n ) {\n this.ref.drawImageRect(\n toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src).ref,\n JsiSkRect.fromValue(this.CanvasKit, dest).ref,\n toValue<Paint>(paint),\n fastSample\n );\n }\n\n drawImageCubic(\n img: SkImage,\n left: number,\n top: number,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageCubic(\n toValue(img),\n left,\n top,\n B,\n C,\n toOptionalValue(paint)\n );\n }\n\n drawImageOptions(\n img: SkImage,\n left: number,\n top: number,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageOptions(\n toValue(img),\n left,\n top,\n ckEnum(fm),\n ckEnum(mm),\n toOptionalValue(paint)\n );\n }\n\n drawImageNine(\n img: SkImage,\n center: SkRect,\n dest: SkRect,\n filter: FilterMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageNine(\n toValue(img),\n toValue(center),\n toValue(dest),\n ckEnum(filter),\n toOptionalValue(paint)\n );\n }\n\n drawImageRectCubic(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectCubic(\n toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src).ref,\n JsiSkRect.fromValue(this.CanvasKit, dest).ref,\n B,\n C,\n toOptionalValue(paint)\n );\n }\n\n drawImageRectOptions(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectOptions(\n toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src).ref,\n JsiSkRect.fromValue(this.CanvasKit, dest).ref,\n ckEnum(fm),\n ckEnum(mm),\n toOptionalValue(paint)\n );\n }\n\n drawPaint(paint: SkPaint) {\n this.ref.drawPaint(toValue(paint));\n }\n\n drawLine(x0: number, y0: number, x1: number, y1: number, paint: SkPaint) {\n this.ref.drawLine(x0, y0, x1, y1, toValue(paint));\n }\n\n drawCircle(cx: number, cy: number, radius: number, paint: SkPaint) {\n this.ref.drawCircle(cx, cy, radius, toValue(paint));\n }\n\n drawVertices(verts: SkVertices, mode: BlendMode, paint: SkPaint) {\n this.ref.drawVertices(toValue(verts), ckEnum(mode), toValue(paint));\n }\n\n drawPatch(\n cubics: SkPoint[],\n colors?: SkColor[] | null,\n texs?: SkPoint[] | null,\n mode?: BlendMode | null,\n paint?: SkPaint\n ) {\n this.ref.drawPatch(\n cubics.map(({ x, y }) => [x, y]).flat(),\n colors,\n toOptionalValue(texs),\n mode ? ckEnum(mode) : null,\n toUndefinedableValue(paint)\n );\n }\n\n restoreToCount(saveCount: number) {\n this.ref.restoreToCount(saveCount);\n }\n\n drawPoints(mode: PointMode, points: SkPoint[], paint: SkPaint) {\n this.ref.drawPoints(\n ckEnum(mode),\n points.map(({ x, y }) => [x, y]).flat(),\n toValue(paint)\n );\n }\n\n drawArc(\n oval: SkRect,\n startAngle: number,\n sweepAngle: number,\n useCenter: boolean,\n paint: SkPaint\n ) {\n this.ref.drawArc(\n toValue(oval),\n startAngle,\n sweepAngle,\n useCenter,\n toValue(paint)\n );\n }\n\n drawRRect(rrect: SkRRect, paint: SkPaint) {\n this.ref.drawRRect(toValue(rrect), toValue(paint));\n }\n\n drawDRRect(outer: SkRRect, inner: SkRRect, paint: SkPaint) {\n this.ref.drawDRRect(toValue(outer), toValue(inner), toValue(paint));\n }\n\n drawOval(oval: SkRect, paint: SkPaint) {\n this.ref.drawOval(toValue(oval), toValue(paint));\n }\n\n drawPath(path: SkPath, paint: SkPaint) {\n this.ref.drawPath(toValue(path), toValue(paint));\n }\n\n drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont) {\n this.ref.drawText(str, x, y, toValue(paint), toValue(font));\n }\n\n drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint) {\n this.ref.drawTextBlob(toValue(blob), x, y, toValue(paint));\n }\n\n drawGlyphs(\n glyphs: number[],\n positions: SkPoint[],\n x: number,\n y: number,\n font: SkFont,\n paint: SkPaint\n ) {\n this.ref.drawGlyphs(\n glyphs,\n positions.map((p) => [p.x, p.y]).flat(),\n x,\n y,\n toValue(font),\n toValue(paint)\n );\n }\n\n drawSvg(_svgDom: SkSVG, _width?: number, _height?: number) {\n throw new Error(\"drawSvg is not implemented on React Native Web\");\n }\n\n save() {\n return this.ref.save();\n }\n\n saveLayer(\n paint?: SkPaint,\n bounds?: SkRect | null,\n backdrop?: SkImageFilter | null,\n flags?: SaveLayerFlag\n ) {\n return this.ref.saveLayer(\n toUndefinedableValue(paint),\n toOptionalValue(bounds),\n toOptionalValue(backdrop),\n flags\n );\n }\n\n restore() {\n this.ref.restore();\n }\n\n rotate(rotationInDegrees: number, rx: number, ry: number) {\n this.ref.rotate(rotationInDegrees, rx, ry);\n }\n\n scale(sx: number, sy: number) {\n this.ref.scale(sx, sy);\n }\n\n skew(sx: number, sy: number) {\n this.ref.skew(sx, sy);\n }\n\n translate(dx: number, dy: number) {\n this.ref.translate(dx, dy);\n }\n\n drawColor(color: SkColor, blendMode?: BlendMode) {\n this.ref.drawColor(color, blendMode ? ckEnum(blendMode) : undefined);\n }\n\n clear(color: SkColor) {\n this.ref.clear(color);\n }\n\n clipPath(path: SkPath, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipPath(toValue(path), ckEnum(op), doAntiAlias);\n }\n\n clipRect(rect: SkRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRect(toValue(rect), ckEnum(op), doAntiAlias);\n }\n\n clipRRect(rrect: SkRRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRRect(toValue(rrect), ckEnum(op), doAntiAlias);\n }\n\n concat(m: SkMatrix) {\n this.ref.concat(toValue(m));\n }\n\n drawPicture(skp: SkPicture) {\n this.ref.drawPicture(toValue(skp));\n }\n}\n"]}
1
+ {"version":3,"sources":["JsiSkCanvas.ts"],"names":["ckEnum","HostObject","toValue","toUndefinedableValue","toOptionalValue","JsiSkRect","JsiSkRRect","JsiSkCanvas","constructor","CanvasKit","ref","drawRect","rect","paint","fromValue","drawImage","image","x","y","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","drawImageNine","center","filter","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","drawPatch","cubics","colors","texs","map","flat","restoreToCount","saveCount","drawPoints","points","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","drawDRRect","outer","inner","drawOval","drawPath","path","drawText","str","font","drawTextBlob","blob","drawGlyphs","glyphs","positions","p","drawSvg","_svgDom","_width","_height","Error","save","saveLayer","bounds","backdrop","flags","restore","rotate","rotationInDegrees","rx","ry","scale","sx","sy","skew","translate","dx","dy","drawColor","color","blendMode","undefined","clear","clipPath","op","doAntiAlias","clipRect","clipRRect","concat","m","drawPicture","skp"],"mappings":"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","sourcesContent":["import type { Canvas, Image, CanvasKit, Paint } from \"canvaskit-wasm\";\n\nimport type {\n BlendMode,\n ClipOp,\n FilterMode,\n MipmapMode,\n PointMode,\n SaveLayerFlag,\n SkCanvas,\n SkColor,\n SkFont,\n SkImage,\n SkImageFilter,\n SkMatrix,\n SkPaint,\n SkPath,\n SkPicture,\n SkPoint,\n SkRect,\n SkRRect,\n SkSVG,\n SkTextBlob,\n SkVertices,\n} from \"../types\";\n\nimport {\n ckEnum,\n HostObject,\n toValue,\n toUndefinedableValue,\n toOptionalValue,\n} from \"./Host\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\n\nexport class JsiSkCanvas\n extends HostObject<Canvas, \"Canvas\">\n implements SkCanvas\n{\n constructor(CanvasKit: CanvasKit, ref: Canvas) {\n super(CanvasKit, ref, \"Canvas\");\n }\n\n drawRect(rect: SkRect, paint: SkPaint) {\n this.ref.drawRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n toValue<Paint>(paint)\n );\n }\n\n drawImage(image: SkImage, x: number, y: number, paint?: SkPaint) {\n this.ref.drawImage(toValue<Image>(image), x, y, toOptionalValue(paint));\n }\n\n drawImageRect(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n paint: SkPaint,\n fastSample?: boolean\n ) {\n this.ref.drawImageRect(\n toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n toValue<Paint>(paint),\n fastSample\n );\n }\n\n drawImageCubic(\n img: SkImage,\n left: number,\n top: number,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageCubic(\n toValue(img),\n left,\n top,\n B,\n C,\n toOptionalValue(paint)\n );\n }\n\n drawImageOptions(\n img: SkImage,\n left: number,\n top: number,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageOptions(\n toValue(img),\n left,\n top,\n ckEnum(fm),\n ckEnum(mm),\n toOptionalValue(paint)\n );\n }\n\n drawImageNine(\n img: SkImage,\n center: SkRect,\n dest: SkRect,\n filter: FilterMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageNine(\n toValue(img),\n toValue(center),\n toValue(dest),\n ckEnum(filter),\n toOptionalValue(paint)\n );\n }\n\n drawImageRectCubic(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectCubic(\n toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n B,\n C,\n toOptionalValue(paint)\n );\n }\n\n drawImageRectOptions(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectOptions(\n toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n ckEnum(fm),\n ckEnum(mm),\n toOptionalValue(paint)\n );\n }\n\n drawPaint(paint: SkPaint) {\n this.ref.drawPaint(toValue(paint));\n }\n\n drawLine(x0: number, y0: number, x1: number, y1: number, paint: SkPaint) {\n this.ref.drawLine(x0, y0, x1, y1, toValue(paint));\n }\n\n drawCircle(cx: number, cy: number, radius: number, paint: SkPaint) {\n this.ref.drawCircle(cx, cy, radius, toValue(paint));\n }\n\n drawVertices(verts: SkVertices, mode: BlendMode, paint: SkPaint) {\n this.ref.drawVertices(toValue(verts), ckEnum(mode), toValue(paint));\n }\n\n drawPatch(\n cubics: SkPoint[],\n colors?: SkColor[] | null,\n texs?: SkPoint[] | null,\n mode?: BlendMode | null,\n paint?: SkPaint\n ) {\n this.ref.drawPatch(\n cubics.map(({ x, y }) => [x, y]).flat(),\n colors,\n toOptionalValue(texs),\n mode ? ckEnum(mode) : null,\n toUndefinedableValue(paint)\n );\n }\n\n restoreToCount(saveCount: number) {\n this.ref.restoreToCount(saveCount);\n }\n\n drawPoints(mode: PointMode, points: SkPoint[], paint: SkPaint) {\n this.ref.drawPoints(\n ckEnum(mode),\n points.map(({ x, y }) => [x, y]).flat(),\n toValue(paint)\n );\n }\n\n drawArc(\n oval: SkRect,\n startAngle: number,\n sweepAngle: number,\n useCenter: boolean,\n paint: SkPaint\n ) {\n this.ref.drawArc(\n toValue(oval),\n startAngle,\n sweepAngle,\n useCenter,\n toValue(paint)\n );\n }\n\n drawRRect(rrect: SkRRect, paint: SkPaint) {\n this.ref.drawRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n toValue(paint)\n );\n }\n\n drawDRRect(outer: SkRRect, inner: SkRRect, paint: SkPaint) {\n this.ref.drawDRRect(toValue(outer), toValue(inner), toValue(paint));\n }\n\n drawOval(oval: SkRect, paint: SkPaint) {\n this.ref.drawOval(toValue(oval), toValue(paint));\n }\n\n drawPath(path: SkPath, paint: SkPaint) {\n this.ref.drawPath(toValue(path), toValue(paint));\n }\n\n drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont) {\n this.ref.drawText(str, x, y, toValue(paint), toValue(font));\n }\n\n drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint) {\n this.ref.drawTextBlob(toValue(blob), x, y, toValue(paint));\n }\n\n drawGlyphs(\n glyphs: number[],\n positions: SkPoint[],\n x: number,\n y: number,\n font: SkFont,\n paint: SkPaint\n ) {\n this.ref.drawGlyphs(\n glyphs,\n positions.map((p) => [p.x, p.y]).flat(),\n x,\n y,\n toValue(font),\n toValue(paint)\n );\n }\n\n drawSvg(_svgDom: SkSVG, _width?: number, _height?: number) {\n throw new Error(\"drawSvg is not implemented on React Native Web\");\n }\n\n save() {\n return this.ref.save();\n }\n\n saveLayer(\n paint?: SkPaint,\n bounds?: SkRect | null,\n backdrop?: SkImageFilter | null,\n flags?: SaveLayerFlag\n ) {\n return this.ref.saveLayer(\n toUndefinedableValue(paint),\n toOptionalValue(bounds),\n toOptionalValue(backdrop),\n flags\n );\n }\n\n restore() {\n this.ref.restore();\n }\n\n rotate(rotationInDegrees: number, rx: number, ry: number) {\n this.ref.rotate(rotationInDegrees, rx, ry);\n }\n\n scale(sx: number, sy: number) {\n this.ref.scale(sx, sy);\n }\n\n skew(sx: number, sy: number) {\n this.ref.skew(sx, sy);\n }\n\n translate(dx: number, dy: number) {\n this.ref.translate(dx, dy);\n }\n\n drawColor(color: SkColor, blendMode?: BlendMode) {\n this.ref.drawColor(color, blendMode ? ckEnum(blendMode) : undefined);\n }\n\n clear(color: SkColor) {\n this.ref.clear(color);\n }\n\n clipPath(path: SkPath, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipPath(toValue(path), ckEnum(op), doAntiAlias);\n }\n\n clipRect(rect: SkRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n ckEnum(op),\n doAntiAlias\n );\n }\n\n clipRRect(rrect: SkRRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n ckEnum(op),\n doAntiAlias\n );\n }\n\n concat(m: SkMatrix) {\n this.ref.concat(toValue(m));\n }\n\n drawPicture(skp: SkPicture) {\n this.ref.drawPicture(toValue(skp));\n }\n}\n"]}
@@ -2,6 +2,7 @@ import { PathVerb } from "../types";
2
2
  import { ckEnum, HostObject, optEnum, toValue } from "./Host";
3
3
  import { JsiSkPoint } from "./JsiSkPoint";
4
4
  import { JsiSkRect } from "./JsiSkRect";
5
+ import { JsiSkRRect } from "./JsiSkRRect";
5
6
  const CommandCount = {
6
7
  [PathVerb.Move]: 3,
7
8
  [PathVerb.Line]: 3,
@@ -33,12 +34,12 @@ export class JsiSkPath extends HostObject {
33
34
  }
34
35
 
35
36
  addArc(oval, startAngleInDegrees, sweepAngleInDegrees) {
36
- this.ref.addArc(toValue(oval), startAngleInDegrees, sweepAngleInDegrees);
37
+ this.ref.addArc(JsiSkRect.fromValue(this.CanvasKit, oval), startAngleInDegrees, sweepAngleInDegrees);
37
38
  return this;
38
39
  }
39
40
 
40
41
  addOval(oval, isCCW, startIndex) {
41
- this.ref.addOval(toValue(oval), isCCW, startIndex);
42
+ this.ref.addOval(JsiSkRect.fromValue(this.CanvasKit, oval), isCCW, startIndex);
42
43
  return this;
43
44
  }
44
45
 
@@ -138,7 +139,7 @@ export class JsiSkPath extends HostObject {
138
139
  }
139
140
 
140
141
  arcToOval(oval, startAngleInDegrees, sweepAngleInDegrees, forceMoveTo) {
141
- this.ref.arcToOval(toValue(oval), startAngleInDegrees, sweepAngleInDegrees, forceMoveTo);
142
+ this.ref.arcToOval(JsiSkRect.fromValue(this.CanvasKit, oval), startAngleInDegrees, sweepAngleInDegrees, forceMoveTo);
142
143
  return this;
143
144
  }
144
145
 
@@ -191,11 +192,11 @@ export class JsiSkPath extends HostObject {
191
192
  }
192
193
 
193
194
  addRect(rect, isCCW) {
194
- this.ref.addRect(toValue(rect), isCCW);
195
+ this.ref.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);
195
196
  }
196
197
 
197
198
  addRRect(rrect, isCCW) {
198
- this.ref.addRRect(toValue(rrect), isCCW);
199
+ this.ref.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);
199
200
  return this;
200
201
  }
201
202
 
@@ -1 +1 @@
1
- {"version":3,"sources":["JsiSkPath.ts"],"names":["PathVerb","ckEnum","HostObject","optEnum","toValue","JsiSkPoint","JsiSkRect","CommandCount","Move","Line","Quad","Conic","Cubic","Close","areCmdsInterpolatable","cmd1","cmd2","length","i","JsiSkPath","constructor","CanvasKit","ref","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","addOval","isCCW","startIndex","countPoints","addPoly","points","close","map","p","moveTo","x","y","lineTo","makeAsWinding","result","offset","dx","dy","rArcTo","rx","ry","xAxisRotateInDegrees","useSmallArc","rConicTo","dx1","dy1","dx2","dy2","w","rCubicTo","cpx1","cpy1","cpx2","cpy2","rMoveTo","rLineTo","rQuadTo","x1","y1","x2","y2","setFillType","fill","setIsVolatile","volatile","stroke","opts","undefined","width","miter_limit","precision","join","cap","reset","rewind","computeTightBounds","arcToOval","forceMoveTo","arcToRotated","arcToTangent","radius","conicTo","contains","copy","cubicTo","dash","on","off","phase","equals","other","getBounds","getFillType","value","quadTo","addRect","rect","addRRect","rrect","getPoint","index","isEmpty","isVolatile","addCircle","r","LTRBRect","getLastPt","op","path","simplify","toSVGString","trim","startT","stopT","isComplement","transform","m3","interpolate","end","t","toCmds","interpolated","forEach","cmd","interpolatedCmd","push","c","j","c2","Path","MakeFromCmds","flat","isInterpolatable","path2","cmds","reduce","acc","current"],"mappings":"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","sourcesContent":["import type { CanvasKit, Path } from \"canvaskit-wasm\";\n\nimport { PathVerb } from \"../types\";\nimport type {\n FillType,\n PathCommand,\n PathOp,\n SkMatrix,\n SkPath,\n SkPoint,\n SkRect,\n SkRRect,\n StrokeOpts,\n} from \"../types\";\n\nimport { ckEnum, HostObject, optEnum, toValue } from \"./Host\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\n\nconst CommandCount = {\n [PathVerb.Move]: 3,\n [PathVerb.Line]: 3,\n [PathVerb.Quad]: 5,\n [PathVerb.Conic]: 6,\n [PathVerb.Cubic]: 7,\n [PathVerb.Close]: 1,\n};\n\nconst areCmdsInterpolatable = (cmd1: PathCommand[], cmd2: PathCommand[]) => {\n if (cmd1.length !== cmd2.length) {\n return false;\n }\n for (let i = 0; i < cmd1.length; i++) {\n if (cmd1[i][0] !== cmd2[i][0]) {\n return false;\n } else if (cmd1[i][0] === PathVerb.Conic && cmd1[i][5] !== cmd2[i][5]) {\n return false;\n }\n }\n return true;\n};\n\nexport class JsiSkPath extends HostObject<Path, \"Path\"> implements SkPath {\n constructor(CanvasKit: CanvasKit, ref: Path) {\n super(CanvasKit, ref, \"Path\");\n }\n\n addArc(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number\n ) {\n this.ref.addArc(toValue(oval), startAngleInDegrees, sweepAngleInDegrees);\n return this;\n }\n\n addOval(oval: SkRect, isCCW?: boolean, startIndex?: number) {\n this.ref.addOval(toValue(oval), isCCW, startIndex);\n return this;\n }\n\n countPoints() {\n return this.ref.countPoints();\n }\n\n addPoly(points: SkPoint[], close: boolean) {\n this.ref.addPoly(\n points.map((p) => toValue(p)),\n close\n );\n return this;\n }\n\n moveTo(x: number, y: number) {\n this.ref.moveTo(x, y);\n return this;\n }\n\n lineTo(x: number, y: number) {\n this.ref.lineTo(x, y);\n return this;\n }\n\n makeAsWinding() {\n const result = this.ref.makeAsWinding();\n return result === null ? result : this;\n }\n\n offset(dx: number, dy: number) {\n this.ref.offset(dx, dy);\n return this;\n }\n\n rArcTo(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n dx: number,\n dy: number\n ) {\n this.ref.rArcTo(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, dx, dy);\n return this;\n }\n\n rConicTo(dx1: number, dy1: number, dx2: number, dy2: number, w: number) {\n this.ref.rConicTo(dx1, dy1, dx2, dy2, w);\n return this;\n }\n\n rCubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.rCubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n rMoveTo(x: number, y: number) {\n this.ref.rMoveTo(x, y);\n return this;\n }\n\n rLineTo(x: number, y: number) {\n this.ref.rLineTo(x, y);\n return this;\n }\n\n rQuadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.rQuadTo(x1, y1, x2, y2);\n return this;\n }\n\n setFillType(fill: FillType) {\n this.ref.setFillType(ckEnum(fill));\n }\n\n setIsVolatile(volatile: boolean) {\n this.ref.setIsVolatile(volatile);\n }\n\n stroke(opts?: StrokeOpts) {\n const result = this.ref.stroke(\n opts === undefined\n ? undefined\n : {\n width: opts.width,\n // eslint-disable-next-line camelcase\n miter_limit: opts.width,\n precision: opts.width,\n join: optEnum(opts.join),\n cap: optEnum(opts.cap),\n }\n );\n return result === null ? result : this;\n }\n\n close() {\n this.ref.close();\n }\n\n reset() {\n this.ref.reset();\n }\n\n rewind() {\n this.ref.rewind();\n }\n\n computeTightBounds(): SkRect {\n return new JsiSkRect(this.CanvasKit, this.ref.computeTightBounds());\n }\n\n arcToOval(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number,\n forceMoveTo: boolean\n ) {\n this.ref.arcToOval(\n toValue(oval),\n startAngleInDegrees,\n sweepAngleInDegrees,\n forceMoveTo\n );\n return this;\n }\n\n arcToRotated(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n x: number,\n y: number\n ) {\n this.ref.arcToRotated(\n rx,\n ry,\n xAxisRotateInDegrees,\n useSmallArc,\n isCCW,\n x,\n y\n );\n return this;\n }\n\n arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number) {\n this.ref.arcToTangent(x1, y1, x2, y2, radius);\n return this;\n }\n\n conicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n this.ref.conicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n contains(x: number, y: number) {\n return this.ref.contains(x, y);\n }\n\n copy() {\n return new JsiSkPath(this.CanvasKit, this.ref.copy());\n }\n\n cubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.cubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n dash(on: number, off: number, phase: number) {\n return this.ref.dash(on, off, phase);\n }\n\n equals(other: SkPath) {\n return this.ref.equals(toValue(other));\n }\n\n getBounds() {\n return new JsiSkRect(this.CanvasKit, this.ref.getBounds());\n }\n\n getFillType() {\n return this.ref.getFillType().value;\n }\n\n quadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.quadTo(x1, y1, x2, y2);\n }\n\n addRect(rect: SkRect, isCCW?: boolean) {\n this.ref.addRect(toValue(rect), isCCW);\n }\n\n addRRect(rrect: SkRRect, isCCW?: boolean) {\n this.ref.addRRect(toValue(rrect), isCCW);\n return this;\n }\n\n getPoint(index: number) {\n return new JsiSkPoint(this.CanvasKit, this.ref.getPoint(index));\n }\n\n isEmpty() {\n return this.ref.isEmpty();\n }\n\n isVolatile() {\n return this.ref.isVolatile();\n }\n\n addCircle(x: number, y: number, r: number) {\n // We leave the comment below to remind us that this is not implemented in CanvasKit\n // throw new NotImplementedOnRNWeb();\n this.ref.addOval(this.CanvasKit.LTRBRect(x - r, y - r, x + r, y + r));\n return this;\n }\n\n getLastPt() {\n return new JsiSkPoint(\n this.CanvasKit,\n this.ref.getPoint(this.ref.countPoints() - 1)\n );\n }\n\n op(path: SkPath, op: PathOp) {\n return this.ref.op(toValue(path), ckEnum(op));\n }\n\n simplify() {\n return this.ref.simplify();\n }\n\n toSVGString() {\n return this.ref.toSVGString();\n }\n\n trim(startT: number, stopT: number, isComplement: boolean) {\n const result = this.ref.trim(startT, stopT, isComplement);\n return result === null ? result : this;\n }\n\n transform(m3: SkMatrix) {\n this.ref.transform(toValue(m3));\n }\n\n interpolate(end: SkPath, t: number) {\n // Do not remove the comment below. We use it to track missing APIs in CanvasKit\n // throw new NotImplementedOnRNWeb();\n const cmd1 = this.toCmds();\n const cmd2 = end.toCmds();\n if (!areCmdsInterpolatable(cmd1, cmd2)) {\n return null;\n }\n const interpolated: PathCommand[] = [];\n cmd1.forEach((cmd, i) => {\n const interpolatedCmd = [cmd[0]];\n interpolated.push(interpolatedCmd);\n cmd.forEach((c, j) => {\n if (j === 0) {\n return;\n }\n if (interpolatedCmd[0] === PathVerb.Conic && j === 5) {\n interpolatedCmd.push(c);\n } else {\n const c2 = cmd2[i][j];\n interpolatedCmd.push(c2 + (c - c2) * t);\n }\n });\n });\n const path = this.CanvasKit.Path.MakeFromCmds(interpolated.flat());\n if (path === null) {\n return null;\n }\n return new JsiSkPath(this.CanvasKit, path);\n }\n\n isInterpolatable(path2: SkPath): boolean {\n // Do not remove the comment below. We use it to track missing APIs in CanvasKit\n // throw new NotImplementedOnRNWeb();\n const cmd1 = this.toCmds();\n const cmd2 = path2.toCmds();\n return areCmdsInterpolatable(cmd1, cmd2);\n }\n\n toCmds() {\n const cmds = this.ref.toCmds();\n const result = cmds.reduce<PathCommand[]>((acc, cmd, i) => {\n if (i === 0) {\n acc.push([]);\n }\n const current = acc[acc.length - 1];\n if (current.length === 0) {\n current.push(cmd);\n const length = CommandCount[current[0] as PathVerb];\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n } else {\n const length = CommandCount[current[0] as PathVerb];\n if (current.length < length) {\n current.push(cmd);\n }\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n }\n return acc;\n }, []);\n return result;\n }\n}\n"]}
1
+ {"version":3,"sources":["JsiSkPath.ts"],"names":["PathVerb","ckEnum","HostObject","optEnum","toValue","JsiSkPoint","JsiSkRect","JsiSkRRect","CommandCount","Move","Line","Quad","Conic","Cubic","Close","areCmdsInterpolatable","cmd1","cmd2","length","i","JsiSkPath","constructor","CanvasKit","ref","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","fromValue","addOval","isCCW","startIndex","countPoints","addPoly","points","close","map","p","moveTo","x","y","lineTo","makeAsWinding","result","offset","dx","dy","rArcTo","rx","ry","xAxisRotateInDegrees","useSmallArc","rConicTo","dx1","dy1","dx2","dy2","w","rCubicTo","cpx1","cpy1","cpx2","cpy2","rMoveTo","rLineTo","rQuadTo","x1","y1","x2","y2","setFillType","fill","setIsVolatile","volatile","stroke","opts","undefined","width","miter_limit","precision","join","cap","reset","rewind","computeTightBounds","arcToOval","forceMoveTo","arcToRotated","arcToTangent","radius","conicTo","contains","copy","cubicTo","dash","on","off","phase","equals","other","getBounds","getFillType","value","quadTo","addRect","rect","addRRect","rrect","getPoint","index","isEmpty","isVolatile","addCircle","r","LTRBRect","getLastPt","op","path","simplify","toSVGString","trim","startT","stopT","isComplement","transform","m3","interpolate","end","t","toCmds","interpolated","forEach","cmd","interpolatedCmd","push","c","j","c2","Path","MakeFromCmds","flat","isInterpolatable","path2","cmds","reduce","acc","current"],"mappings":"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","sourcesContent":["import type { CanvasKit, Path } from \"canvaskit-wasm\";\n\nimport { PathVerb } from \"../types\";\nimport type {\n FillType,\n PathCommand,\n PathOp,\n SkMatrix,\n SkPath,\n SkPoint,\n SkRect,\n SkRRect,\n StrokeOpts,\n} from \"../types\";\n\nimport { ckEnum, HostObject, optEnum, toValue } from \"./Host\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\n\nconst CommandCount = {\n [PathVerb.Move]: 3,\n [PathVerb.Line]: 3,\n [PathVerb.Quad]: 5,\n [PathVerb.Conic]: 6,\n [PathVerb.Cubic]: 7,\n [PathVerb.Close]: 1,\n};\n\nconst areCmdsInterpolatable = (cmd1: PathCommand[], cmd2: PathCommand[]) => {\n if (cmd1.length !== cmd2.length) {\n return false;\n }\n for (let i = 0; i < cmd1.length; i++) {\n if (cmd1[i][0] !== cmd2[i][0]) {\n return false;\n } else if (cmd1[i][0] === PathVerb.Conic && cmd1[i][5] !== cmd2[i][5]) {\n return false;\n }\n }\n return true;\n};\n\nexport class JsiSkPath extends HostObject<Path, \"Path\"> implements SkPath {\n constructor(CanvasKit: CanvasKit, ref: Path) {\n super(CanvasKit, ref, \"Path\");\n }\n\n addArc(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number\n ) {\n this.ref.addArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees\n );\n return this;\n }\n\n addOval(oval: SkRect, isCCW?: boolean, startIndex?: number) {\n this.ref.addOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n isCCW,\n startIndex\n );\n return this;\n }\n\n countPoints() {\n return this.ref.countPoints();\n }\n\n addPoly(points: SkPoint[], close: boolean) {\n this.ref.addPoly(\n points.map((p) => toValue(p)),\n close\n );\n return this;\n }\n\n moveTo(x: number, y: number) {\n this.ref.moveTo(x, y);\n return this;\n }\n\n lineTo(x: number, y: number) {\n this.ref.lineTo(x, y);\n return this;\n }\n\n makeAsWinding() {\n const result = this.ref.makeAsWinding();\n return result === null ? result : this;\n }\n\n offset(dx: number, dy: number) {\n this.ref.offset(dx, dy);\n return this;\n }\n\n rArcTo(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n dx: number,\n dy: number\n ) {\n this.ref.rArcTo(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, dx, dy);\n return this;\n }\n\n rConicTo(dx1: number, dy1: number, dx2: number, dy2: number, w: number) {\n this.ref.rConicTo(dx1, dy1, dx2, dy2, w);\n return this;\n }\n\n rCubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.rCubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n rMoveTo(x: number, y: number) {\n this.ref.rMoveTo(x, y);\n return this;\n }\n\n rLineTo(x: number, y: number) {\n this.ref.rLineTo(x, y);\n return this;\n }\n\n rQuadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.rQuadTo(x1, y1, x2, y2);\n return this;\n }\n\n setFillType(fill: FillType) {\n this.ref.setFillType(ckEnum(fill));\n }\n\n setIsVolatile(volatile: boolean) {\n this.ref.setIsVolatile(volatile);\n }\n\n stroke(opts?: StrokeOpts) {\n const result = this.ref.stroke(\n opts === undefined\n ? undefined\n : {\n width: opts.width,\n // eslint-disable-next-line camelcase\n miter_limit: opts.width,\n precision: opts.width,\n join: optEnum(opts.join),\n cap: optEnum(opts.cap),\n }\n );\n return result === null ? result : this;\n }\n\n close() {\n this.ref.close();\n }\n\n reset() {\n this.ref.reset();\n }\n\n rewind() {\n this.ref.rewind();\n }\n\n computeTightBounds(): SkRect {\n return new JsiSkRect(this.CanvasKit, this.ref.computeTightBounds());\n }\n\n arcToOval(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number,\n forceMoveTo: boolean\n ) {\n this.ref.arcToOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees,\n forceMoveTo\n );\n return this;\n }\n\n arcToRotated(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n x: number,\n y: number\n ) {\n this.ref.arcToRotated(\n rx,\n ry,\n xAxisRotateInDegrees,\n useSmallArc,\n isCCW,\n x,\n y\n );\n return this;\n }\n\n arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number) {\n this.ref.arcToTangent(x1, y1, x2, y2, radius);\n return this;\n }\n\n conicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n this.ref.conicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n contains(x: number, y: number) {\n return this.ref.contains(x, y);\n }\n\n copy() {\n return new JsiSkPath(this.CanvasKit, this.ref.copy());\n }\n\n cubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.cubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n dash(on: number, off: number, phase: number) {\n return this.ref.dash(on, off, phase);\n }\n\n equals(other: SkPath) {\n return this.ref.equals(toValue(other));\n }\n\n getBounds() {\n return new JsiSkRect(this.CanvasKit, this.ref.getBounds());\n }\n\n getFillType() {\n return this.ref.getFillType().value;\n }\n\n quadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.quadTo(x1, y1, x2, y2);\n }\n\n addRect(rect: SkRect, isCCW?: boolean) {\n this.ref.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);\n }\n\n addRRect(rrect: SkRRect, isCCW?: boolean) {\n this.ref.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);\n return this;\n }\n\n getPoint(index: number) {\n return new JsiSkPoint(this.CanvasKit, this.ref.getPoint(index));\n }\n\n isEmpty() {\n return this.ref.isEmpty();\n }\n\n isVolatile() {\n return this.ref.isVolatile();\n }\n\n addCircle(x: number, y: number, r: number) {\n // We leave the comment below to remind us that this is not implemented in CanvasKit\n // throw new NotImplementedOnRNWeb();\n this.ref.addOval(this.CanvasKit.LTRBRect(x - r, y - r, x + r, y + r));\n return this;\n }\n\n getLastPt() {\n return new JsiSkPoint(\n this.CanvasKit,\n this.ref.getPoint(this.ref.countPoints() - 1)\n );\n }\n\n op(path: SkPath, op: PathOp) {\n return this.ref.op(toValue(path), ckEnum(op));\n }\n\n simplify() {\n return this.ref.simplify();\n }\n\n toSVGString() {\n return this.ref.toSVGString();\n }\n\n trim(startT: number, stopT: number, isComplement: boolean) {\n const result = this.ref.trim(startT, stopT, isComplement);\n return result === null ? result : this;\n }\n\n transform(m3: SkMatrix) {\n this.ref.transform(toValue(m3));\n }\n\n interpolate(end: SkPath, t: number) {\n // Do not remove the comment below. We use it to track missing APIs in CanvasKit\n // throw new NotImplementedOnRNWeb();\n const cmd1 = this.toCmds();\n const cmd2 = end.toCmds();\n if (!areCmdsInterpolatable(cmd1, cmd2)) {\n return null;\n }\n const interpolated: PathCommand[] = [];\n cmd1.forEach((cmd, i) => {\n const interpolatedCmd = [cmd[0]];\n interpolated.push(interpolatedCmd);\n cmd.forEach((c, j) => {\n if (j === 0) {\n return;\n }\n if (interpolatedCmd[0] === PathVerb.Conic && j === 5) {\n interpolatedCmd.push(c);\n } else {\n const c2 = cmd2[i][j];\n interpolatedCmd.push(c2 + (c - c2) * t);\n }\n });\n });\n const path = this.CanvasKit.Path.MakeFromCmds(interpolated.flat());\n if (path === null) {\n return null;\n }\n return new JsiSkPath(this.CanvasKit, path);\n }\n\n isInterpolatable(path2: SkPath): boolean {\n // Do not remove the comment below. We use it to track missing APIs in CanvasKit\n // throw new NotImplementedOnRNWeb();\n const cmd1 = this.toCmds();\n const cmd2 = path2.toCmds();\n return areCmdsInterpolatable(cmd1, cmd2);\n }\n\n toCmds() {\n const cmds = this.ref.toCmds();\n const result = cmds.reduce<PathCommand[]>((acc, cmd, i) => {\n if (i === 0) {\n acc.push([]);\n }\n const current = acc[acc.length - 1];\n if (current.length === 0) {\n current.push(cmd);\n const length = CommandCount[current[0] as PathVerb];\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n } else {\n const length = CommandCount[current[0] as PathVerb];\n if (current.length < length) {\n current.push(cmd);\n }\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n }\n return acc;\n }, []);\n return result;\n }\n}\n"]}
@@ -1,6 +1,14 @@
1
1
  import { HostObject } from "./Host";
2
2
  import { JsiSkRect } from "./JsiSkRect";
3
3
  export class JsiSkRRect extends HostObject {
4
+ static fromValue(CanvasKit, rect) {
5
+ if (rect instanceof JsiSkRect) {
6
+ return rect.ref;
7
+ }
8
+
9
+ return CanvasKit.RRectXY(JsiSkRect.fromValue(CanvasKit, rect.rect), rect.rx, rect.ry);
10
+ }
11
+
4
12
  constructor(CanvasKit, ref) {
5
13
  super(CanvasKit, ref, "RRect");
6
14
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["JsiSkRRect.ts"],"names":["HostObject","JsiSkRect","JsiSkRRect","constructor","CanvasKit","ref","rx","ry","rect","Float32Array","of"],"mappings":"AAIA,SAASA,UAAT,QAA2B,QAA3B;AACA,SAASC,SAAT,QAA0B,aAA1B;AAEA,OAAO,MAAMC,UAAN,SAAyBF,UAAzB,CAAuE;AAC5EG,EAAAA,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAmC;AAC5C,UAAMD,SAAN,EAAiBC,GAAjB,EAAsB,OAAtB;AACD;;AAEK,MAAFC,EAAE,GAAG;AACP,WAAO,KAAKD,GAAL,CAAS,CAAT,CAAP;AACD;;AAEK,MAAFE,EAAE,GAAG;AACP,WAAO,KAAKF,GAAL,CAAS,CAAT,CAAP;AACD;;AAEO,MAAJG,IAAI,GAAG;AACT,WAAO,IAAIP,SAAJ,CACL,KAAKG,SADA,EAELK,YAAY,CAACC,EAAb,CAAgB,KAAKL,GAAL,CAAS,CAAT,CAAhB,EAA6B,KAAKA,GAAL,CAAS,CAAT,CAA7B,EAA0C,KAAKA,GAAL,CAAS,CAAT,CAA1C,EAAuD,KAAKA,GAAL,CAAS,CAAT,CAAvD,CAFK,CAAP;AAID;;AAlB2E","sourcesContent":["import type { CanvasKit, RRect } from \"canvaskit-wasm\";\n\nimport type { SkRRect } from \"../types\";\n\nimport { HostObject } from \"./Host\";\nimport { JsiSkRect } from \"./JsiSkRect\";\n\nexport class JsiSkRRect extends HostObject<RRect, \"RRect\"> implements SkRRect {\n constructor(CanvasKit: CanvasKit, ref: RRect) {\n super(CanvasKit, ref, \"RRect\");\n }\n\n get rx() {\n return this.ref[4];\n }\n\n get ry() {\n return this.ref[5];\n }\n\n get rect() {\n return new JsiSkRect(\n this.CanvasKit,\n Float32Array.of(this.ref[0], this.ref[1], this.ref[2], this.ref[3])\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["JsiSkRRect.ts"],"names":["HostObject","JsiSkRect","JsiSkRRect","fromValue","CanvasKit","rect","ref","RRectXY","rx","ry","constructor","Float32Array","of"],"mappings":"AAIA,SAASA,UAAT,QAA2B,QAA3B;AACA,SAASC,SAAT,QAA0B,aAA1B;AAEA,OAAO,MAAMC,UAAN,SAAyBF,UAAzB,CAAuE;AAC5D,SAATG,SAAS,CAACC,SAAD,EAAuBC,IAAvB,EAAsC;AACpD,QAAIA,IAAI,YAAYJ,SAApB,EAA+B;AAC7B,aAAOI,IAAI,CAACC,GAAZ;AACD;;AACD,WAAOF,SAAS,CAACG,OAAV,CACLN,SAAS,CAACE,SAAV,CAAoBC,SAApB,EAA+BC,IAAI,CAACA,IAApC,CADK,EAELA,IAAI,CAACG,EAFA,EAGLH,IAAI,CAACI,EAHA,CAAP;AAKD;;AAEDC,EAAAA,WAAW,CAACN,SAAD,EAAuBE,GAAvB,EAAmC;AAC5C,UAAMF,SAAN,EAAiBE,GAAjB,EAAsB,OAAtB;AACD;;AAEK,MAAFE,EAAE,GAAG;AACP,WAAO,KAAKF,GAAL,CAAS,CAAT,CAAP;AACD;;AAEK,MAAFG,EAAE,GAAG;AACP,WAAO,KAAKH,GAAL,CAAS,CAAT,CAAP;AACD;;AAEO,MAAJD,IAAI,GAAG;AACT,WAAO,IAAIJ,SAAJ,CACL,KAAKG,SADA,EAELO,YAAY,CAACC,EAAb,CAAgB,KAAKN,GAAL,CAAS,CAAT,CAAhB,EAA6B,KAAKA,GAAL,CAAS,CAAT,CAA7B,EAA0C,KAAKA,GAAL,CAAS,CAAT,CAA1C,EAAuD,KAAKA,GAAL,CAAS,CAAT,CAAvD,CAFK,CAAP;AAID;;AA7B2E","sourcesContent":["import type { CanvasKit, RRect } from \"canvaskit-wasm\";\n\nimport type { SkRRect } from \"../types\";\n\nimport { HostObject } from \"./Host\";\nimport { JsiSkRect } from \"./JsiSkRect\";\n\nexport class JsiSkRRect extends HostObject<RRect, \"RRect\"> implements SkRRect {\n static fromValue(CanvasKit: CanvasKit, rect: SkRRect) {\n if (rect instanceof JsiSkRect) {\n return rect.ref;\n }\n return CanvasKit.RRectXY(\n JsiSkRect.fromValue(CanvasKit, rect.rect),\n rect.rx,\n rect.ry\n );\n }\n\n constructor(CanvasKit: CanvasKit, ref: RRect) {\n super(CanvasKit, ref, \"RRect\");\n }\n\n get rx() {\n return this.ref[4];\n }\n\n get ry() {\n return this.ref[5];\n }\n\n get rect() {\n return new JsiSkRect(\n this.CanvasKit,\n Float32Array.of(this.ref[0], this.ref[1], this.ref[2], this.ref[3])\n );\n }\n}\n"]}
@@ -2,10 +2,10 @@ import { HostObject } from "./Host";
2
2
  export class JsiSkRect extends HostObject {
3
3
  static fromValue(CanvasKit, rect) {
4
4
  if (rect instanceof JsiSkRect) {
5
- return rect;
5
+ return rect.ref;
6
6
  }
7
7
 
8
- return new JsiSkRect(CanvasKit, CanvasKit.XYWHRect(rect.x, rect.y, rect.width, rect.height));
8
+ return CanvasKit.XYWHRect(rect.x, rect.y, rect.width, rect.height);
9
9
  }
10
10
 
11
11
  constructor(CanvasKit, ref) {
@@ -1 +1 @@
1
- {"version":3,"sources":["JsiSkRect.ts"],"names":["HostObject","JsiSkRect","fromValue","CanvasKit","rect","XYWHRect","x","y","width","height","constructor","ref"],"mappings":"AAIA,SAASA,UAAT,QAA2B,QAA3B;AAEA,OAAO,MAAMC,SAAN,SAAwBD,UAAxB,CAAmE;AACxD,SAATE,SAAS,CAACC,SAAD,EAAuBC,IAAvB,EAAqC;AACnD,QAAIA,IAAI,YAAYH,SAApB,EAA+B;AAC7B,aAAOG,IAAP;AACD;;AACD,WAAO,IAAIH,SAAJ,CACLE,SADK,EAELA,SAAS,CAACE,QAAV,CAAmBD,IAAI,CAACE,CAAxB,EAA2BF,IAAI,CAACG,CAAhC,EAAmCH,IAAI,CAACI,KAAxC,EAA+CJ,IAAI,CAACK,MAApD,CAFK,CAAP;AAID;;AAEDC,EAAAA,WAAW,CAACP,SAAD,EAAuBQ,GAAvB,EAAkC;AAC3C,UAAMR,SAAN,EAAiBQ,GAAjB,EAAsB,MAAtB;AACD;;AAEI,MAADL,CAAC,GAAG;AACN,WAAO,KAAKK,GAAL,CAAS,CAAT,CAAP;AACD;;AAEI,MAADJ,CAAC,GAAG;AACN,WAAO,KAAKI,GAAL,CAAS,CAAT,CAAP;AACD;;AAEQ,MAALH,KAAK,GAAG;AACV,WAAO,KAAKG,GAAL,CAAS,CAAT,IAAc,KAAKA,GAAL,CAAS,CAAT,CAArB;AACD;;AAES,MAANF,MAAM,GAAG;AACX,WAAO,KAAKE,GAAL,CAAS,CAAT,IAAc,KAAKA,GAAL,CAAS,CAAT,CAArB;AACD;;AA7BuE","sourcesContent":["import type { CanvasKit, Rect } from \"canvaskit-wasm\";\n\nimport type { SkRect } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\nexport class JsiSkRect extends HostObject<Rect, \"Rect\"> implements SkRect {\n static fromValue(CanvasKit: CanvasKit, rect: SkRect) {\n if (rect instanceof JsiSkRect) {\n return rect;\n }\n return new JsiSkRect(\n CanvasKit,\n CanvasKit.XYWHRect(rect.x, rect.y, rect.width, rect.height)\n );\n }\n\n constructor(CanvasKit: CanvasKit, ref: Rect) {\n super(CanvasKit, ref, \"Rect\");\n }\n\n get x() {\n return this.ref[0];\n }\n\n get y() {\n return this.ref[1];\n }\n\n get width() {\n return this.ref[2] - this.ref[0];\n }\n\n get height() {\n return this.ref[3] - this.ref[1];\n }\n}\n"]}
1
+ {"version":3,"sources":["JsiSkRect.ts"],"names":["HostObject","JsiSkRect","fromValue","CanvasKit","rect","ref","XYWHRect","x","y","width","height","constructor"],"mappings":"AAIA,SAASA,UAAT,QAA2B,QAA3B;AAEA,OAAO,MAAMC,SAAN,SAAwBD,UAAxB,CAAmE;AACxD,SAATE,SAAS,CAACC,SAAD,EAAuBC,IAAvB,EAAqC;AACnD,QAAIA,IAAI,YAAYH,SAApB,EAA+B;AAC7B,aAAOG,IAAI,CAACC,GAAZ;AACD;;AACD,WAAOF,SAAS,CAACG,QAAV,CAAmBF,IAAI,CAACG,CAAxB,EAA2BH,IAAI,CAACI,CAAhC,EAAmCJ,IAAI,CAACK,KAAxC,EAA+CL,IAAI,CAACM,MAApD,CAAP;AACD;;AAEDC,EAAAA,WAAW,CAACR,SAAD,EAAuBE,GAAvB,EAAkC;AAC3C,UAAMF,SAAN,EAAiBE,GAAjB,EAAsB,MAAtB;AACD;;AAEI,MAADE,CAAC,GAAG;AACN,WAAO,KAAKF,GAAL,CAAS,CAAT,CAAP;AACD;;AAEI,MAADG,CAAC,GAAG;AACN,WAAO,KAAKH,GAAL,CAAS,CAAT,CAAP;AACD;;AAEQ,MAALI,KAAK,GAAG;AACV,WAAO,KAAKJ,GAAL,CAAS,CAAT,IAAc,KAAKA,GAAL,CAAS,CAAT,CAArB;AACD;;AAES,MAANK,MAAM,GAAG;AACX,WAAO,KAAKL,GAAL,CAAS,CAAT,IAAc,KAAKA,GAAL,CAAS,CAAT,CAArB;AACD;;AA1BuE","sourcesContent":["import type { CanvasKit, Rect } from \"canvaskit-wasm\";\n\nimport type { SkRect } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\nexport class JsiSkRect extends HostObject<Rect, \"Rect\"> implements SkRect {\n static fromValue(CanvasKit: CanvasKit, rect: SkRect) {\n if (rect instanceof JsiSkRect) {\n return rect.ref;\n }\n return CanvasKit.XYWHRect(rect.x, rect.y, rect.width, rect.height);\n }\n\n constructor(CanvasKit: CanvasKit, ref: Rect) {\n super(CanvasKit, ref, \"Rect\");\n }\n\n get x() {\n return this.ref[0];\n }\n\n get y() {\n return this.ref[1];\n }\n\n get width() {\n return this.ref[2] - this.ref[0];\n }\n\n get height() {\n return this.ref[3] - this.ref[1];\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { useMemo } from "react";
1
+ import { useEffect, useMemo } from "react";
2
2
  import { ValueApi } from "../api";
3
3
  import { isValue } from "../../renderer/processors/Animations";
4
4
  /**
@@ -9,6 +9,10 @@ import { isValue } from "../../renderer/processors/Animations";
9
9
  * @returns A readonly value
10
10
  */
11
11
 
12
- export const useComputedValue = (cb, values) => useMemo(() => ValueApi.createComputedValue(cb, values.filter(isValue)), // eslint-disable-next-line react-hooks/exhaustive-deps
13
- values);
12
+ export const useComputedValue = (cb, values) => {
13
+ const value = useMemo(() => ValueApi.createComputedValue(cb, values.filter(isValue)), // eslint-disable-next-line react-hooks/exhaustive-deps
14
+ values);
15
+ useEffect(() => () => value.__invalidate(), [value]);
16
+ return value;
17
+ };
14
18
  //# sourceMappingURL=useComputedValue.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["useComputedValue.ts"],"names":["useMemo","ValueApi","isValue","useComputedValue","cb","values","createComputedValue","filter"],"mappings":"AAAA,SAASA,OAAT,QAAwB,OAAxB;AAEA,SAASC,QAAT,QAAyB,QAAzB;AACA,SAASC,OAAT,QAAwB,sCAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,gBAAgB,GAAG,CAAIC,EAAJ,EAAiBC,MAAjB,KAC9BL,OAAO,CACL,MAAMC,QAAQ,CAACK,mBAAT,CAAgCF,EAAhC,EAAoCC,MAAM,CAACE,MAAP,CAAcL,OAAd,CAApC,CADD,EAEL;AACAG,MAHK,CADF","sourcesContent":["import { useMemo } from \"react\";\n\nimport { ValueApi } from \"../api\";\nimport { isValue } from \"../../renderer/processors/Animations\";\n\n/**\n * Creates a new computed value - a value that will calculate its value depending\n * on other values.\n * @param cb Callback to calculate new value\n * @param values Dependant values\n * @returns A readonly value\n */\nexport const useComputedValue = <R>(cb: () => R, values: unknown[]) =>\n useMemo(\n () => ValueApi.createComputedValue<R>(cb, values.filter(isValue)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n values\n );\n"]}
1
+ {"version":3,"sources":["useComputedValue.ts"],"names":["useEffect","useMemo","ValueApi","isValue","useComputedValue","cb","values","value","createComputedValue","filter","__invalidate"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,OAApB,QAAmC,OAAnC;AAEA,SAASC,QAAT,QAAyB,QAAzB;AACA,SAASC,OAAT,QAAwB,sCAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,MAAMC,gBAAgB,GAAG,CAAIC,EAAJ,EAAiBC,MAAjB,KAAuC;AACrE,QAAMC,KAAK,GAAGN,OAAO,CACnB,MAAMC,QAAQ,CAACM,mBAAT,CAAgCH,EAAhC,EAAoCC,MAAM,CAACG,MAAP,CAAcN,OAAd,CAApC,CADa,EAEnB;AACAG,EAAAA,MAHmB,CAArB;AAKAN,EAAAA,SAAS,CAAC,MAAM,MAAMO,KAAK,CAACG,YAAN,EAAb,EAAmC,CAACH,KAAD,CAAnC,CAAT;AACA,SAAOA,KAAP;AACD,CARM","sourcesContent":["import { useEffect, useMemo } from \"react\";\n\nimport { ValueApi } from \"../api\";\nimport { isValue } from \"../../renderer/processors/Animations\";\n\n/**\n * Creates a new computed value - a value that will calculate its value depending\n * on other values.\n * @param cb Callback to calculate new value\n * @param values Dependant values\n * @returns A readonly value\n */\nexport const useComputedValue = <R>(cb: () => R, values: unknown[]) => {\n const value = useMemo(\n () => ValueApi.createComputedValue<R>(cb, values.filter(isValue)),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n values\n );\n useEffect(() => () => value.__invalidate(), [value]);\n return value;\n};\n"]}
@@ -1,4 +1,5 @@
1
1
  export * from "./types";
2
2
  export * from "./hooks";
3
3
  export * from "./api";
4
+ export * from "./selector";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAd;AACA,cAAc,SAAd;AACA,cAAc,OAAd","sourcesContent":["export * from \"./types\";\nexport * from \"./hooks\";\nexport * from \"./api\";\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAd;AACA,cAAc,SAAd;AACA,cAAc,OAAd;AACA,cAAc,YAAd","sourcesContent":["export * from \"./types\";\nexport * from \"./hooks\";\nexport * from \"./api\";\nexport * from \"./selector\";\n"]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Wraps a Skia Value with a selector function. The selector function can access the
3
+ * inner values of the Skia Value so that we can dynamically ready array values and
4
+ * object values when doing animations in Skia.
5
+ * @param value Dependant value
6
+ * @param selector Selector function to calculate new value from the Skia Value's value
7
+ * @returns A descriptor that will be used by the reconciler to calculate the value
8
+ */
9
+ export const Selector = (value, selector) => {
10
+ return {
11
+ selector,
12
+ value
13
+ };
14
+ };
15
+ //# sourceMappingURL=selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["selector.ts"],"names":["Selector","value","selector"],"mappings":"AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,QAAQ,GAAG,CACtBC,KADsB,EAEtBC,QAFsB,KAGY;AAClC,SAAO;AACLA,IAAAA,QADK;AAELD,IAAAA;AAFK,GAAP;AAID,CARM","sourcesContent":["import type { SkiaValue } from \"./types\";\n\nexport type SkiaSelector<TReturn, TInput = unknown> = {\n value: SkiaValue<TInput>;\n selector: (v: TInput) => TReturn;\n};\n\n/**\n * Wraps a Skia Value with a selector function. The selector function can access the\n * inner values of the Skia Value so that we can dynamically ready array values and\n * object values when doing animations in Skia.\n * @param value Dependant value\n * @param selector Selector function to calculate new value from the Skia Value's value\n * @returns A descriptor that will be used by the reconciler to calculate the value\n */\nexport const Selector = <TInput, TReturn>(\n value: SkiaValue<TInput>,\n selector: (v: TInput) => TReturn\n): SkiaSelector<TReturn, TInput> => {\n return {\n selector,\n value,\n };\n};\n"]}
@@ -35,6 +35,14 @@ export class RNSkComputedValue extends RNSkReadonlyValue {
35
35
 
36
36
  unsubscribe() {
37
37
  this._unsubscribers.forEach(unsubscribe => unsubscribe());
38
+
39
+ this._unsubscribers = [];
40
+ }
41
+
42
+ __invalidate() {
43
+ this._unsubscribers.forEach(unsubscribe => unsubscribe());
44
+
45
+ this._unsubscribers = [];
38
46
  }
39
47
 
40
48
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["RNSkComputedValue.ts"],"names":["RNSkReadonlyValue","RNSkComputedValue","constructor","callback","dependencies","unsubscribers","notifyUpdateRef","current","undefined","forEach","dep","push","addListener","_unsubscribers","dependecyUpdated","bind","_callback","update","unsubscribe"],"mappings":";;AAEA,SAASA,iBAAT,QAAkC,qBAAlC;AAEA,OAAO,MAAMC,iBAAN,SAAmCD,iBAAnC,CAAwD;AAC7DE,EAAAA,WAAW,CAACC,QAAD,EAAoBC,YAApB,EAAkD;AAC3D;AACA;AACA,UAAMC,aAAgC,GAAG,EAAzC;AACA,UAAMC,eAAsD,GAAG;AAC7DC,MAAAA,OAAO,EAAEC;AADoD,KAA/D;AAGAJ,IAAAA,YAAY,CAACK,OAAb,CAAsBC,GAAD,IAAS;AAC5B,UAAI,kBAAkBA,GAAlB,IAAyB,iBAAiBA,GAA9C,EAAmD;AACjDL,QAAAA,aAAa,CAACM,IAAd,CACGD,GAAD,CAAoCE,WAApC,CAAgD;AAAA;;AAAA,0CAC9CN,eAAe,CAACC,OAD8B,0DAC9C,2BAAAD,eAAe,CAD+B;AAAA,SAAhD,CADF;AAKD;AACF,KARD;AASA,UAAMH,QAAQ,EAAd;;AAhB2D;;AAAA;;AAiB3D,SAAKU,cAAL,GAAsBR,aAAtB;AACAC,IAAAA,eAAe,CAACC,OAAhB,GAA0B,KAAKO,gBAAL,CAAsBC,IAAtB,CAA2B,IAA3B,CAA1B;AACA,SAAKC,SAAL,GAAiBb,QAAjB;AACD;;AAEOW,EAAAA,gBAAgB,GAAG;AACzB,SAAKG,MAAL,CAAY,KAAKD,SAAL,EAAZ;AACD;;AAKME,EAAAA,WAAW,GAAG;AACnB,SAAKL,cAAL,CAAoBJ,OAApB,CAA6BS,WAAD,IAAiBA,WAAW,EAAxD;AACD;;AAhC4D","sourcesContent":["import type { DependencyList } from \"react\";\n\nimport { RNSkReadonlyValue } from \"./RNSkReadonlyValue\";\n\nexport class RNSkComputedValue<T> extends RNSkReadonlyValue<T> {\n constructor(callback: () => T, dependencies: DependencyList) {\n // Initialize dependencies - we can't call this yet, since\n // super if not called and it requires a start value to be set.\n const unsubscribers: Array<() => void> = [];\n const notifyUpdateRef: { current: (() => void) | undefined } = {\n current: undefined,\n };\n dependencies.forEach((dep) => {\n if (\"__typename__\" in dep && \"addListener\" in dep) {\n unsubscribers.push(\n (dep as RNSkReadonlyValue<unknown>).addListener(() =>\n notifyUpdateRef.current?.()\n )\n );\n }\n });\n super(callback());\n this._unsubscribers = unsubscribers;\n notifyUpdateRef.current = this.dependecyUpdated.bind(this);\n this._callback = callback;\n }\n\n private dependecyUpdated() {\n this.update(this._callback());\n }\n\n private _callback: () => T;\n private _unsubscribers: Array<() => void>;\n\n public unsubscribe() {\n this._unsubscribers.forEach((unsubscribe) => unsubscribe());\n }\n}\n"]}
1
+ {"version":3,"sources":["RNSkComputedValue.ts"],"names":["RNSkReadonlyValue","RNSkComputedValue","constructor","callback","dependencies","unsubscribers","notifyUpdateRef","current","undefined","forEach","dep","push","addListener","_unsubscribers","dependecyUpdated","bind","_callback","update","unsubscribe","__invalidate"],"mappings":";;AAEA,SAASA,iBAAT,QAAkC,qBAAlC;AAEA,OAAO,MAAMC,iBAAN,SAAmCD,iBAAnC,CAAwD;AAC7DE,EAAAA,WAAW,CAACC,QAAD,EAAoBC,YAApB,EAAkD;AAC3D;AACA;AACA,UAAMC,aAAgC,GAAG,EAAzC;AACA,UAAMC,eAAsD,GAAG;AAC7DC,MAAAA,OAAO,EAAEC;AADoD,KAA/D;AAGAJ,IAAAA,YAAY,CAACK,OAAb,CAAsBC,GAAD,IAAS;AAC5B,UAAI,kBAAkBA,GAAlB,IAAyB,iBAAiBA,GAA9C,EAAmD;AACjDL,QAAAA,aAAa,CAACM,IAAd,CACGD,GAAD,CAAoCE,WAApC,CAAgD;AAAA;;AAAA,0CAC9CN,eAAe,CAACC,OAD8B,0DAC9C,2BAAAD,eAAe,CAD+B;AAAA,SAAhD,CADF;AAKD;AACF,KARD;AASA,UAAMH,QAAQ,EAAd;;AAhB2D;;AAAA;;AAiB3D,SAAKU,cAAL,GAAsBR,aAAtB;AACAC,IAAAA,eAAe,CAACC,OAAhB,GAA0B,KAAKO,gBAAL,CAAsBC,IAAtB,CAA2B,IAA3B,CAA1B;AACA,SAAKC,SAAL,GAAiBb,QAAjB;AACD;;AAEOW,EAAAA,gBAAgB,GAAG;AACzB,SAAKG,MAAL,CAAY,KAAKD,SAAL,EAAZ;AACD;;AAKME,EAAAA,WAAW,GAAG;AACnB,SAAKL,cAAL,CAAoBJ,OAApB,CAA6BS,WAAD,IAAiBA,WAAW,EAAxD;;AACA,SAAKL,cAAL,GAAsB,EAAtB;AACD;;AAEMM,EAAAA,YAAY,GAAS;AAC1B,SAAKN,cAAL,CAAoBJ,OAApB,CAA6BS,WAAD,IAAiBA,WAAW,EAAxD;;AACA,SAAKL,cAAL,GAAsB,EAAtB;AACD;;AAtC4D","sourcesContent":["import type { DependencyList } from \"react\";\n\nimport { RNSkReadonlyValue } from \"./RNSkReadonlyValue\";\n\nexport class RNSkComputedValue<T> extends RNSkReadonlyValue<T> {\n constructor(callback: () => T, dependencies: DependencyList) {\n // Initialize dependencies - we can't call this yet, since\n // super if not called and it requires a start value to be set.\n const unsubscribers: Array<() => void> = [];\n const notifyUpdateRef: { current: (() => void) | undefined } = {\n current: undefined,\n };\n dependencies.forEach((dep) => {\n if (\"__typename__\" in dep && \"addListener\" in dep) {\n unsubscribers.push(\n (dep as RNSkReadonlyValue<unknown>).addListener(() =>\n notifyUpdateRef.current?.()\n )\n );\n }\n });\n super(callback());\n this._unsubscribers = unsubscribers;\n notifyUpdateRef.current = this.dependecyUpdated.bind(this);\n this._callback = callback;\n }\n\n private dependecyUpdated() {\n this.update(this._callback());\n }\n\n private _callback: () => T;\n private _unsubscribers: Array<() => void>;\n\n public unsubscribe() {\n this._unsubscribers.forEach((unsubscribe) => unsubscribe());\n this._unsubscribers = [];\n }\n\n public __invalidate(): void {\n this._unsubscribers.forEach((unsubscribe) => unsubscribe());\n this._unsubscribers = [];\n }\n}\n"]}
@@ -32,5 +32,9 @@ export class RNSkReadonlyValue {
32
32
  };
33
33
  }
34
34
 
35
+ __invalidate() {
36
+ this._listeners = [];
37
+ }
38
+
35
39
  }
36
40
  //# sourceMappingURL=RNSkReadonlyValue.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["RNSkReadonlyValue.ts"],"names":["RNSkReadonlyValue","constructor","value","_current","notifyListeners","_listeners","forEach","cb","update","nextValue","current","addListener","push","splice","indexOf"],"mappings":";;AAEA,OAAO,MAAMA,iBAAN,CAAmD;AACxDC,EAAAA,WAAW,CAACC,KAAD,EAAW;AAAA;;AAAA,wCAK0B,EAL1B;;AAAA,0CAgBS,WAhBT;;AACpB,SAAKC,QAAL,GAAgBD,KAAhB;AACD;;AAKOE,EAAAA,eAAe,GAAS;AAC9B,SAAKC,UAAL,CAAgBC,OAAhB,CAAyBC,EAAD,IAAQA,EAAE,CAAC,KAAKJ,QAAN,CAAlC;AACD;;AAESK,EAAAA,MAAM,CAACC,SAAD,EAAqB;AACnC,SAAKN,QAAL,GAAgBM,SAAhB;AACA,SAAKL,eAAL;AACD;;AAIiB,MAAPM,OAAO,GAAM;AACtB,WAAO,KAAKP,QAAZ;AACD;;AAEMQ,EAAAA,WAAW,CAACJ,EAAD,EAAyB;AACzC,SAAKF,UAAL,CAAgBO,IAAhB,CAAqBL,EAArB;;AACA,WAAO,MAAM;AACX,WAAKF,UAAL,CAAgBQ,MAAhB,CAAuB,KAAKR,UAAL,CAAgBS,OAAhB,CAAwBP,EAAxB,CAAvB,EAAoD,CAApD;AACD,KAFD;AAGD;;AA5BuD","sourcesContent":["import type { SkiaValue } from \"../types\";\n\nexport class RNSkReadonlyValue<T> implements SkiaValue<T> {\n constructor(value: T) {\n this._current = value;\n }\n\n private _current: T;\n private _listeners: Array<(value: T) => void> = [];\n\n private notifyListeners(): void {\n this._listeners.forEach((cb) => cb(this._current));\n }\n\n protected update(nextValue: T): void {\n this._current = nextValue;\n this.notifyListeners();\n }\n\n public readonly __typename__ = \"RNSkValue\";\n\n public get current(): T {\n return this._current;\n }\n\n public addListener(cb: (value: T) => void) {\n this._listeners.push(cb);\n return () => {\n this._listeners.splice(this._listeners.indexOf(cb), 1);\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["RNSkReadonlyValue.ts"],"names":["RNSkReadonlyValue","constructor","value","_current","notifyListeners","_listeners","forEach","cb","update","nextValue","current","addListener","push","splice","indexOf","__invalidate"],"mappings":";;AAEA,OAAO,MAAMA,iBAAN,CAAmD;AACxDC,EAAAA,WAAW,CAACC,KAAD,EAAW;AAAA;;AAAA,wCAK0B,EAL1B;;AAAA,0CAgBS,WAhBT;;AACpB,SAAKC,QAAL,GAAgBD,KAAhB;AACD;;AAKOE,EAAAA,eAAe,GAAS;AAC9B,SAAKC,UAAL,CAAgBC,OAAhB,CAAyBC,EAAD,IAAQA,EAAE,CAAC,KAAKJ,QAAN,CAAlC;AACD;;AAESK,EAAAA,MAAM,CAACC,SAAD,EAAqB;AACnC,SAAKN,QAAL,GAAgBM,SAAhB;AACA,SAAKL,eAAL;AACD;;AAIiB,MAAPM,OAAO,GAAM;AACtB,WAAO,KAAKP,QAAZ;AACD;;AAEMQ,EAAAA,WAAW,CAACJ,EAAD,EAAyB;AACzC,SAAKF,UAAL,CAAgBO,IAAhB,CAAqBL,EAArB;;AACA,WAAO,MAAM;AACX,WAAKF,UAAL,CAAgBQ,MAAhB,CAAuB,KAAKR,UAAL,CAAgBS,OAAhB,CAAwBP,EAAxB,CAAvB,EAAoD,CAApD;AACD,KAFD;AAGD;;AAEMQ,EAAAA,YAAY,GAAS;AAC1B,SAAKV,UAAL,GAAkB,EAAlB;AACD;;AAhCuD","sourcesContent":["import type { SkiaValue } from \"../types\";\n\nexport class RNSkReadonlyValue<T> implements SkiaValue<T> {\n constructor(value: T) {\n this._current = value;\n }\n\n private _current: T;\n private _listeners: Array<(value: T) => void> = [];\n\n private notifyListeners(): void {\n this._listeners.forEach((cb) => cb(this._current));\n }\n\n protected update(nextValue: T): void {\n this._current = nextValue;\n this.notifyListeners();\n }\n\n public readonly __typename__ = \"RNSkValue\";\n\n public get current(): T {\n return this._current;\n }\n\n public addListener(cb: (value: T) => void) {\n this._listeners.push(cb);\n return () => {\n this._listeners.splice(this._listeners.indexOf(cb), 1);\n };\n }\n\n public __invalidate(): void {\n this._listeners = [];\n }\n}\n"]}
@@ -1,7 +1,12 @@
1
- import type { SkiaValue } from "../../../values";
1
+ import type { SkiaSelector, SkiaValue } from "../../../values";
2
2
  export declare const isValue: (value: unknown) => value is SkiaValue<unknown>;
3
+ export declare const isSelector: <T, R>(value: unknown) => value is {
4
+ selector: (v: T) => R;
5
+ value: SkiaValue<T>;
6
+ };
3
7
  export declare const isAnimated: <T>(props: AnimatedProps<T>) => boolean;
4
8
  export declare const materialize: <T>(props: AnimatedProps<T>) => T;
9
+ export declare type AnimatedProp<T, P = any> = T | SkiaValue<T> | SkiaSelector<T, P>;
5
10
  export declare type AnimatedProps<T> = {
6
- [K in keyof T]: T[K] | SkiaValue<T[K]>;
11
+ [K in keyof T]: AnimatedProp<T[K]>;
7
12
  };
@@ -1,5 +1,3 @@
1
- import type { DependencyList } from "react";
2
- import type { SkData, DataSource } from "../types";
3
- export declare const useDataCollection: <T>(sources: DataSource[], factory: (data: SkData) => T, onError?: ((err: Error) => void) | undefined, deps?: DependencyList | undefined) => (T | null)[] | null;
4
- export declare const useRawData: <T>(source: DataSource | null | undefined, factory: (data: SkData) => T, onError?: ((err: Error) => void) | undefined, deps?: DependencyList | undefined) => T | null;
5
- export declare const useData: (source: DataSource | null | undefined, onError?: ((err: Error) => void) | undefined, deps?: DependencyList | undefined) => SkData | null;
1
+ import type { SkData, DataSourceParam } from "../types";
2
+ export declare const useRawData: <T>(source: DataSourceParam, factory: (data: SkData) => T, onError?: ((err: Error) => void) | undefined) => T | null;
3
+ export declare const useData: (source: DataSourceParam, onError?: ((err: Error) => void) | undefined) => SkData | null;
@@ -1,5 +1,5 @@
1
- import type { DataSource, SkFont } from "../types";
1
+ import type { DataSourceParam } from "../types";
2
2
  /**
3
3
  * Returns a Skia Font object
4
4
  * */
5
- export declare const useFont: (font: DataSource | null | undefined, size?: number | undefined, onError?: ((err: Error) => void) | undefined) => SkFont | null;
5
+ export declare const useFont: (font: DataSourceParam, size?: number | undefined, onError?: ((err: Error) => void) | undefined) => import("../types").SkFont | null;
@@ -1,5 +1,5 @@
1
- import type { DataSource } from "../types";
1
+ import type { DataSourceParam } from "../types";
2
2
  /**
3
3
  * Returns a Skia Image object
4
4
  * */
5
- export declare const useImage: (source: DataSource | null | undefined, onError?: ((err: Error) => void) | undefined) => import("../types").SkImage | null;
5
+ export declare const useImage: (source: DataSourceParam, onError?: ((err: Error) => void) | undefined) => import("../types").SkImage | null;
@@ -1,2 +1,2 @@
1
- import type { DataSource } from "../types";
2
- export declare const useSVG: (source: DataSource | null | undefined, onError?: ((err: Error) => void) | undefined) => import("../types").SkSVG | null;
1
+ import type { DataSourceParam } from "../types";
2
+ export declare const useSVG: (source: DataSourceParam, onError?: ((err: Error) => void) | undefined) => import("../types").SkSVG | null;
@@ -1,5 +1,5 @@
1
- import type { DataSource } from "../types";
1
+ import type { DataSourceParam } from "../types";
2
2
  /**
3
3
  * Returns a Skia Typeface object
4
4
  * */
5
- export declare const useTypeface: (source: DataSource | null | undefined, onError?: ((err: Error) => void) | undefined) => import("../types").SkTypeface | null;
5
+ export declare const useTypeface: (source: DataSourceParam, onError?: ((err: Error) => void) | undefined) => import("../types").SkTypeface | null;
@@ -1,5 +1,12 @@
1
- /// <reference types="node" />
2
- /// <reference types="react-native" />
3
1
  import type { SkJSIInstance } from "../JsiInstance";
4
2
  export declare type SkData = SkJSIInstance<"Data">;
5
- export declare type DataSource = ReturnType<typeof require> | string | Uint8Array;
3
+ declare type RNModule = number;
4
+ declare type ESModule = {
5
+ __esModule: true;
6
+ default: string;
7
+ };
8
+ export declare type DataModule = RNModule | ESModule;
9
+ export declare type DataSource = DataModule | string | Uint8Array;
10
+ export declare type DataSourceParam = DataSource | null | undefined;
11
+ export declare const isRNModule: (mod: DataModule) => mod is number;
12
+ export {};
@@ -3,6 +3,7 @@ import type { SkRRect } from "../types";
3
3
  import { HostObject } from "./Host";
4
4
  import { JsiSkRect } from "./JsiSkRect";
5
5
  export declare class JsiSkRRect extends HostObject<RRect, "RRect"> implements SkRRect {
6
+ static fromValue(CanvasKit: CanvasKit, rect: SkRRect): Float32Array;
6
7
  constructor(CanvasKit: CanvasKit, ref: RRect);
7
8
  get rx(): number;
8
9
  get ry(): number;
@@ -2,7 +2,7 @@ import type { CanvasKit, Rect } from "canvaskit-wasm";
2
2
  import type { SkRect } from "../types";
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkRect extends HostObject<Rect, "Rect"> implements SkRect {
5
- static fromValue(CanvasKit: CanvasKit, rect: SkRect): JsiSkRect;
5
+ static fromValue(CanvasKit: CanvasKit, rect: SkRect): Float32Array;
6
6
  constructor(CanvasKit: CanvasKit, ref: Rect);
7
7
  get x(): number;
8
8
  get y(): number;
@@ -1,3 +1,4 @@
1
1
  export * from "./types";
2
2
  export * from "./hooks";
3
3
  export * from "./api";
4
+ export * from "./selector";
@@ -0,0 +1,14 @@
1
+ import type { SkiaValue } from "./types";
2
+ export declare type SkiaSelector<TReturn, TInput = unknown> = {
3
+ value: SkiaValue<TInput>;
4
+ selector: (v: TInput) => TReturn;
5
+ };
6
+ /**
7
+ * Wraps a Skia Value with a selector function. The selector function can access the
8
+ * inner values of the Skia Value so that we can dynamically ready array values and
9
+ * object values when doing animations in Skia.
10
+ * @param value Dependant value
11
+ * @param selector Selector function to calculate new value from the Skia Value's value
12
+ * @returns A descriptor that will be used by the reconciler to calculate the value
13
+ */
14
+ export declare const Selector: <TInput, TReturn>(value: SkiaValue<TInput>, selector: (v: TInput) => TReturn) => SkiaSelector<TReturn, TInput>;
@@ -8,6 +8,10 @@ export interface SkiaValue<T = number> {
8
8
  * Returns unsubscribe method.
9
9
  */
10
10
  addListener: (cb: (value: T) => void) => () => void;
11
+ /**
12
+ * Invalidates the value. Has different meaning depending on the type of the value.
13
+ */
14
+ __invalidate: () => void;
11
15
  /**
12
16
  * Field to make typechecking easier
13
17
  */
@@ -6,4 +6,5 @@ export declare class RNSkComputedValue<T> extends RNSkReadonlyValue<T> {
6
6
  private _callback;
7
7
  private _unsubscribers;
8
8
  unsubscribe(): void;
9
+ __invalidate(): void;
9
10
  }
@@ -8,4 +8,5 @@ export declare class RNSkReadonlyValue<T> implements SkiaValue<T> {
8
8
  readonly __typename__ = "RNSkValue";
9
9
  get current(): T;
10
10
  addListener(cb: (value: T) => void): () => void;
11
+ __invalidate(): void;
11
12
  }
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "setup-skia-web": "./scripts/setup-canvaskit.js"
8
8
  },
9
9
  "title": "React Native Skia",
10
- "version": "0.1.141",
10
+ "version": "0.1.142",
11
11
  "description": "High-performance React Native Graphics using Skia",
12
12
  "main": "lib/module/index.js",
13
13
  "files": [
@@ -37,7 +37,7 @@
37
37
  ],
38
38
  "scripts": {
39
39
  "tsc": "tsc --noEmit",
40
- "lint": "eslint . --ext .ts,.tsx --max-warnings 0",
40
+ "lint": "eslint . --ext .ts,.tsx --max-warnings 0 --cache",
41
41
  "test": "jest",
42
42
  "postinstall": "node scripts/install-npm.js",
43
43
  "build": "bob build"
package/src/mock/index.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  import type { Color, Skia as SkiaApi, SkRect, Vector } from "../skia/types";
4
4
  import * as Values from "../values/web";
5
5
  import * as ValuesHooks from "../values/hooks";
6
+ import { Selector } from "../values/selector";
6
7
  import * as BaseSkia from "../skia/types";
7
8
  import type * as SkiaExports from "../skia";
8
9
  import type * as ExternalExports from "../external";
@@ -46,7 +47,6 @@ export const Mock: typeof SkiaExports &
46
47
  Skia,
47
48
  ...BaseSkia,
48
49
  // 2. Hooks
49
- useDataCollection: Noop,
50
50
  useRawData: Noop,
51
51
  useData: Noop,
52
52
  useFont: Noop,
@@ -87,6 +87,7 @@ export const Mock: typeof SkiaExports &
87
87
  // ValueExports
88
88
  ...Values,
89
89
  ...ValuesHooks,
90
+ Selector,
90
91
  // Animations
91
92
  ...timingFunctions,
92
93
  ...springFunctions,