@rive-app/react-native 0.1.2 → 0.1.3

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.
@@ -4,6 +4,9 @@ import { useState, useEffect, useMemo, useRef } from 'react';
4
4
  import { Image } from 'react-native';
5
5
  import { RiveFileFactory } from "../core/RiveFile.js";
6
6
  import { callDispose } from "../core/callDispose.js";
7
+ function isUriInput(input) {
8
+ return input != null && typeof input === 'object' && 'uri' in input;
9
+ }
7
10
  function isRiveImage(value) {
8
11
  return value !== null && typeof value === 'object' && '__type' in value && value.__type === 'HybridObject<RiveImage>';
9
12
  }
@@ -61,11 +64,15 @@ export function useRiveFile(input, options = {}) {
61
64
  });
62
65
  const referencedAssets = useMemo(() => transformFilesHandledMapping(options.referencedAssets), [options.referencedAssets]);
63
66
  const initialReferencedAssets = useRef(referencedAssets);
67
+ const inputKind = isUriInput(input) ? 'uri' : 'primitive';
68
+ const inputValue = isUriInput(input) ? input.uri : input;
64
69
  useEffect(() => {
65
70
  let currentFile = null;
66
71
  const loadRiveFile = async () => {
67
72
  try {
68
- const currentInput = input;
73
+ const currentInput = inputKind === 'uri' ? {
74
+ uri: inputValue
75
+ } : inputValue;
69
76
  if (currentInput == null) {
70
77
  setResult({
71
78
  riveFile: null,
@@ -105,7 +112,7 @@ export function useRiveFile(input, options = {}) {
105
112
  callDispose(currentFile);
106
113
  }
107
114
  };
108
- }, [input]);
115
+ }, [inputKind, inputValue]);
109
116
  const {
110
117
  riveFile
111
118
  } = result;
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","useMemo","useRef","Image","RiveFileFactory","callDispose","isRiveImage","value","__type","parsePossibleSources","asset","image","source","resolvedAsset","resolveAssetSource","uri","sourceAssetId","Error","sourceUrl","fileName","path","result","sourceAsset","transformFilesHandledMapping","mapping","transformedMapping","undefined","Object","entries","forEach","key","useRiveFile","input","options","setResult","riveFile","isLoading","error","referencedAssets","initialReferencedAssets","currentFile","loadRiveFile","currentInput","startsWith","fromURL","current","fromResource","fromSource","ArrayBuffer","fromBytes","err","console","message","updateReferencedAssets","data"],"sourceRoot":"../../../src","sources":["hooks/useRiveFile.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","useEffect","useMemo","useRef","Image","RiveFileFactory","callDispose","isUriInput","input","isRiveImage","value","__type","parsePossibleSources","asset","image","source","resolvedAsset","resolveAssetSource","uri","sourceAssetId","Error","sourceUrl","fileName","path","result","sourceAsset","transformFilesHandledMapping","mapping","transformedMapping","undefined","Object","entries","forEach","key","useRiveFile","options","setResult","riveFile","isLoading","error","referencedAssets","initialReferencedAssets","inputKind","inputValue","currentFile","loadRiveFile","currentInput","startsWith","fromURL","current","fromResource","fromSource","ArrayBuffer","fromBytes","err","console","message","updateReferencedAssets","data"],"sourceRoot":"../../../src","sources":["hooks/useRiveFile.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"useRiveFile.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useRiveFile.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,QAAQ,EAET,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAEV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,WAAW,CAAC;AAE5E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AA+DF,KAAK,kBAAkB,GACnB;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACrD;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GAChD;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,wBAAgB,WAAW,CACzB,KAAK,EAAE,aAAa,GAAG,SAAS,EAChC,OAAO,GAAE,kBAAuB,GAC/B,kBAAkB,CA4FpB"}
1
+ {"version":3,"file":"useRiveFile.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useRiveFile.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,QAAQ,EAET,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAEV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;AAC3D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,WAAW,CAAC;AAQ5E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AA+DF,KAAK,kBAAkB,GACnB;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GACrD;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAE,GAChD;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,wBAAgB,WAAW,CACzB,KAAK,EAAE,aAAa,GAAG,SAAS,EAChC,OAAO,GAAE,kBAAuB,GAC/B,kBAAkB,CAkGpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rive-app/react-native",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Rive React Native",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -189,5 +189,9 @@
189
189
  "languages": "kotlin-swift",
190
190
  "type": "nitro-module",
191
191
  "version": "0.50.2"
192
+ },
193
+ "resolutions": {
194
+ "core-js-compat": "^3.40.0",
195
+ "browserslist": "^4.24.4"
192
196
  }
193
197
  }
@@ -16,6 +16,12 @@ import type {
16
16
  export type { ReferencedAssets, ResolvedReferencedAssets };
17
17
  export type RiveFileInput = number | { uri: string } | string | ArrayBuffer;
18
18
 
19
+ function isUriInput(
20
+ input: RiveFileInput | undefined
21
+ ): input is { uri: string } {
22
+ return input != null && typeof input === 'object' && 'uri' in input;
23
+ }
24
+
19
25
  export type UseRiveFileOptions = {
20
26
  referencedAssets?: ReferencedAssets;
21
27
  };
@@ -101,12 +107,18 @@ export function useRiveFile(
101
107
  );
102
108
  const initialReferencedAssets = useRef(referencedAssets);
103
109
 
110
+ const inputKind = isUriInput(input) ? 'uri' : 'primitive';
111
+ const inputValue = isUriInput(input) ? input.uri : input;
112
+
104
113
  useEffect(() => {
105
114
  let currentFile: RiveFile | null = null;
106
115
 
107
116
  const loadRiveFile = async () => {
108
117
  try {
109
- const currentInput = input;
118
+ const currentInput =
119
+ inputKind === 'uri'
120
+ ? { uri: inputValue as string }
121
+ : (inputValue as Exclude<RiveFileInput, { uri: string }>);
110
122
 
111
123
  if (currentInput == null) {
112
124
  setResult({
@@ -164,7 +176,7 @@ export function useRiveFile(
164
176
  callDispose(currentFile);
165
177
  }
166
178
  };
167
- }, [input]);
179
+ }, [inputKind, inputValue]);
168
180
 
169
181
  const { riveFile } = result;
170
182
  useEffect(() => {