diff --git a/src/core/ReferencedAssets.ts b/src/core/ReferencedAssets.ts new file mode 100644 index 00000000..53d85c0c --- /dev/null +++ b/src/core/ReferencedAssets.ts @@ -0,0 +1,11 @@ +import type { ResolvedReferencedAsset } from '../specs/RiveFile.nitro'; + +export type ReferencedAsset = { source: number | { uri: string } }; + +export interface ReferencedAssets { + [assetName: string]: ReferencedAsset; +} + +export type ResolvedReferencedAssets = { + [assetName: string]: ResolvedReferencedAsset; +}; diff --git a/src/core/RiveFile.ts b/src/core/RiveFile.ts index 8be1ccfe..3d9a3b1a 100644 --- a/src/core/RiveFile.ts +++ b/src/core/RiveFile.ts @@ -7,7 +7,7 @@ import type { // This import path isn't handled by @types/react-native // @ts-ignore import resolveAssetSource from 'react-native/Libraries/Image/resolveAssetSource'; -import type { ResolvedReferencedAssets } from '../hooks/useRiveFile'; +import type { ResolvedReferencedAssets } from './ReferencedAssets'; const RiveFileInternal = NitroModules.createHybridObject('RiveFileFactory'); diff --git a/src/hooks/useRiveFile.ts b/src/hooks/useRiveFile.ts index 5eea5525..f596509f 100644 --- a/src/hooks/useRiveFile.ts +++ b/src/hooks/useRiveFile.ts @@ -1,20 +1,19 @@ import { useState, useEffect, useMemo, useRef } from 'react'; import { Image } from 'react-native'; -import { RiveFileFactory, type RiveFile } from '../index'; -import type { ResolvedReferencedAsset } from '../specs/RiveFile.nitro'; - +import { RiveFileFactory } from '../core/RiveFile'; +import type { + RiveFile, + ResolvedReferencedAsset, +} from '../specs/RiveFile.nitro'; +import type { + ReferencedAsset, + ReferencedAssets, + ResolvedReferencedAssets, +} from '../core/ReferencedAssets'; + +export type { ReferencedAssets, ResolvedReferencedAssets }; export type RiveFileInput = number | { uri: string } | string | ArrayBuffer; -type ReferencedAsset = { source: number | { uri: string } }; - -export interface ReferencedAssets { - [assetName: string]: ReferencedAsset; -} - -export type ResolvedReferencedAssets = { - [assetName: string]: ResolvedReferencedAsset; -}; - export type UseRiveFileOptions = { referencedAssets?: ReferencedAssets; };