@umituz/react-native-filesystem 1.3.0 → 2.0.0
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.
- package/package.json +1 -1
- package/src/index.ts +8 -1
- package/src/infrastructure/services/CacheOperations.ts +16 -0
- package/src/infrastructure/services/DirectoryOperations.ts +35 -0
- package/src/infrastructure/services/DownloadOperations.ts +16 -0
- package/src/infrastructure/services/FileInformation.ts +21 -0
- package/src/infrastructure/services/FileManagement.ts +27 -0
- package/src/infrastructure/services/FileOperations.ts +29 -0
- package/src/infrastructure/services/FilePathOperations.ts +26 -0
- package/src/infrastructure/services/FileSystemService.ts +50 -93
- package/src/infrastructure/utils/moduleLoader.ts +27 -74
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@umituz/react-native-filesystem",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Domain-Driven Design filesystem utilities for React Native apps with build-time module loading and runtime file operations",
|
|
5
5
|
"main": "./src/index.ts",
|
|
6
6
|
"types": "./src/index.ts",
|
package/src/index.ts
CHANGED
|
@@ -174,5 +174,12 @@ export {
|
|
|
174
174
|
FileUtils,
|
|
175
175
|
} from './domain/entities/File';
|
|
176
176
|
|
|
177
|
-
// Infrastructure Layer - FileSystem Service
|
|
177
|
+
// Infrastructure Layer - FileSystem Service & Specialized Services
|
|
178
178
|
export { FileSystemService } from './infrastructure/services/FileSystemService';
|
|
179
|
+
export { FileOperations } from './infrastructure/services/FileOperations';
|
|
180
|
+
export { FileManagement } from './infrastructure/services/FileManagement';
|
|
181
|
+
export { DirectoryOperations } from './infrastructure/services/DirectoryOperations';
|
|
182
|
+
export { FileInformation } from './infrastructure/services/FileInformation';
|
|
183
|
+
export { DownloadOperations } from './infrastructure/services/DownloadOperations';
|
|
184
|
+
export { CacheOperations } from './infrastructure/services/CacheOperations';
|
|
185
|
+
export { FilePathOperations } from './infrastructure/services/FilePathOperations';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache Operations Service
|
|
3
|
+
* Handles cache-related operations
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { clearCache, getDirectorySize } from "./cache.service";
|
|
7
|
+
|
|
8
|
+
export class CacheOperations {
|
|
9
|
+
static async clearCache(): Promise<boolean> {
|
|
10
|
+
return clearCache();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
static async getDirectorySize(uri: string): Promise<number> {
|
|
14
|
+
return getDirectorySize(uri);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Directory Operations Service
|
|
3
|
+
* Handles directory-related operations
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
createDirectory,
|
|
8
|
+
listDirectory,
|
|
9
|
+
getDirectoryPath,
|
|
10
|
+
getDocumentDirectory,
|
|
11
|
+
getCacheDirectory,
|
|
12
|
+
} from "./directory.service";
|
|
13
|
+
import type { DirectoryType } from "../../domain/entities/File";
|
|
14
|
+
|
|
15
|
+
export class DirectoryOperations {
|
|
16
|
+
static async createDirectory(uri: string): Promise<boolean> {
|
|
17
|
+
return createDirectory(uri);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static async listDirectory(uri: string): Promise<string[]> {
|
|
21
|
+
return listDirectory(uri);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static getDirectoryPath(type: DirectoryType): string {
|
|
25
|
+
return getDirectoryPath(type);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static getDocumentDirectory(): string {
|
|
29
|
+
return getDocumentDirectory();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static getCacheDirectory(): string {
|
|
33
|
+
return getCacheDirectory();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Download Operations Service
|
|
3
|
+
* Handles file download operations
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { downloadFile } from "./download.service";
|
|
7
|
+
import type { FileOperationResult } from "../../domain/entities/File";
|
|
8
|
+
|
|
9
|
+
export class DownloadOperations {
|
|
10
|
+
static async downloadFile(
|
|
11
|
+
url: string,
|
|
12
|
+
destinationUri?: string,
|
|
13
|
+
): Promise<FileOperationResult> {
|
|
14
|
+
return downloadFile(url, destinationUri);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File Information Service
|
|
3
|
+
* Handles file information queries
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { getFileInfo, fileExists, getFileSize } from "./file-info.service";
|
|
7
|
+
import type { FileInfo } from "../../domain/entities/File";
|
|
8
|
+
|
|
9
|
+
export class FileInformation {
|
|
10
|
+
static async getFileInfo(uri: string): Promise<FileInfo | null> {
|
|
11
|
+
return getFileInfo(uri);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
static async exists(uri: string): Promise<boolean> {
|
|
15
|
+
return fileExists(uri);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
static async getFileSize(uri: string): Promise<number> {
|
|
19
|
+
return getFileSize(uri);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File Management Service
|
|
3
|
+
* Handles file operations like copy, move, delete
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { deleteFile, copyFile, moveFile } from "./file-manager.service";
|
|
7
|
+
import type { FileOperationResult } from "../../domain/entities/File";
|
|
8
|
+
|
|
9
|
+
export class FileManagement {
|
|
10
|
+
static async deleteFile(uri: string): Promise<boolean> {
|
|
11
|
+
return deleteFile(uri);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
static async copyFile(
|
|
15
|
+
sourceUri: string,
|
|
16
|
+
destinationUri: string,
|
|
17
|
+
): Promise<FileOperationResult> {
|
|
18
|
+
return copyFile(sourceUri, destinationUri);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
static async moveFile(
|
|
22
|
+
sourceUri: string,
|
|
23
|
+
destinationUri: string,
|
|
24
|
+
): Promise<FileOperationResult> {
|
|
25
|
+
return moveFile(sourceUri, destinationUri);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File Operations Service
|
|
3
|
+
* Handles basic file read/write operations
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { readFile, readFileAsBase64 } from "./file-reader.service";
|
|
7
|
+
import { writeFile } from "./file-writer.service";
|
|
8
|
+
import type { FileEncoding, FileOperationResult } from "../../domain/entities/File";
|
|
9
|
+
|
|
10
|
+
export class FileOperations {
|
|
11
|
+
static async readFile(
|
|
12
|
+
uri: string,
|
|
13
|
+
encoding: FileEncoding = "utf8",
|
|
14
|
+
): Promise<string | null> {
|
|
15
|
+
return readFile(uri, encoding);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
static async readFileAsBase64(uri: string): Promise<string | null> {
|
|
19
|
+
return readFileAsBase64(uri);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static async writeFile(
|
|
23
|
+
uri: string,
|
|
24
|
+
content: string,
|
|
25
|
+
encoding: FileEncoding = "utf8",
|
|
26
|
+
): Promise<FileOperationResult> {
|
|
27
|
+
return writeFile(uri, content, encoding);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File Path Operations Service
|
|
3
|
+
* Handles file path generation and utilities
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { generateFilePath } from "./file-path.service";
|
|
7
|
+
import { getDirectoryPath } from "./directory.service";
|
|
8
|
+
import { FileUtils } from "../../domain/entities/File";
|
|
9
|
+
import type { DirectoryType } from "../../domain/entities/File";
|
|
10
|
+
|
|
11
|
+
export class FilePathOperations {
|
|
12
|
+
static generateFilePath(
|
|
13
|
+
filename: string,
|
|
14
|
+
directory: DirectoryType = "documentDirectory",
|
|
15
|
+
): string {
|
|
16
|
+
return generateFilePath(filename, directory);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
static generateUniqueFilePath(
|
|
20
|
+
filename: string,
|
|
21
|
+
directory: DirectoryType = "documentDirectory",
|
|
22
|
+
): string {
|
|
23
|
+
const uniqueName = FileUtils.generateUniqueFilename(filename);
|
|
24
|
+
return FileUtils.joinPaths(getDirectoryPath(directory), uniqueName);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -1,160 +1,117 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* FileSystem Service
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* This is a facade that delegates to specialized services
|
|
6
|
-
* following Single Responsibility Principle
|
|
2
|
+
* FileSystem Service - Facade
|
|
3
|
+
* Delegates to specialized services following SOLID principles
|
|
7
4
|
*/
|
|
8
5
|
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
getDocumentDirectory,
|
|
17
|
-
getCacheDirectory,
|
|
18
|
-
} from "./directory.service";
|
|
19
|
-
import { getFileInfo, fileExists, getFileSize } from "./file-info.service";
|
|
20
|
-
import { downloadFile } from "./download.service";
|
|
21
|
-
import { clearCache, getDirectorySize } from "./cache.service";
|
|
22
|
-
import { generateFilePath } from "./file-path.service";
|
|
23
|
-
import type {
|
|
24
|
-
FileInfo,
|
|
25
|
-
FileOperationResult,
|
|
26
|
-
DirectoryType,
|
|
27
|
-
FileEncoding,
|
|
28
|
-
} from "../../domain/entities/File";
|
|
29
|
-
import { copyFile as copyFileOp } from "./file-manager.service";
|
|
6
|
+
import { FileOperations } from "./FileOperations";
|
|
7
|
+
import { FileManagement } from "./FileManagement";
|
|
8
|
+
import { DirectoryOperations } from "./DirectoryOperations";
|
|
9
|
+
import { FileInformation } from "./FileInformation";
|
|
10
|
+
import { DownloadOperations } from "./DownloadOperations";
|
|
11
|
+
import { CacheOperations } from "./CacheOperations";
|
|
12
|
+
import { FilePathOperations } from "./FilePathOperations";
|
|
30
13
|
import { FileUtils } from "../../domain/entities/File";
|
|
14
|
+
import type { FileEncoding, DirectoryType, FileOperationResult } from "../../domain/entities/File";
|
|
31
15
|
|
|
32
16
|
/**
|
|
33
|
-
* FileSystem Service -
|
|
34
|
-
* Delegates to specialized services following
|
|
17
|
+
* FileSystem Service - Clean facade for all file operations
|
|
18
|
+
* Delegates to specialized services following Single Responsibility Principle
|
|
35
19
|
*/
|
|
36
20
|
export class FileSystemService {
|
|
37
21
|
// File Reading
|
|
38
|
-
static async readFile(
|
|
39
|
-
uri
|
|
40
|
-
encoding: FileEncoding = "utf8",
|
|
41
|
-
): Promise<string | null> {
|
|
42
|
-
return readFile(uri, encoding);
|
|
22
|
+
static async readFile(uri: string, encoding: FileEncoding = "utf8"): Promise<string | null> {
|
|
23
|
+
return FileOperations.readFile(uri, encoding);
|
|
43
24
|
}
|
|
44
25
|
|
|
45
26
|
static async readFileAsBase64(uri: string): Promise<string | null> {
|
|
46
|
-
return readFileAsBase64(uri);
|
|
27
|
+
return FileOperations.readFileAsBase64(uri);
|
|
47
28
|
}
|
|
48
29
|
|
|
49
30
|
// File Writing
|
|
50
|
-
static async writeFile(
|
|
51
|
-
uri
|
|
52
|
-
content: string,
|
|
53
|
-
encoding: FileEncoding = "utf8",
|
|
54
|
-
): Promise<FileOperationResult> {
|
|
55
|
-
return writeFile(uri, content, encoding);
|
|
31
|
+
static async writeFile(uri: string, content: string, encoding: FileEncoding = "utf8"): Promise<FileOperationResult> {
|
|
32
|
+
return FileOperations.writeFile(uri, content, encoding);
|
|
56
33
|
}
|
|
57
34
|
|
|
58
35
|
// File Management
|
|
59
36
|
static async deleteFile(uri: string): Promise<boolean> {
|
|
60
|
-
return deleteFile(uri);
|
|
37
|
+
return FileManagement.deleteFile(uri);
|
|
61
38
|
}
|
|
62
39
|
|
|
63
|
-
static async copyFile(
|
|
64
|
-
sourceUri
|
|
65
|
-
destinationUri: string,
|
|
66
|
-
): Promise<FileOperationResult> {
|
|
67
|
-
return copyFileOp(sourceUri, destinationUri);
|
|
40
|
+
static async copyFile(sourceUri: string, destinationUri: string): Promise<FileOperationResult> {
|
|
41
|
+
return FileManagement.copyFile(sourceUri, destinationUri);
|
|
68
42
|
}
|
|
69
43
|
|
|
70
|
-
static async moveFile(
|
|
71
|
-
sourceUri
|
|
72
|
-
destinationUri: string,
|
|
73
|
-
): Promise<FileOperationResult> {
|
|
74
|
-
return moveFile(sourceUri, destinationUri);
|
|
44
|
+
static async moveFile(sourceUri: string, destinationUri: string): Promise<FileOperationResult> {
|
|
45
|
+
return FileManagement.moveFile(sourceUri, destinationUri);
|
|
75
46
|
}
|
|
76
47
|
|
|
77
48
|
// Directory Operations
|
|
78
49
|
static async createDirectory(uri: string): Promise<boolean> {
|
|
79
|
-
return createDirectory(uri);
|
|
50
|
+
return DirectoryOperations.createDirectory(uri);
|
|
80
51
|
}
|
|
81
52
|
|
|
82
53
|
static async listDirectory(uri: string): Promise<string[]> {
|
|
83
|
-
return listDirectory(uri);
|
|
54
|
+
return DirectoryOperations.listDirectory(uri);
|
|
84
55
|
}
|
|
85
56
|
|
|
86
57
|
static getDirectoryPath(type: DirectoryType): string {
|
|
87
|
-
return getDirectoryPath(type);
|
|
58
|
+
return DirectoryOperations.getDirectoryPath(type);
|
|
88
59
|
}
|
|
89
60
|
|
|
90
61
|
static getDocumentDirectory(): string {
|
|
91
|
-
return getDocumentDirectory();
|
|
62
|
+
return DirectoryOperations.getDocumentDirectory();
|
|
92
63
|
}
|
|
93
64
|
|
|
94
65
|
static getCacheDirectory(): string {
|
|
95
|
-
return getCacheDirectory();
|
|
66
|
+
return DirectoryOperations.getCacheDirectory();
|
|
96
67
|
}
|
|
97
68
|
|
|
98
69
|
// File Information
|
|
99
|
-
static async getFileInfo(uri: string)
|
|
100
|
-
return getFileInfo(uri);
|
|
70
|
+
static async getFileInfo(uri: string) {
|
|
71
|
+
return FileInformation.getFileInfo(uri);
|
|
101
72
|
}
|
|
102
73
|
|
|
103
74
|
static async exists(uri: string): Promise<boolean> {
|
|
104
|
-
return
|
|
75
|
+
return FileInformation.exists(uri);
|
|
105
76
|
}
|
|
106
77
|
|
|
107
78
|
static async getFileSize(uri: string): Promise<number> {
|
|
108
|
-
return getFileSize(uri);
|
|
79
|
+
return FileInformation.getFileSize(uri);
|
|
109
80
|
}
|
|
110
81
|
|
|
111
82
|
// Downloads
|
|
112
|
-
static async downloadFile(
|
|
113
|
-
url
|
|
114
|
-
destinationUri?: string,
|
|
115
|
-
): Promise<FileOperationResult> {
|
|
116
|
-
return downloadFile(url, destinationUri);
|
|
83
|
+
static async downloadFile(url: string, destinationUri?: string): Promise<FileOperationResult> {
|
|
84
|
+
return DownloadOperations.downloadFile(url, destinationUri);
|
|
117
85
|
}
|
|
118
86
|
|
|
119
87
|
// Cache Management
|
|
120
88
|
static async clearCache(): Promise<boolean> {
|
|
121
|
-
return clearCache();
|
|
89
|
+
return CacheOperations.clearCache();
|
|
122
90
|
}
|
|
123
91
|
|
|
124
92
|
static async getDirectorySize(uri: string): Promise<number> {
|
|
125
|
-
return getDirectorySize(uri);
|
|
93
|
+
return CacheOperations.getDirectorySize(uri);
|
|
126
94
|
}
|
|
127
95
|
|
|
128
96
|
// File Path Generation
|
|
129
|
-
static generateFilePath(
|
|
130
|
-
filename
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
sourceUri: string,
|
|
139
|
-
filename?: string,
|
|
140
|
-
): Promise<FileOperationResult> {
|
|
141
|
-
const name = filename || sourceUri.split("/").pop() || "file";
|
|
142
|
-
const destinationUri = FileUtils.joinPaths(
|
|
143
|
-
getDirectoryPath("cacheDirectory"),
|
|
144
|
-
FileUtils.generateUniqueFilename(name),
|
|
97
|
+
static generateFilePath(filename: string, directory: DirectoryType = "documentDirectory"): string {
|
|
98
|
+
return FilePathOperations.generateFilePath(filename, directory);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// Convenience methods
|
|
102
|
+
static async copyToCache(sourceUri: string, filename?: string): Promise<FileOperationResult> {
|
|
103
|
+
const destinationUri = FilePathOperations.generateUniqueFilePath(
|
|
104
|
+
filename || sourceUri.split("/").pop() || "file",
|
|
105
|
+
"cacheDirectory"
|
|
145
106
|
);
|
|
146
|
-
return
|
|
107
|
+
return FileManagement.copyFile(sourceUri, destinationUri);
|
|
147
108
|
}
|
|
148
109
|
|
|
149
|
-
static async copyToDocuments(
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
const name = filename || sourceUri.split("/").pop() || "file";
|
|
154
|
-
const destinationUri = FileUtils.joinPaths(
|
|
155
|
-
getDirectoryPath("documentDirectory"),
|
|
156
|
-
FileUtils.generateUniqueFilename(name),
|
|
110
|
+
static async copyToDocuments(sourceUri: string, filename?: string): Promise<FileOperationResult> {
|
|
111
|
+
const destinationUri = FilePathOperations.generateUniqueFilePath(
|
|
112
|
+
filename || sourceUri.split("/").pop() || "file",
|
|
113
|
+
"documentDirectory"
|
|
157
114
|
);
|
|
158
|
-
return
|
|
115
|
+
return FileManagement.copyFile(sourceUri, destinationUri);
|
|
159
116
|
}
|
|
160
117
|
}
|
|
@@ -1,99 +1,52 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Module Loader Utilities
|
|
3
3
|
*
|
|
4
|
-
* Provides
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* USAGE:
|
|
8
|
-
* ```typescript
|
|
9
|
-
* // Auto-load all JSON files in current directory
|
|
10
|
-
* const context = require.context('./', false, /\.json$/);
|
|
11
|
-
* const modules = loadJsonModules(context);
|
|
12
|
-
* ```
|
|
4
|
+
* Provides explicit module loading for maximum compatibility
|
|
5
|
+
* No longer uses require.context to avoid iOS Metro bundler issues
|
|
13
6
|
*/
|
|
14
7
|
|
|
15
|
-
import type {
|
|
8
|
+
import type { ModuleCollection } from '../../domain/entities/ModuleContext';
|
|
16
9
|
|
|
17
10
|
/**
|
|
18
|
-
* Load JSON modules
|
|
11
|
+
* Load JSON modules with explicit imports
|
|
19
12
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
13
|
+
* This function is kept for backward compatibility but now uses explicit imports
|
|
14
|
+
* instead of require.context for maximum platform compatibility.
|
|
22
15
|
*
|
|
23
|
-
* @
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* const translations = loadJsonModules(translationContext);
|
|
27
|
-
* // Result: { common: {...}, errors: {...}, settings: {...} }
|
|
28
|
-
* ```
|
|
16
|
+
* @deprecated Use explicit imports instead of require.context pattern
|
|
17
|
+
* @param context - Not used anymore, kept for API compatibility
|
|
18
|
+
* @returns Empty object (backward compatibility)
|
|
29
19
|
*/
|
|
30
|
-
export function loadJsonModules(context
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
// Extract module name from path
|
|
35
|
-
// './animation.json' -> 'animation'
|
|
36
|
-
// './common.json' -> 'common'
|
|
37
|
-
const moduleName = key
|
|
38
|
-
.replace('./', '')
|
|
39
|
-
.replace(/\.(json|js|ts|tsx)$/, '');
|
|
40
|
-
|
|
41
|
-
// Load module content
|
|
42
|
-
modules[moduleName] = context(key);
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
return modules;
|
|
20
|
+
export function loadJsonModules(context?: any): ModuleCollection {
|
|
21
|
+
// Return empty object for backward compatibility
|
|
22
|
+
// Projects should migrate to explicit imports
|
|
23
|
+
return {};
|
|
46
24
|
}
|
|
47
25
|
|
|
48
26
|
/**
|
|
49
27
|
* Load modules with custom name transformation
|
|
50
28
|
*
|
|
51
|
-
* @
|
|
52
|
-
* @param
|
|
53
|
-
* @
|
|
54
|
-
*
|
|
55
|
-
* @example
|
|
56
|
-
* ```typescript
|
|
57
|
-
* const context = require.context('./', false, /\.json$/);
|
|
58
|
-
* const modules = loadModulesWithTransform(context, name => name.toUpperCase());
|
|
59
|
-
* // Result: { COMMON: {...}, ERRORS: {...} }
|
|
60
|
-
* ```
|
|
29
|
+
* @deprecated Use explicit imports instead
|
|
30
|
+
* @param context - Not used anymore
|
|
31
|
+
* @param transformName - Not used anymore
|
|
32
|
+
* @returns Empty object (backward compatibility)
|
|
61
33
|
*/
|
|
62
34
|
export function loadModulesWithTransform(
|
|
63
|
-
context
|
|
64
|
-
transformName
|
|
35
|
+
context?: any,
|
|
36
|
+
transformName?: (name: string) => string
|
|
65
37
|
): ModuleCollection {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
context.keys().forEach((key: string) => {
|
|
69
|
-
const baseName = key
|
|
70
|
-
.replace('./', '')
|
|
71
|
-
.replace(/\.(json|js|ts|tsx)$/, '');
|
|
72
|
-
|
|
73
|
-
const transformedName = transformName(baseName);
|
|
74
|
-
modules[transformedName] = context(key);
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
return modules;
|
|
38
|
+
// Return empty object for backward compatibility
|
|
39
|
+
return {};
|
|
78
40
|
}
|
|
79
41
|
|
|
80
42
|
/**
|
|
81
43
|
* Get list of module names from context
|
|
82
44
|
*
|
|
83
|
-
* @
|
|
84
|
-
* @
|
|
85
|
-
*
|
|
86
|
-
* @example
|
|
87
|
-
* ```typescript
|
|
88
|
-
* const context = require.context('./', false, /\.json$/);
|
|
89
|
-
* const names = getModuleNames(context);
|
|
90
|
-
* // Result: ['animation', 'common', 'errors', 'settings']
|
|
91
|
-
* ```
|
|
45
|
+
* @deprecated Use explicit imports instead
|
|
46
|
+
* @param context - Not used anymore
|
|
47
|
+
* @returns Empty array (backward compatibility)
|
|
92
48
|
*/
|
|
93
|
-
export function getModuleNames(context
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
.replace('./', '')
|
|
97
|
-
.replace(/\.(json|js|ts|tsx)$/, '')
|
|
98
|
-
);
|
|
49
|
+
export function getModuleNames(context?: any): string[] {
|
|
50
|
+
// Return empty array for backward compatibility
|
|
51
|
+
return [];
|
|
99
52
|
}
|