@kiosinc/commons-rn 0.1.69 → 0.1.71

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 (42) hide show
  1. package/lib/commonjs/components/FirebaseMedia.js +101 -0
  2. package/lib/commonjs/components/FirebaseMedia.js.map +1 -0
  3. package/lib/commonjs/components/Header.js +5 -5
  4. package/lib/commonjs/components/Header.js.map +1 -1
  5. package/lib/commonjs/components/index.js +7 -0
  6. package/lib/commonjs/components/index.js.map +1 -1
  7. package/lib/commonjs/helpers/AssetManager.js +104 -0
  8. package/lib/commonjs/helpers/AssetManager.js.map +1 -0
  9. package/lib/commonjs/hooks/useCustomer.js +1 -3
  10. package/lib/commonjs/hooks/useCustomer.js.map +1 -1
  11. package/lib/commonjs/index.js +8 -0
  12. package/lib/commonjs/index.js.map +1 -1
  13. package/lib/module/components/FirebaseMedia.js +92 -0
  14. package/lib/module/components/FirebaseMedia.js.map +1 -0
  15. package/lib/module/components/Header.js +5 -5
  16. package/lib/module/components/Header.js.map +1 -1
  17. package/lib/module/components/index.js +1 -0
  18. package/lib/module/components/index.js.map +1 -1
  19. package/lib/module/helpers/AssetManager.js +96 -0
  20. package/lib/module/helpers/AssetManager.js.map +1 -0
  21. package/lib/module/hooks/useCustomer.js +1 -3
  22. package/lib/module/hooks/useCustomer.js.map +1 -1
  23. package/lib/module/index.js +1 -0
  24. package/lib/module/index.js.map +1 -1
  25. package/lib/typescript/src/components/FirebaseMedia.d.ts +13 -0
  26. package/lib/typescript/src/components/FirebaseMedia.d.ts.map +1 -0
  27. package/lib/typescript/src/components/Header.d.ts +3 -6
  28. package/lib/typescript/src/components/Header.d.ts.map +1 -1
  29. package/lib/typescript/src/components/index.d.ts +1 -0
  30. package/lib/typescript/src/components/index.d.ts.map +1 -1
  31. package/lib/typescript/src/helpers/AssetManager.d.ts +29 -0
  32. package/lib/typescript/src/helpers/AssetManager.d.ts.map +1 -0
  33. package/lib/typescript/src/hooks/useCustomer.d.ts.map +1 -1
  34. package/lib/typescript/src/index.d.ts +1 -0
  35. package/lib/typescript/src/index.d.ts.map +1 -1
  36. package/package.json +3 -1
  37. package/src/components/FirebaseMedia.tsx +130 -0
  38. package/src/components/Header.tsx +6 -10
  39. package/src/components/index.ts +1 -0
  40. package/src/helpers/AssetManager.ts +138 -0
  41. package/src/hooks/useCustomer.ts +1 -3
  42. package/src/index.tsx +1 -0
