@kiosinc/commons-rn 0.1.75 → 0.1.76

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.
@@ -7,9 +7,23 @@ exports.AssetManager = void 0;
7
7
  var _reactNativeFastImage = _interopRequireDefault(require("react-native-fast-image"));
8
8
  var _storage = _interopRequireDefault(require("@react-native-firebase/storage"));
9
9
  var _reactNativeBlobUtil = _interopRequireDefault(require("react-native-blob-util"));
10
+ var _reactNative = require("react-native");
10
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
12
  class AssetManager {
12
13
  static assetCache = {};
14
+ static detectTypeFromPath(path) {
15
+ const fileExtension = path.split('.')?.pop()?.toLowerCase() ?? '';
16
+ const videoExtensions = ['mp4', 'avi', 'mov', 'mkv', 'wmv', 'flv', 'webm'];
17
+ const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];
18
+ if (videoExtensions.includes(fileExtension)) {
19
+ return 'video';
20
+ }
21
+ if (imageExtensions.includes(fileExtension)) {
22
+ return 'image';
23
+ }
24
+ _reactNative.Alert.alert(`Unsupported default asset ${path}`);
25
+ return null;
26
+ }
13
27
  static async clearCache() {
14
28
  await _reactNativeFastImage.default.clearDiskCache();
15
29
  await _reactNativeFastImage.default.clearMemoryCache();
@@ -87,7 +101,7 @@ class AssetManager {
87
101
  // If not cached, fetch from storage and cache the result
88
102
  const downloadURL = await (0, _storage.default)().refFromURL(path).getDownloadURL();
89
103
  const metaData = await (0, _storage.default)().refFromURL(path).getMetadata();
90
- const type = metaData?.customMetadata?.type ?? 'image';
104
+ const type = metaData?.customMetadata?.type ?? AssetManager.detectTypeFromPath(path);
91
105
  const assetDetails = {
92
106
  uri: downloadURL,
93
107
  type
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeFastImage","_interopRequireDefault","require","_storage","_reactNativeBlobUtil","obj","__esModule","default","AssetManager","assetCache","clearCache","FastImage","clearDiskCache","clearMemoryCache","uploadImage","uri","base64","path","type","setProgress","reference","storage","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","ReactNativeBlobUtil","fs","res","config","DocumentDir","fetch","fileExists","documentDir","exists","getBase64","readFile","getAssetURL","downloadURL","refFromURL","getDownloadURL","metaData","getMetadata","assetDetails","e","exports"],"sourceRoot":"../../../src","sources":["helpers/AssetManager.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNativeFastImage","_interopRequireDefault","require","_storage","_reactNativeBlobUtil","_reactNative","obj","__esModule","default","AssetManager","assetCache","detectTypeFromPath","path","fileExtension","split","pop","toLowerCase","videoExtensions","imageExtensions","includes","Alert","alert","clearCache","FastImage","clearDiskCache","clearMemoryCache","uploadImage","uri","base64","type","setProgress","reference","storage","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","ReactNativeBlobUtil","fs","res","config","DocumentDir","fetch","fileExists","documentDir","exists","getBase64","readFile","getAssetURL","downloadURL","refFromURL","getDownloadURL","metaData","getMetadata","assetDetails","e","exports"],"sourceRoot":"../../../src","sources":["helpers/AssetManager.ts"],"mappings":"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"}
@@ -1,8 +1,22 @@
1
1
  import FastImage from 'react-native-fast-image';
2
2
  import storage from '@react-native-firebase/storage';
3
3
  import ReactNativeBlobUtil from 'react-native-blob-util';
4
+ import { Alert } from 'react-native';
4
5
  export class AssetManager {
5
6
  static assetCache = {};
7
+ static detectTypeFromPath(path) {
8
+ const fileExtension = path.split('.')?.pop()?.toLowerCase() ?? '';
9
+ const videoExtensions = ['mp4', 'avi', 'mov', 'mkv', 'wmv', 'flv', 'webm'];
10
+ const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];
11
+ if (videoExtensions.includes(fileExtension)) {
12
+ return 'video';
13
+ }
14
+ if (imageExtensions.includes(fileExtension)) {
15
+ return 'image';
16
+ }
17
+ Alert.alert(`Unsupported default asset ${path}`);
18
+ return null;
19
+ }
6
20
  static async clearCache() {
7
21
  await FastImage.clearDiskCache();
8
22
  await FastImage.clearMemoryCache();
@@ -80,7 +94,7 @@ export class AssetManager {
80
94
  // If not cached, fetch from storage and cache the result
81
95
  const downloadURL = await storage().refFromURL(path).getDownloadURL();
82
96
  const metaData = await storage().refFromURL(path).getMetadata();
83
- const type = metaData?.customMetadata?.type ?? 'image';
97
+ const type = metaData?.customMetadata?.type ?? AssetManager.detectTypeFromPath(path);
84
98
  const assetDetails = {
85
99
  uri: downloadURL,
86
100
  type
@@ -1 +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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"}
1
+ {"version":3,"names":["FastImage","storage","ReactNativeBlobUtil","Alert","AssetManager","assetCache","detectTypeFromPath","path","fileExtension","split","pop","toLowerCase","videoExtensions","imageExtensions","includes","alert","clearCache","clearDiskCache","clearMemoryCache","uploadImage","uri","base64","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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"}
@@ -3,6 +3,7 @@ import { FirebaseStorageTypes } from '@react-native-firebase/storage';
3
3
  type TaskSnapshot = FirebaseStorageTypes.TaskSnapshot;
4
4
  export declare class AssetManager {
5
5
  private static assetCache;
6
+ static detectTypeFromPath(path: string): "video" | "image" | null;
6
7
  static clearCache(): Promise<void>;
7
8
  static uploadImage({ uri, base64, path, type, setProgress, }: {
8
9
  uri: string;
@@ -1 +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
+ {"version":3,"file":"AssetManager.d.ts","sourceRoot":"","sources":["../../../../src/helpers/AssetManager.ts"],"names":[],"mappings":";AACA,OAAgB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAI/E,KAAK,YAAY,GAAG,oBAAoB,CAAC,YAAY,CAAC;AACtD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAKlB;IAEP,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM;WAczB,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;;;;CAwBtC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kiosinc/commons-rn",
3
- "version": "0.1.75",
3
+ "version": "0.1.76",
4
4
  "description": "Common Code",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -1,9 +1,9 @@
1
1
  import FastImage from 'react-native-fast-image';
2
2
  import storage, { FirebaseStorageTypes } from '@react-native-firebase/storage';
3
3
  import ReactNativeBlobUtil from 'react-native-blob-util';
4
+ import { Alert } from 'react-native';
4
5
 
5
6
  type TaskSnapshot = FirebaseStorageTypes.TaskSnapshot;
6
-
7
7
  export class AssetManager {
8
8
  private static assetCache: {
9
9
  [path: string]: {
@@ -12,6 +12,20 @@ export class AssetManager {
12
12
  };
13
13
  } = {};
14
14
 
15
+ static detectTypeFromPath(path: string) {
16
+ const fileExtension = path.split('.')?.pop()?.toLowerCase() ?? '';
17
+ const videoExtensions = ['mp4', 'avi', 'mov', 'mkv', 'wmv', 'flv', 'webm'];
18
+ const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];
19
+ if (videoExtensions.includes(fileExtension)) {
20
+ return 'video';
21
+ }
22
+ if (imageExtensions.includes(fileExtension)) {
23
+ return 'image';
24
+ }
25
+ Alert.alert(`Unsupported default asset ${path}`);
26
+ return null;
27
+ }
28
+
15
29
  static async clearCache() {
16
30
  await FastImage.clearDiskCache();
17
31
  await FastImage.clearMemoryCache();
@@ -122,7 +136,8 @@ export class AssetManager {
122
136
  // If not cached, fetch from storage and cache the result
123
137
  const downloadURL = await storage().refFromURL(path).getDownloadURL();
124
138
  const metaData = await storage().refFromURL(path).getMetadata();
125
- const type = (metaData?.customMetadata?.type ?? 'image') as string;
139
+ const type = (metaData?.customMetadata?.type ??
140
+ AssetManager.detectTypeFromPath(path)) as string;
126
141
  const assetDetails = {
127
142
  uri: downloadURL,
128
143
  type,