@@ -0,0 +1,96 @@
1
+ import FastImage from 'react-native-fast-image';
2
+ import storage from '@react-native-firebase/storage';
3
+ import ReactNativeBlobUtil from 'react-native-blob-util';
4
+ export class AssetManager {
5
+ static assetCache = {};
6
+ static async clearCache() {
7
+ await FastImage.clearDiskCache();
8
+ await FastImage.clearMemoryCache();
9
+ }
10
+ static async uploadImage({
11
+ uri,
12
+ base64,
13
+ path,
14
+ type,
15
+ setProgress
16
+ }) {
17
+ const reference = storage().ref(path);
18
+ const task = type === 'image' ? reference.putString(base64, storage.StringFormat.BASE64, {
19
+ cacheControl: 'no-store'
20
+ }) : reference.putFile(uri, {
21
+ cacheControl: 'no-store'
22
+ });
23
+ let previousTime = Date.now();
24
+ let previousBytesTransferred = 0;
25
+ let speed = '0';
26
+ task.on('state_changed', taskSnapshot => {
27
+ const currentTime = Date.now();
28
+ const currentBytesTransferred = taskSnapshot.bytesTransferred;
29
+ const timeDifference = (currentTime - previousTime) / 1000;
30
+ const bytesDifference = currentBytesTransferred - previousBytesTransferred;
31
+ if (timeDifference > 0 && bytesDifference >= 0) {
32
+ const uploadSpeedMegabytesPerSecond = bytesDifference / timeDifference / 1024 / 1024; // Mb per second
33
+
34
+ if (uploadSpeedMegabytesPerSecond > 0) {
35
+ speed = uploadSpeedMegabytesPerSecond.toFixed(1) + '';
36
+ }
37
+ // Update previous values
38
+ previousTime = currentTime;
39
+ previousBytesTransferred = currentBytesTransferred;
40
+ }
41
+ setProgress({
42
+ percentage: Math.ceil(taskSnapshot.bytesTransferred / taskSnapshot.totalBytes * 100) + '',
43
+ speed: speed
44
+ });
45
+ });
46
+ const taskSnapshot = await task;
47
+ await reference.updateMetadata({
48
+ customMetadata: {
49
+ type: type
50
+ }
51
+ });
52
+ const url = await reference.toString();
53
+ return {
54
+ taskSnapshot: taskSnapshot,
55
+ url: url
56
+ };
57
+ }
58
+ static async downloadImage(url, path) {
59
+ const dirs = ReactNativeBlobUtil.fs.dirs;
60
+ const res = await ReactNativeBlobUtil.config({
61
+ path: dirs.DocumentDir + path
62
+ }).fetch('GET', url);
63
+ return res.base64();
64
+ }
65
+ static async fileExists(path) {
66
+ const documentDir = ReactNativeBlobUtil.fs.dirs.DocumentDir;
67
+ return await ReactNativeBlobUtil.fs.exists(documentDir + path);
68
+ }
69
+ static async getBase64(path) {
70
+ const documentDir = ReactNativeBlobUtil.fs.dirs.DocumentDir;
71
+ return await ReactNativeBlobUtil.fs.readFile(documentDir + path, 'base64');
72
+ }
73
+ static async getAssetURL(path) {
74
+ try {
75
+ // Check if the URL is already cached
76
+ if (this.assetCache[path]) {
77
+ // Retrieving asset URL from cache for path
78
+ return this.assetCache[path];
79
+ }
80
+ // If not cached, fetch from storage and cache the result
81
+ const downloadURL = await storage().refFromURL(path).getDownloadURL();
82
+ const metaData = await storage().refFromURL(path).getMetadata();
83
+ const type = metaData?.customMetadata?.type ?? 'image';
84
+ const assetDetails = {
85
+ uri: downloadURL,
86
+ type
87
+ };
88
+ // Caching details
89
+ this.assetCache[path] = assetDetails;
90
+ return assetDetails;
91
+ } catch (e) {
92
+ return null;
93
+ }
94
+ }
95
+ }
96
+ //# sourceMappingURL=AssetManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FastImage","storage","ReactNativeBlobUtil","AssetManager","assetCache","clearCache","clearDiskCache","clearMemoryCache","uploadImage","uri","base64","path","type","setProgress","reference","ref","task","putString","StringFormat","BASE64","cacheControl","putFile","previousTime","Date","now","previousBytesTransferred","speed","on","taskSnapshot","currentTime","currentBytesTransferred","bytesTransferred","timeDifference","bytesDifference","uploadSpeedMegabytesPerSecond","toFixed","percentage","Math","ceil","totalBytes","updateMetadata","customMetadata","url","toString","downloadImage","dirs","fs","res","config","DocumentDir","fetch","fileExists","documentDir","exists","getBase64","readFile","getAssetURL","downloadURL","refFromURL","getDownloadURL","metaData","getMetadata","assetDetails","e"],"sourceRoot":"../../../src","sources":["helpers/AssetManager.ts"],"mappings":"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"}
@@ -143,12 +143,10 @@ export const useCustomerQueries = () => {
143
143
  useSaveCustomerCard: () => {
144
144
  const mutation = useMutation(async data => {
145
145
  if (isLoggedIn) {
146
- console.log('here in useSaveCustomerCard');
147
- const response = await saveCustomerCard({
146
+ await saveCustomerCard({
148
147
  uid: user?.uid,
149
148
  props: data
150
149
  });
151
- console.log('here in useSaveCustomerCard response', response.data);
152
150
  }
153
151
  }, {
154
152
  onError: err => Alert.show({
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useAuthentication","Alert","useMutation","useQuery","useQueryClient","firestore","uuid","connectSquareCustomer","connectSquareLoyalty","createCustomer","fetchLoyaltyRewards","fetchSquareLoyalty","getCustomer","saveCustomerAddress","saveCustomerCard","updateCustomerProfile","useMMKVString","MMKV_KEYS","queryKeys","useCustomerQueries","queryClient","user","selectedBusinessId","BUSINESS_ID","isLoggedIn","isAnonymous","invalidateQueries","LOYALTY","uid","useFetchCustomer","CUSTOMER","select","data","customer","useCreateCustomer","mutation","response","onError","err","show","title","code","description","message","createCustomerHook","mutateAsync","createCustomerLoading","isLoading","useUpdateCustomer","props","updateCustomer","mutate","updateCustomerLoading","useSaveCustomerAddress","address","useSaveAddress","saveAddressLoading","useFetchSavedCards","CARDS","payments","collection","orderBy","where","get","docs","length","map","payment","id","enabled","Boolean","useFetchSquareProgram","queryOptions","PROGRAM","programs","program","useFetchSquareLoyalty","res","useSaveCustomerCard","console","log","onSuccess","saveCard","saveCardLoading","useDisableCard","documentId","doc","update","isActive","disableCard","disableCardLoading","useConnectSquareLoyalty","businessId","idempotentKey","v4","connectLoyaltyLoading","useConnectSquareCustomer","connectSquare","connectSquareLoading","useFetchLoyaltyRewards","REWARDS"],"sourceRoot":"../../../src","sources":["hooks/useCustomer.ts"],"mappings":"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"}
1
+ {"version":3,"names":["useEffect","useAuthentication","Alert","useMutation","useQuery","useQueryClient","firestore","uuid","connectSquareCustomer","connectSquareLoyalty","createCustomer","fetchLoyaltyRewards","fetchSquareLoyalty","getCustomer","saveCustomerAddress","saveCustomerCard","updateCustomerProfile","useMMKVString","MMKV_KEYS","queryKeys","useCustomerQueries","queryClient","user","selectedBusinessId","BUSINESS_ID","isLoggedIn","isAnonymous","invalidateQueries","LOYALTY","uid","useFetchCustomer","CUSTOMER","select","data","customer","useCreateCustomer","mutation","response","onError","err","show","title","code","description","message","createCustomerHook","mutateAsync","createCustomerLoading","isLoading","useUpdateCustomer","props","updateCustomer","mutate","updateCustomerLoading","useSaveCustomerAddress","address","useSaveAddress","saveAddressLoading","useFetchSavedCards","CARDS","payments","collection","orderBy","where","get","docs","length","map","payment","id","enabled","Boolean","useFetchSquareProgram","queryOptions","PROGRAM","programs","program","useFetchSquareLoyalty","res","useSaveCustomerCard","onSuccess","saveCard","saveCardLoading","useDisableCard","documentId","doc","update","isActive","disableCard","disableCardLoading","useConnectSquareLoyalty","businessId","idempotentKey","v4","connectLoyaltyLoading","useConnectSquareCustomer","connectSquare","connectSquareLoading","useFetchLoyaltyRewards","REWARDS"],"sourceRoot":"../../../src","sources":["hooks/useCustomer.ts"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export { AssetManager } from './helpers/AssetManager';
1
2
  export { Currency } from './utils/currency';
2
3
  export { useCustomerQueries } from './hooks/useCustomer';
3
4
  export { useCheckCustomer } from './hooks/useCheckCustomer';
@@ -1 +1 @@
1
- {"version":3,"names":["Currency","useCustomerQueries","useCheckCustomer","SavedCards","useMultiSnapBottomSheetRef","TMultiSnapBottomSheetRef","useSingleSnapBottomSheetRef","TSingleSnapBottomSheetRef","multiply","a","b","Promise","resolve","Analytics"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,kBAAkB;AAE3C,SAASC,kBAAkB,QAAQ,qBAAqB;AACxD,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,UAAU,QAAQ,iCAAiC;AAE5D,SACEC,0BAA0B,EAC1BC,wBAAwB,QACnB,oCAAoC;AAC3C,SACEC,2BAA2B,EAC3BC,yBAAyB,QACpB,qCAAqC;AAE5C,OAAO,SAASC,QAAQA,CAACC,CAAS,EAAEC,CAAS,EAAmB;EAC9D,OAAOC,OAAO,CAACC,OAAO,CAACH,CAAC,GAAGC,CAAC,CAAC;AAC/B;AACA,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB,cAAc,kBAAkB;AAEhC,SAASG,SAAS,QAAQ,mBAAmB"}
1
+ {"version":3,"names":["AssetManager","Currency","useCustomerQueries","useCheckCustomer","SavedCards","useMultiSnapBottomSheetRef","TMultiSnapBottomSheetRef","useSingleSnapBottomSheetRef","TSingleSnapBottomSheetRef","multiply","a","b","Promise","resolve","Analytics"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,YAAY,QAAQ,wBAAwB;AACrD,SAASC,QAAQ,QAAQ,kBAAkB;AAE3C,SAASC,kBAAkB,QAAQ,qBAAqB;AACxD,SAASC,gBAAgB,QAAQ,0BAA0B;AAC3D,SAASC,UAAU,QAAQ,iCAAiC;AAE5D,SACEC,0BAA0B,EAC1BC,wBAAwB,QACnB,oCAAoC;AAC3C,SACEC,2BAA2B,EAC3BC,yBAAyB,QACpB,qCAAqC;AAE5C,OAAO,SAASC,QAAQA,CAACC,CAAS,EAAEC,CAAS,EAAmB;EAC9D,OAAOC,OAAO,CAACC,OAAO,CAACH,CAAC,GAAGC,CAAC,CAAC;AAC/B;AACA,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB,cAAc,kBAAkB;AAEhC,SAASG,SAAS,QAAQ,mBAAmB"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { FastImageProps } from 'react-native-fast-image';
3
+ import { SpacingProps, BorderProps, BackgroundColorProps, SpacingShorthandProps, LayoutProps, PositionProps, BackgroundColorShorthandProps } from '@shopify/restyle';
4
+ import { VideoProperties } from 'react-native-video';
5
+ import { ThemeType } from '../theme';
6
+ type RestyleProps = SpacingProps<ThemeType> & SpacingShorthandProps<ThemeType> & LayoutProps<ThemeType> & PositionProps<ThemeType> & BorderProps<ThemeType> & BackgroundColorProps<ThemeType> & BackgroundColorShorthandProps<ThemeType>;
7
+ type TFirebaseMedia = {
8
+ uri: string;
9
+ };
10
+ type Props = Omit<RestyleProps & FastImageProps & TFirebaseMedia & VideoProperties, 'source'>;
11
+ export declare const FirebaseMedia: React.MemoExoticComponent<({ uri, ...rest }: Props) => JSX.Element>;
12
+ export {};
13
+ //# sourceMappingURL=FirebaseMedia.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FirebaseMedia.d.ts","sourceRoot":"","sources":["../../../../src/components/FirebaseMedia.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAkB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,aAAa,EACb,6BAA6B,EAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAOrC,KAAK,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,GACzC,qBAAqB,CAAC,SAAS,CAAC,GAChC,WAAW,CAAC,SAAS,CAAC,GACtB,aAAa,CAAC,SAAS,CAAC,GACxB,WAAW,CAAC,SAAS,CAAC,GACtB,oBAAoB,CAAC,SAAS,CAAC,GAC/B,6BAA6B,CAAC,SAAS,CAAC,CAAC;AAE3C,KAAK,cAAc,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,KAAK,GAAG,IAAI,CACf,YAAY,GAAG,cAAc,GAAG,cAAc,GAAG,eAAe,EAChE,QAAQ,CACT,CAAC;AAEF,eAAO,MAAM,aAAa,+CAAiC,KAAK,iBAoF9D,CAAC"}
@@ -1,17 +1,14 @@
1
1
  import * as React from 'react';
2
- import { type GestureResponderEvent, type ViewProps } from 'react-native';
2
+ import { type ViewProps } from 'react-native';
3
3
  import { type SpacingProps, type BorderProps, type BackgroundColorProps, type SpacingShorthandProps, type LayoutProps, type PositionProps, type BackgroundColorShorthandProps } from '@shopify/restyle';
4
4
  import { type ThemeType } from '../theme';
5
+ import { MenuItemProps } from 'react-native-paper';
5
6
  type RestyleProps = SpacingProps<ThemeType> & SpacingShorthandProps<ThemeType> & LayoutProps<ThemeType> & PositionProps<ThemeType> & BorderProps<ThemeType> & BackgroundColorProps<ThemeType> & BackgroundColorShorthandProps<ThemeType>;
6
7
  type Props = RestyleProps & ViewProps & {
7
8
  textAlign?: 'center' | 'right' | 'left';
8
9
  title?: string;
9
10
  customRightOptions?: React.ReactNode;
10
- menuOptions?: Array<{
11
- leadingIcon: string;
12
- title: string;
13
- onPress: (e?: GestureResponderEvent) => void;
14
- }>;
11
+ menuOptions?: Array<MenuItemProps>;
15
12
  };
16
13
  export declare const Header: React.FC<Props>;
17
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAML,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAEzB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,aAAa,EAIlB,KAAK,6BAA6B,EACnC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,KAAK,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,GACzC,qBAAqB,CAAC,SAAS,CAAC,GAChC,WAAW,CAAC,SAAS,CAAC,GACtB,aAAa,CAAC,SAAS,CAAC,GACxB,WAAW,CAAC,SAAS,CAAC,GACtB,oBAAoB,CAAC,SAAS,CAAC,GAC/B,6BAA6B,CAAC,SAAS,CAAC,CAAC;AAY3C,KAAK,KAAK,GAAG,YAAY,GACvB,SAAS,GAAG;IACV,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;KAC9C,CAAC,CAAC;CACJ,CAAC;AAEJ,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiElC,CAAC"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAML,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAEzB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,aAAa,EAIlB,KAAK,6BAA6B,EACnC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,KAAK,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,GACzC,qBAAqB,CAAC,SAAS,CAAC,GAChC,WAAW,CAAC,SAAS,CAAC,GACtB,aAAa,CAAC,SAAS,CAAC,GACxB,WAAW,CAAC,SAAS,CAAC,GACtB,oBAAoB,CAAC,SAAS,CAAC,GAC/B,6BAA6B,CAAC,SAAS,CAAC,CAAC;AAY3C,KAAK,KAAK,GAAG,YAAY,GACvB,SAAS,GAAG;IACV,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;CACpC,CAAC;AAEJ,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiElC,CAAC"}
@@ -26,5 +26,6 @@ export { TouchableRipple } from './TouchableRipple';
26
26
  export { Video } from './Video';
27
27
  export { View } from './View';
28
28
  export { RefreshControl } from './RefreshControl';
29
+ export { FirebaseMedia } from './FirebaseMedia';
29
30
  export { PhoneInput, type PCountry } from './PhoneInput';
30
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="react" />
2
+ import { FirebaseStorageTypes } from '@react-native-firebase/storage';
3
+ type TaskSnapshot = FirebaseStorageTypes.TaskSnapshot;
4
+ export declare class AssetManager {
5
+ private static assetCache;
6
+ static clearCache(): Promise<void>;
7
+ static uploadImage({ uri, base64, path, type, setProgress, }: {
8
+ uri: string;
9
+ base64: string;
10
+ path: string;
11
+ type: 'image' | 'video';
12
+ setProgress: React.Dispatch<React.SetStateAction<{
13
+ percentage: string;
14
+ speed: string;
15
+ }>>;
16
+ }): Promise<{
17
+ taskSnapshot: TaskSnapshot;
18
+ url: string;
19
+ }>;
20
+ static downloadImage(url: string, path: string): Promise<string>;
21
+ static fileExists(path: string): Promise<boolean>;
22
+ static getBase64(path: string): Promise<string>;
23
+ static getAssetURL(path: string): Promise<{
24
+ uri: any;
25
+ type: string;
26
+ } | null | undefined>;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=AssetManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetManager.d.ts","sourceRoot":"","sources":["../../../../src/helpers/AssetManager.ts"],"names":[],"mappings":";AACA,OAAgB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAG/E,KAAK,YAAY,GAAG,oBAAoB,CAAC,YAAY,CAAC;AAEtD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAKlB;WAEM,UAAU;WAKV,WAAW,CAAC,EACvB,GAAG,EACH,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,WAAW,GACZ,EAAE;QACD,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;QACxB,WAAW,EAAE,KAAK,CAAC,QAAQ,CACzB,KAAK,CAAC,cAAc,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC;YACnB,KAAK,EAAE,MAAM,CAAC;SACf,CAAC,CACH,CAAC;KACH,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,YAAY,CAAC;QAC3B,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;WAyDW,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAQzD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAK1C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAKxC,WAAW,CAAC,IAAI,EAAE,MAAM;;;;CAuBtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCustomer.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useCustomer.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAK3B,eAAO,MAAM,kBAAkB;;;;kBAyCE,MAAM;qBAAW,MAAM;;;;;;kBA4BvB,MAAM;qBAAW,MAAM;;;;;;kBA4BvB,MAAM;qBAAW,MAAM;;;;;2CAsCb,MAAM;2CAwBN,MAAM;;;kBA4BhB,MAAM;qBAAW,MAAM;;;;;;kBA6BvB,MAAM;qBAAW,MAAM;;;;;;kBA4BvB,MAAM;qBAAW,MAAM;;;;;;kBA4BvB,MAAM;qBAAW,MAAM;;;;;CA+BvD,CAAC"}
1
+ {"version":3,"file":"useCustomer.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useCustomer.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAK3B,eAAO,MAAM,kBAAkB;;;;kBAyCE,MAAM;qBAAW,MAAM;;;;;;kBA4BvB,MAAM;qBAAW,MAAM;;;;;;kBA4BvB,MAAM;qBAAW,MAAM;;;;;2CAsCb,MAAM;2CAwBN,MAAM;;;kBA0BhB,MAAM;qBAAW,MAAM;;;;;;kBA6BvB,MAAM;qBAAW,MAAM;;;;;;kBA4BvB,MAAM;qBAAW,MAAM;;;;;;kBA4BvB,MAAM;qBAAW,MAAM;;;;;CA+BvD,CAAC"}
@@ -1,3 +1,4 @@
1
+ export { AssetManager } from './helpers/AssetManager';
1
2
  export { Currency } from './utils/currency';
2
3
  export { useCustomerQueries } from './hooks/useCustomer';
3
4
  export { useCheckCustomer } from './hooks/useCheckCustomer';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,qCAAqC,CAAC;AAE7C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE9D;AACD,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,qCAAqC,CAAC;AAE7C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE9D;AACD,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kiosinc/commons-rn",
3
- "version": "0.1.69",
3
+ "version": "0.1.71",
4
4
  "description": "Common Code",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -186,6 +186,7 @@
186
186
  "@gorhom/bottom-sheet": "^4.6.1",
187
187
  "@hookform/resolvers": "^3.3.2",
188
188
  "@react-native-firebase/firestore": "^19.2.2",
189
+ "@react-native-firebase/storage": "^20.1.0",
189
190
  "@react-navigation/material-top-tabs": "^6.6.13",
190
191
  "@shopify/restyle": "^2.4.2",
191
192
  "@tanstack/react-query": "^4.32.6",
@@ -196,6 +197,7 @@
196
197
  "react-content-loader": "^6.2.1",
197
198
  "react-hook-form": "^7.48.2",
198
199
  "react-i18next": "^13.5.0",
200
+ "react-native-blob-util": "^0.19.9",
199
201
  "react-native-config": "^1.5.1",
200
202
  "react-native-device-info": "^10.13.2",
201
203
  "react-native-international-phone-number": "^0.7.6",
@@ -0,0 +1,130 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import FastImage, { FastImageProps } from 'react-native-fast-image';
3
+ import {
4
+ SpacingProps,
5
+ BorderProps,
6
+ BackgroundColorProps,
7
+ SpacingShorthandProps,
8
+ LayoutProps,
9
+ PositionProps,
10
+ BackgroundColorShorthandProps,
11
+ } from '@shopify/restyle';
12
+ import { VideoProperties } from 'react-native-video';
13
+ import PlaceHolderImage from '../assets/icons/placeholderImage.svg';
14
+ import VideoOriginal from 'react-native-video';
15
+ import { ThemeType } from '../theme';
16
+ import { AssetManager } from '../helpers/AssetManager';
17
+ import { View } from './View';
18
+ import { IconButton } from './IconButton';
19
+ import { ContentLoaderList } from './ContentLoaderList';
20
+ import { StyleSheet } from 'react-native';
21
+
22
+ type RestyleProps = SpacingProps<ThemeType> &
23
+ SpacingShorthandProps<ThemeType> &
24
+ LayoutProps<ThemeType> &
25
+ PositionProps<ThemeType> &
26
+ BorderProps<ThemeType> &
27
+ BackgroundColorProps<ThemeType> &
28
+ BackgroundColorShorthandProps<ThemeType>;
29
+
30
+ type TFirebaseMedia = {
31
+ uri: string;
32
+ };
33
+
34
+ type Props = Omit<
35
+ RestyleProps & FastImageProps & TFirebaseMedia & VideoProperties,
36
+ 'source'
37
+ >;
38
+
39
+ export const FirebaseMedia = React.memo(({ uri, ...rest }: Props) => {
40
+ const [status, setStatus] = useState<'loading' | 'failed' | 'success'>(
41
+ 'loading'
42
+ );
43
+ const [{ uri: firebaseURI, type }, setFirebaseURI] = useState({
44
+ uri: null,
45
+ type: 'image',
46
+ });
47
+
48
+ useEffect(() => {
49
+ if (uri) {
50
+ setStatus('loading');
51
+ AssetManager.getAssetURL(uri)
52
+ .then((assetDetails) => {
53
+ if (assetDetails) {
54
+ setFirebaseURI(assetDetails);
55
+ } else {
56
+ setStatus('failed');
57
+ }
58
+ })
59
+ .catch(() => {
60
+ setStatus('failed');
61
+ });
62
+ } else {
63
+ setStatus('failed');
64
+ }
65
+ }, [uri]);
66
+
67
+ return (
68
+ <View
69
+ overflow={'hidden'}
70
+ {...rest}
71
+ {...(rest.height && rest.width
72
+ ? { height: rest.height, width: rest.width }
73
+ : {
74
+ flex: 1,
75
+ })}
76
+ >
77
+ {!!firebaseURI && type === 'image' && (
78
+ <FastImage
79
+ style={styles.image}
80
+ source={{ uri: firebaseURI }}
81
+ onLoad={() => {
82
+ setStatus('success');
83
+ }}
84
+ onError={() => {
85
+ setStatus('failed');
86
+ }}
87
+ />
88
+ )}
89
+
90
+ {!!firebaseURI && type === 'video' && (
91
+ <VideoOriginal
92
+ {...rest}
93
+ source={{ uri: firebaseURI }}
94
+ onLoad={() => {
95
+ setStatus('success');
96
+ }}
97
+ onError={() => {
98
+ setStatus('failed');
99
+ }}
100
+ />
101
+ )}
102
+ <View
103
+ top={0}
104
+ bottom={0}
105
+ right={0}
106
+ left={0}
107
+ position="absolute"
108
+ alignItems="center"
109
+ justifyContent="center"
110
+ >
111
+ {status === 'loading' && (
112
+ <ContentLoaderList count={1} radius={10} height="100%" />
113
+ )}
114
+ {status === 'failed' &&
115
+ (uri ? (
116
+ <IconButton icon="image-broken-variant" />
117
+ ) : (
118
+ <PlaceHolderImage height="100%" width="100%" />
119
+ ))}
120
+ </View>
121
+ </View>
122
+ );
123
+ });
124
+
125
+ const styles = StyleSheet.create({
126
+ image: {
127
+ height: '100%',
128
+ width: '100%',
129
+ },
130
+ });
@@ -24,7 +24,7 @@ import {
24
24
  type BackgroundColorShorthandProps,
25
25
  } from '@shopify/restyle';
26
26
  import { type ThemeType } from '../theme';
27
-
27
+ import { MenuItemProps } from 'react-native-paper';
28
28
  type RestyleProps = SpacingProps<ThemeType> &
29
29
  SpacingShorthandProps<ThemeType> &
30
30
  LayoutProps<ThemeType> &
@@ -48,11 +48,7 @@ type Props = RestyleProps &
48
48
  textAlign?: 'center' | 'right' | 'left';
49
49
  title?: string;
50
50
  customRightOptions?: React.ReactNode;
51
- menuOptions?: Array<{
52
- leadingIcon: string;
53
- title: string;
54
- onPress: (e?: GestureResponderEvent) => void;
55
- }>;
51
+ menuOptions?: Array<MenuItemProps>;
56
52
  };
57
53
 
58
54
  export const Header: React.FC<Props> = ({
@@ -98,17 +94,17 @@ export const Header: React.FC<Props> = ({
98
94
  onDismiss={closeMenu}
99
95
  anchor={<Appbar.Action icon="dots-vertical" onPress={openMenu} />}
100
96
  >
101
- {menuOptions.map((menuOption) => {
102
- const onPress = () => {
97
+ {menuOptions.map((menuOption, index) => {
98
+ const onPress = (e: GestureResponderEvent) => {
103
99
  closeMenu();
104
- menuOption.onPress();
100
+ menuOption?.onPress?.(e);
105
101
  };
106
102
  return (
107
103
  <Menu.Item
104
+ key={String(index)}
108
105
  style={{
109
106
  backgroundColor: theme.colors.background,
110
107
  }}
111
- key={menuOption.title}
112
108
  {...menuOption}
113
109
  onPress={onPress}
114
110
  />
@@ -26,4 +26,5 @@ export { TouchableRipple } from './TouchableRipple';
26
26
  export { Video } from './Video';
27
27
  export { View } from './View';
28
28
  export { RefreshControl } from './RefreshControl';
29
+ export { FirebaseMedia } from './FirebaseMedia';
29
30
  export { PhoneInput, type PCountry } from './PhoneInput';
@@ -0,0 +1,138 @@
1
+ import FastImage from 'react-native-fast-image';
2
+ import storage, { FirebaseStorageTypes } from '@react-native-firebase/storage';
3
+ import ReactNativeBlobUtil from 'react-native-blob-util';
4
+
5
+ type TaskSnapshot = FirebaseStorageTypes.TaskSnapshot;
6
+
7
+ export class AssetManager {
8
+ private static assetCache: {
9
+ [path: string]: {
10
+ uri: string;
11
+ type: string;
12
+ };
13
+ } = {};
14
+
15
+ static async clearCache() {
16
+ await FastImage.clearDiskCache();
17
+ await FastImage.clearMemoryCache();
18
+ }
19
+
20
+ static async uploadImage({
21
+ uri,
22
+ base64,
23
+ path,
24
+ type,
25
+ setProgress,
26
+ }: {
27
+ uri: string;
28
+ base64: string;
29
+ path: string;
30
+ type: 'image' | 'video';
31
+ setProgress: React.Dispatch<
32
+ React.SetStateAction<{
33
+ percentage: string;
34
+ speed: string;
35
+ }>
36
+ >;
37
+ }): Promise<{
38
+ taskSnapshot: TaskSnapshot;
39
+ url: string;
40
+ }> {
41
+ const reference = storage().ref(path);
42
+
43
+ const task =
44
+ type === 'image'
45
+ ? reference.putString(base64, storage.StringFormat.BASE64, {
46
+ cacheControl: 'no-store',
47
+ })
48
+ : reference.putFile(uri, {
49
+ cacheControl: 'no-store',
50
+ });
51
+
52
+ let previousTime = Date.now();
53
+ let previousBytesTransferred = 0;
54
+ let speed = '0';
55
+
56
+ task.on('state_changed', (taskSnapshot: TaskSnapshot) => {
57
+ const currentTime = Date.now();
58
+ const currentBytesTransferred = taskSnapshot.bytesTransferred;
59
+ const timeDifference = (currentTime - previousTime) / 1000;
60
+ const bytesDifference =
61
+ currentBytesTransferred - previousBytesTransferred;
62
+
63
+ if (timeDifference > 0 && bytesDifference >= 0) {
64
+ const uploadSpeedMegabytesPerSecond =
65
+ bytesDifference / timeDifference / 1024 / 1024; // Mb per second
66
+
67
+ if (uploadSpeedMegabytesPerSecond > 0) {
68
+ speed = uploadSpeedMegabytesPerSecond.toFixed(1) + '';
69
+ }
70
+ // Update previous values
71
+ previousTime = currentTime;
72
+ previousBytesTransferred = currentBytesTransferred;
73
+ }
74
+ setProgress({
75
+ percentage:
76
+ Math.ceil(
77
+ (taskSnapshot.bytesTransferred / taskSnapshot.totalBytes) * 100
78
+ ) + '',
79
+ speed: speed,
80
+ });
81
+ });
82
+
83
+ const taskSnapshot = await task;
84
+ await reference.updateMetadata({
85
+ customMetadata: {
86
+ type: type,
87
+ },
88
+ });
89
+
90
+ const url = await reference.toString();
91
+ return {
92
+ taskSnapshot: taskSnapshot,
93
+ url: url,
94
+ };
95
+ }
96
+
97
+ static async downloadImage(url: string, path: string): Promise<string> {
98
+ const dirs = ReactNativeBlobUtil.fs.dirs;
99
+ const res = await ReactNativeBlobUtil.config({
100
+ path: dirs.DocumentDir + path,
101
+ }).fetch('GET', url);
102
+ return res.base64();
103
+ }
104
+
105
+ static async fileExists(path: string): Promise<boolean> {
106
+ const documentDir = ReactNativeBlobUtil.fs.dirs.DocumentDir;
107
+ return await ReactNativeBlobUtil.fs.exists(documentDir + path);
108
+ }
109
+
110
+ static async getBase64(path: string): Promise<string> {
111
+ const documentDir = ReactNativeBlobUtil.fs.dirs.DocumentDir;
112
+ return await ReactNativeBlobUtil.fs.readFile(documentDir + path, 'base64');
113
+ }
114
+
115
+ static async getAssetURL(path: string) {
116
+ try {
117
+ // Check if the URL is already cached
118
+ if (this.assetCache[path]) {
119
+ // Retrieving asset URL from cache for path
120
+ return this.assetCache[path];
121
+ }
122
+ // If not cached, fetch from storage and cache the result
123
+ const downloadURL = await storage().refFromURL(path).getDownloadURL();
124
+ const metaData = await storage().refFromURL(path).getMetadata();
125
+ const type = (metaData?.customMetadata?.type ?? 'image') as string;
126
+ const assetDetails = {
127
+ uri: downloadURL,
128
+ type,
129
+ };
130
+ // Caching details
131
+ this.assetCache[path] = assetDetails;
132
+
133
+ return assetDetails;
134
+ } catch (e) {
135
+ return null;
136
+ }
137
+ }
138
+ }