@jamiephan/casclib 0.0.0-dev.3 → 0.0.0-dev.5
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/README.md +7 -7
- package/build/Release/casclib.node +0 -0
- package/dist/cjs/bindings.d.ts.map +1 -0
- package/dist/{bindings.js → cjs/bindings.js} +19 -0
- package/dist/cjs/bindings.js.map +1 -0
- package/dist/cjs/index.d.ts +233 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +289 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/esm/bindings.d.ts +229 -0
- package/dist/esm/bindings.d.ts.map +1 -0
- package/dist/esm/bindings.js +142 -0
- package/dist/esm/bindings.js.map +1 -0
- package/dist/esm/index.d.ts +233 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +270 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/types/bindings.d.ts +229 -0
- package/dist/types/bindings.d.ts.map +1 -0
- package/dist/types/index.d.ts +233 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +10 -7
- package/prebuilds/win32-x64/@jamiephan+casclib.node +0 -0
- package/dist/bindings.d.ts.map +0 -1
- package/dist/bindings.js.map +0 -1
- package/dist/bindings.mjs +0 -9
- package/dist/index.d.ts +0 -54
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -121
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -18
- /package/dist/{bindings.d.ts → cjs/bindings.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -4,13 +4,13 @@ Node.js native bindings for [CascLib](https://github.com/ladislav-zezula/CascLib
|
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
7
|
+
- Read CASC storage archives (local and online)
|
|
8
|
+
- Extract files from modern Blizzard games
|
|
9
|
+
- TypeScript support with full type definitions
|
|
10
|
+
- Cross-platform (Windows, Linux)
|
|
11
|
+
- Both CommonJS and ES Module support
|
|
12
|
+
- High-level wrapper API for ease of use
|
|
13
|
+
- Low-level bindings for advanced usage
|
|
14
14
|
|
|
15
15
|
## Supported Games
|
|
16
16
|
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../lib/bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,8 +35,10 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.CASC_LOCALE_ITIT = exports.CASC_LOCALE_PTBR = exports.CASC_LOCALE_RURU = exports.CASC_LOCALE_ESMX = exports.CASC_LOCALE_ENTW = exports.CASC_LOCALE_ENCN = exports.CASC_LOCALE_ENGB = exports.CASC_LOCALE_ZHTW = exports.CASC_LOCALE_ESES = exports.CASC_LOCALE_ZHCN = exports.CASC_LOCALE_DEDE = exports.CASC_LOCALE_FRFR = exports.CASC_LOCALE_RESERVED = exports.CASC_LOCALE_KOKR = exports.CASC_LOCALE_ENUS = exports.CASC_LOCALE_UNKNOWN1 = exports.CASC_LOCALE_NONE = exports.CASC_LOCALE_ALL_WOW = exports.CASC_LOCALE_ALL = exports.CASC_OPEN_CKEY_ONCE = exports.CASC_OVERCOME_ENCRYPTED = exports.CASC_STRICT_DATA_CHECK = exports.CASC_OPEN_FLAGS_MASK = exports.CASC_OPEN_TYPE_MASK = exports.CASC_OPEN_BY_FILEID = exports.CASC_OPEN_BY_EKEY = exports.CASC_OPEN_BY_CKEY = exports.CASC_OPEN_BY_NAME = exports.CascProgressDownloadingArchiveIndexes = exports.CascProgressLoadingIndexes = exports.CascProgressDownloadingFile = exports.CascProgressLoadingManifest = exports.CascProgressLoadingFile = exports.CASC_PARAM_SEPARATOR = exports.CASC_FILEID_FORMAT = exports.FILE_END = exports.FILE_CURRENT = exports.FILE_BEGIN = exports.CASCLIB_VERSION_STRING = exports.CASCLIB_VERSION = exports.CascCdnDownload = exports.CascCdnGetDefault = exports.SetCascError = exports.GetCascError = exports.CascOpenLocalFile = exports.CascFileBinding = exports.CascStorageBinding = exports.CascNameType = exports.CascFileInfoClass = exports.CascStorageInfoClass = void 0;
|
|
37
37
|
exports.CASC_KEY_LENGTH = exports.CASC_FEATURE_FORCE_DOWNLOAD = exports.CASC_FEATURE_ONLINE = exports.CASC_FEATURE_DATA_FILES = exports.CASC_FEATURE_DATA_ARCHIVES = exports.CASC_FEATURE_CONTENT_FLAGS = exports.CASC_FEATURE_LOCALE_FLAGS = exports.CASC_FEATURE_FILE_DATA_IDS = exports.CASC_FEATURE_FNAME_HASHES_OPTIONAL = exports.CASC_FEATURE_FNAME_HASHES = exports.CASC_FEATURE_TAGS = exports.CASC_FEATURE_ROOT_CKEY = exports.CASC_FEATURE_FILE_NAMES = exports.CascFileSpanInfo = exports.CascFileFullInfo = exports.CascFileEncodedKey = exports.CascFileContentKey = exports.CascStoragePathProduct = exports.CascStorageTags = exports.CascStorageProduct = exports.CascStorageInstalledLocales = exports.CascStorageFeatures = exports.CascStorageTotalFileCount = exports.CascStorageLocalFileCount = exports.CASC_INVALID_SIZE64 = exports.CASC_INVALID_OFFS64 = exports.CASC_INVALID_ID = exports.CASC_INVALID_POS = exports.CASC_INVALID_SIZE = exports.CASC_INVALID_INDEX = exports.SHA1_STRING_SIZE = exports.SHA1_HASH_SIZE = exports.MD5_STRING_SIZE = exports.MD5_HASH_SIZE = exports.CASC_CFLAG_NO_COMPRESSION = exports.CASC_CFLAG_BUNDLE = exports.CASC_CFLAG_UNCMN_RESOLUTION = exports.CASC_CFLAG_NO_NAME_HASH = exports.CASC_CFLAG_ENCRYPTED = exports.CASC_CFLAG_ARM64 = exports.CASC_CFLAG_UPDATE_PLUGIN = exports.CASC_CFLAG_DONT_LOAD = exports.CASC_CFLAG_LOW_VIOLENCE = exports.CASC_CFLAG_X86_64 = exports.CASC_CFLAG_X86_32 = exports.CASC_CFLAG_LOAD_ON_MAC = exports.CASC_CFLAG_LOAD_ON_WINDOWS = exports.CASC_CFLAG_INSTALL = exports.CASC_LOCALE_PTPT = void 0;
|
|
38
|
+
// Native bindings for CascLib
|
|
38
39
|
const path = __importStar(require("path"));
|
|
39
40
|
const bindings = require('node-gyp-build')(path.join(__dirname, '..'));
|
|
41
|
+
// Storage info classes
|
|
40
42
|
var CascStorageInfoClass;
|
|
41
43
|
(function (CascStorageInfoClass) {
|
|
42
44
|
CascStorageInfoClass[CascStorageInfoClass["LocalFileCount"] = 0] = "LocalFileCount";
|
|
@@ -47,6 +49,7 @@ var CascStorageInfoClass;
|
|
|
47
49
|
CascStorageInfoClass[CascStorageInfoClass["Tags"] = 5] = "Tags";
|
|
48
50
|
CascStorageInfoClass[CascStorageInfoClass["PathProduct"] = 6] = "PathProduct";
|
|
49
51
|
})(CascStorageInfoClass || (exports.CascStorageInfoClass = CascStorageInfoClass = {}));
|
|
52
|
+
// File info classes
|
|
50
53
|
var CascFileInfoClass;
|
|
51
54
|
(function (CascFileInfoClass) {
|
|
52
55
|
CascFileInfoClass[CascFileInfoClass["ContentKey"] = 0] = "ContentKey";
|
|
@@ -54,6 +57,7 @@ var CascFileInfoClass;
|
|
|
54
57
|
CascFileInfoClass[CascFileInfoClass["FullInfo"] = 2] = "FullInfo";
|
|
55
58
|
CascFileInfoClass[CascFileInfoClass["SpanInfo"] = 3] = "SpanInfo";
|
|
56
59
|
})(CascFileInfoClass || (exports.CascFileInfoClass = CascFileInfoClass = {}));
|
|
60
|
+
// Name type enum
|
|
57
61
|
var CascNameType;
|
|
58
62
|
(function (CascNameType) {
|
|
59
63
|
CascNameType[CascNameType["Full"] = 0] = "Full";
|
|
@@ -63,23 +67,30 @@ var CascNameType;
|
|
|
63
67
|
})(CascNameType || (exports.CascNameType = CascNameType = {}));
|
|
64
68
|
exports.CascStorageBinding = bindings.Storage;
|
|
65
69
|
exports.CascFileBinding = bindings.File;
|
|
70
|
+
// Utility functions
|
|
66
71
|
exports.CascOpenLocalFile = bindings.CascOpenLocalFile;
|
|
67
72
|
exports.GetCascError = bindings.GetCascError;
|
|
68
73
|
exports.SetCascError = bindings.SetCascError;
|
|
74
|
+
// CDN functions
|
|
69
75
|
exports.CascCdnGetDefault = bindings.CascCdnGetDefault;
|
|
70
76
|
exports.CascCdnDownload = bindings.CascCdnDownload;
|
|
77
|
+
// Version constants
|
|
71
78
|
exports.CASCLIB_VERSION = bindings.CASCLIB_VERSION || 0x0300;
|
|
72
79
|
exports.CASCLIB_VERSION_STRING = "3.0";
|
|
80
|
+
// File positioning constants
|
|
73
81
|
exports.FILE_BEGIN = bindings.FILE_BEGIN;
|
|
74
82
|
exports.FILE_CURRENT = bindings.FILE_CURRENT;
|
|
75
83
|
exports.FILE_END = bindings.FILE_END;
|
|
84
|
+
// Other useful constants
|
|
76
85
|
exports.CASC_FILEID_FORMAT = bindings.CASC_FILEID_FORMAT;
|
|
77
86
|
exports.CASC_PARAM_SEPARATOR = bindings.CASC_PARAM_SEPARATOR;
|
|
87
|
+
// Progress message constants
|
|
78
88
|
exports.CascProgressLoadingFile = bindings.CascProgressLoadingFile;
|
|
79
89
|
exports.CascProgressLoadingManifest = bindings.CascProgressLoadingManifest;
|
|
80
90
|
exports.CascProgressDownloadingFile = bindings.CascProgressDownloadingFile;
|
|
81
91
|
exports.CascProgressLoadingIndexes = bindings.CascProgressLoadingIndexes;
|
|
82
92
|
exports.CascProgressDownloadingArchiveIndexes = bindings.CascProgressDownloadingArchiveIndexes;
|
|
93
|
+
// Open flags
|
|
83
94
|
exports.CASC_OPEN_BY_NAME = bindings.CASC_OPEN_BY_NAME;
|
|
84
95
|
exports.CASC_OPEN_BY_CKEY = bindings.CASC_OPEN_BY_CKEY;
|
|
85
96
|
exports.CASC_OPEN_BY_EKEY = bindings.CASC_OPEN_BY_EKEY;
|
|
@@ -89,6 +100,7 @@ exports.CASC_OPEN_FLAGS_MASK = bindings.CASC_OPEN_FLAGS_MASK;
|
|
|
89
100
|
exports.CASC_STRICT_DATA_CHECK = bindings.CASC_STRICT_DATA_CHECK;
|
|
90
101
|
exports.CASC_OVERCOME_ENCRYPTED = bindings.CASC_OVERCOME_ENCRYPTED;
|
|
91
102
|
exports.CASC_OPEN_CKEY_ONCE = bindings.CASC_OPEN_CKEY_ONCE;
|
|
103
|
+
// Locale flags
|
|
92
104
|
exports.CASC_LOCALE_ALL = bindings.CASC_LOCALE_ALL;
|
|
93
105
|
exports.CASC_LOCALE_ALL_WOW = bindings.CASC_LOCALE_ALL_WOW;
|
|
94
106
|
exports.CASC_LOCALE_NONE = bindings.CASC_LOCALE_NONE;
|
|
@@ -109,6 +121,7 @@ exports.CASC_LOCALE_RURU = bindings.CASC_LOCALE_RURU;
|
|
|
109
121
|
exports.CASC_LOCALE_PTBR = bindings.CASC_LOCALE_PTBR;
|
|
110
122
|
exports.CASC_LOCALE_ITIT = bindings.CASC_LOCALE_ITIT;
|
|
111
123
|
exports.CASC_LOCALE_PTPT = bindings.CASC_LOCALE_PTPT;
|
|
124
|
+
// Content flags
|
|
112
125
|
exports.CASC_CFLAG_INSTALL = bindings.CASC_CFLAG_INSTALL;
|
|
113
126
|
exports.CASC_CFLAG_LOAD_ON_WINDOWS = bindings.CASC_CFLAG_LOAD_ON_WINDOWS;
|
|
114
127
|
exports.CASC_CFLAG_LOAD_ON_MAC = bindings.CASC_CFLAG_LOAD_ON_MAC;
|
|
@@ -123,16 +136,19 @@ exports.CASC_CFLAG_NO_NAME_HASH = bindings.CASC_CFLAG_NO_NAME_HASH;
|
|
|
123
136
|
exports.CASC_CFLAG_UNCMN_RESOLUTION = bindings.CASC_CFLAG_UNCMN_RESOLUTION;
|
|
124
137
|
exports.CASC_CFLAG_BUNDLE = bindings.CASC_CFLAG_BUNDLE;
|
|
125
138
|
exports.CASC_CFLAG_NO_COMPRESSION = bindings.CASC_CFLAG_NO_COMPRESSION;
|
|
139
|
+
// Hash sizes
|
|
126
140
|
exports.MD5_HASH_SIZE = bindings.MD5_HASH_SIZE;
|
|
127
141
|
exports.MD5_STRING_SIZE = bindings.MD5_STRING_SIZE;
|
|
128
142
|
exports.SHA1_HASH_SIZE = bindings.SHA1_HASH_SIZE;
|
|
129
143
|
exports.SHA1_STRING_SIZE = bindings.SHA1_STRING_SIZE;
|
|
144
|
+
// Invalid values
|
|
130
145
|
exports.CASC_INVALID_INDEX = bindings.CASC_INVALID_INDEX;
|
|
131
146
|
exports.CASC_INVALID_SIZE = bindings.CASC_INVALID_SIZE;
|
|
132
147
|
exports.CASC_INVALID_POS = bindings.CASC_INVALID_POS;
|
|
133
148
|
exports.CASC_INVALID_ID = bindings.CASC_INVALID_ID;
|
|
134
149
|
exports.CASC_INVALID_OFFS64 = bindings.CASC_INVALID_OFFS64;
|
|
135
150
|
exports.CASC_INVALID_SIZE64 = bindings.CASC_INVALID_SIZE64;
|
|
151
|
+
// Storage info constants
|
|
136
152
|
exports.CascStorageLocalFileCount = bindings.CascStorageLocalFileCount;
|
|
137
153
|
exports.CascStorageTotalFileCount = bindings.CascStorageTotalFileCount;
|
|
138
154
|
exports.CascStorageFeatures = bindings.CascStorageFeatures;
|
|
@@ -140,10 +156,12 @@ exports.CascStorageInstalledLocales = bindings.CascStorageInstalledLocales;
|
|
|
140
156
|
exports.CascStorageProduct = bindings.CascStorageProduct;
|
|
141
157
|
exports.CascStorageTags = bindings.CascStorageTags;
|
|
142
158
|
exports.CascStoragePathProduct = bindings.CascStoragePathProduct;
|
|
159
|
+
// File info constants
|
|
143
160
|
exports.CascFileContentKey = bindings.CascFileContentKey;
|
|
144
161
|
exports.CascFileEncodedKey = bindings.CascFileEncodedKey;
|
|
145
162
|
exports.CascFileFullInfo = bindings.CascFileFullInfo;
|
|
146
163
|
exports.CascFileSpanInfo = bindings.CascFileSpanInfo;
|
|
164
|
+
// Feature flags
|
|
147
165
|
exports.CASC_FEATURE_FILE_NAMES = bindings.CASC_FEATURE_FILE_NAMES;
|
|
148
166
|
exports.CASC_FEATURE_ROOT_CKEY = bindings.CASC_FEATURE_ROOT_CKEY;
|
|
149
167
|
exports.CASC_FEATURE_TAGS = bindings.CASC_FEATURE_TAGS;
|
|
@@ -156,5 +174,6 @@ exports.CASC_FEATURE_DATA_ARCHIVES = bindings.CASC_FEATURE_DATA_ARCHIVES;
|
|
|
156
174
|
exports.CASC_FEATURE_DATA_FILES = bindings.CASC_FEATURE_DATA_FILES;
|
|
157
175
|
exports.CASC_FEATURE_ONLINE = bindings.CASC_FEATURE_ONLINE;
|
|
158
176
|
exports.CASC_FEATURE_FORCE_DOWNLOAD = bindings.CASC_FEATURE_FORCE_DOWNLOAD;
|
|
177
|
+
// Key length
|
|
159
178
|
exports.CASC_KEY_LENGTH = bindings.CASC_KEY_LENGTH;
|
|
160
179
|
//# sourceMappingURL=bindings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../lib/bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { CascFindData, CascStorageInfo, CascFileInfoResult, CascOpenStorageExOptions, CascFile } from './bindings';
|
|
2
|
+
/**
|
|
3
|
+
* Options for opening a CASC storage
|
|
4
|
+
*/
|
|
5
|
+
export interface StorageOpenOptions {
|
|
6
|
+
/** Flags for opening the storage */
|
|
7
|
+
flags?: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Information about a file in CASC storage
|
|
11
|
+
*/
|
|
12
|
+
export interface FileInfo {
|
|
13
|
+
/** File name */
|
|
14
|
+
name: string;
|
|
15
|
+
/** File size in bytes */
|
|
16
|
+
size: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Options for opening a file from storage
|
|
20
|
+
*/
|
|
21
|
+
export interface FileOpenOptions {
|
|
22
|
+
/** Open flags */
|
|
23
|
+
flags?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* CascLib Storage wrapper class
|
|
27
|
+
* Provides methods to interact with CASC storage archives
|
|
28
|
+
*/
|
|
29
|
+
export declare class Storage {
|
|
30
|
+
private storage;
|
|
31
|
+
constructor();
|
|
32
|
+
/**
|
|
33
|
+
* Open a CASC storage at the specified path
|
|
34
|
+
* @param path - Path to the CASC storage directory
|
|
35
|
+
* @param options - Optional opening options
|
|
36
|
+
*/
|
|
37
|
+
open(path: string, options?: StorageOpenOptions): void;
|
|
38
|
+
/**
|
|
39
|
+
* Open an online CASC storage
|
|
40
|
+
* @param path - Connection string in the format: `local_cache_folder[*cdn_server_url]*code_name[*region]`
|
|
41
|
+
* - `local_cache_folder`: Local cache directory for downloaded game data (reusable)
|
|
42
|
+
* - Windows: `C:/Temp/CASC/Cache`
|
|
43
|
+
* - Linux: `/tmp/casc/cache`
|
|
44
|
+
* - `cdn_server_url`: Optional CDN server URL (e.g., "http://us.patch.battle.net:1119")
|
|
45
|
+
* - `code_name`: TACT product code (e.g., "hero" for Heroes of the Storm, "wow" for World of Warcraft)
|
|
46
|
+
* See https://wowdev.wiki/TACT for available product codes
|
|
47
|
+
* - `region`: Optional server region (e.g., "us", "eu", "kr", "tw", "cn")
|
|
48
|
+
* @param options - Optional opening options
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* // Windows - Basic usage with minimal parameters
|
|
52
|
+
* storage.openOnline('C:/Temp/CASC/Cache*hero');
|
|
53
|
+
*
|
|
54
|
+
* // Linux - Basic usage
|
|
55
|
+
* storage.openOnline('/tmp/casc/cache*hero');
|
|
56
|
+
*
|
|
57
|
+
* // With CDN server specified
|
|
58
|
+
* storage.openOnline('C:/Temp/CASC/Cache*http://us.patch.battle.net:1119*hero');
|
|
59
|
+
*
|
|
60
|
+
* // With region specified
|
|
61
|
+
* storage.openOnline('/tmp/casc/cache*hero*us');
|
|
62
|
+
*
|
|
63
|
+
* // Full format with all parameters
|
|
64
|
+
* storage.openOnline('C:/Temp/CASC/Cache*http://us.patch.battle.net:1119*hero*us');
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
openOnline(path: string, options?: StorageOpenOptions): void;
|
|
68
|
+
/**
|
|
69
|
+
* Open a CASC storage with extended parameters (CascOpenStorageEx)
|
|
70
|
+
* @param params - Path or parameter string
|
|
71
|
+
* @param options - Extended opening options
|
|
72
|
+
*/
|
|
73
|
+
openEx(params: string, options?: CascOpenStorageExOptions): void;
|
|
74
|
+
/**
|
|
75
|
+
* Close the CASC storage
|
|
76
|
+
*/
|
|
77
|
+
close(): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Open a file from the storage
|
|
80
|
+
* @param filename - Name of the file to open
|
|
81
|
+
* @param options - Optional opening options
|
|
82
|
+
* @returns A File object
|
|
83
|
+
*/
|
|
84
|
+
openFile(filename: string, options?: FileOpenOptions): File;
|
|
85
|
+
/**
|
|
86
|
+
* Get information about a file
|
|
87
|
+
* @param filename - Name of the file
|
|
88
|
+
* @returns File information or null if file doesn't exist
|
|
89
|
+
*/
|
|
90
|
+
getFileInfo(filename: string): FileInfo | null;
|
|
91
|
+
/**
|
|
92
|
+
* Check if a file exists in the storage
|
|
93
|
+
* @param filename - Name of the file
|
|
94
|
+
* @returns true if file exists, false otherwise
|
|
95
|
+
*/
|
|
96
|
+
fileExists(filename: string): boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Get storage information
|
|
99
|
+
* @param infoClass - The type of information to retrieve
|
|
100
|
+
* @returns Storage information object
|
|
101
|
+
*/
|
|
102
|
+
getStorageInfo(infoClass: number): CascStorageInfo;
|
|
103
|
+
/**
|
|
104
|
+
* Find the first file matching the mask
|
|
105
|
+
* @param mask - File mask (e.g., "*.txt")
|
|
106
|
+
* @param listFile - Optional list file path
|
|
107
|
+
* @returns Find data or null if no files found
|
|
108
|
+
*/
|
|
109
|
+
findFirstFile(mask?: string, listFile?: string): CascFindData | null;
|
|
110
|
+
/**
|
|
111
|
+
* Find the next file in the search
|
|
112
|
+
* @returns Find data or null if no more files
|
|
113
|
+
*/
|
|
114
|
+
findNextFile(): CascFindData | null;
|
|
115
|
+
/**
|
|
116
|
+
* Close the current find operation
|
|
117
|
+
* @returns true if closed successfully
|
|
118
|
+
*/
|
|
119
|
+
findClose(): boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Add an encryption key to the storage
|
|
122
|
+
* @param keyName - Name/ID of the key
|
|
123
|
+
* @param key - Key data as Buffer
|
|
124
|
+
* @returns true if added successfully
|
|
125
|
+
*/
|
|
126
|
+
addEncryptionKey(keyName: number, key: Buffer): boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Add an encryption key from a string
|
|
129
|
+
* @param keyName - Name/ID of the key
|
|
130
|
+
* @param keyStr - Key as string
|
|
131
|
+
* @returns true if added successfully
|
|
132
|
+
*/
|
|
133
|
+
addStringEncryptionKey(keyName: number, keyStr: string): boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Import encryption keys from a string
|
|
136
|
+
* @param keyList - String containing key list
|
|
137
|
+
* @returns true if imported successfully
|
|
138
|
+
*/
|
|
139
|
+
importKeysFromString(keyList: string): boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Import encryption keys from a file
|
|
142
|
+
* @param filePath - Path to the key file
|
|
143
|
+
* @returns true if imported successfully
|
|
144
|
+
*/
|
|
145
|
+
importKeysFromFile(filePath: string): boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Find an encryption key by name
|
|
148
|
+
* @param keyName - Name/ID of the key
|
|
149
|
+
* @returns Key data or null if not found
|
|
150
|
+
*/
|
|
151
|
+
findEncryptionKey(keyName: number): Buffer | null;
|
|
152
|
+
/**
|
|
153
|
+
* Get the name of an encryption key that was not found
|
|
154
|
+
* @returns Key name or null
|
|
155
|
+
*/
|
|
156
|
+
getNotFoundEncryptionKey(): number | null;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* CascLib File wrapper class
|
|
160
|
+
* Represents an open file in CASC storage
|
|
161
|
+
*/
|
|
162
|
+
export declare class File {
|
|
163
|
+
private file;
|
|
164
|
+
constructor(file: CascFile);
|
|
165
|
+
/**
|
|
166
|
+
* Read data from the file
|
|
167
|
+
* @param bytesToRead - Number of bytes to read (default: 4096)
|
|
168
|
+
* @returns Buffer containing the read data
|
|
169
|
+
*/
|
|
170
|
+
read(bytesToRead?: number): Buffer;
|
|
171
|
+
/**
|
|
172
|
+
* Read all data from the file
|
|
173
|
+
* @returns Buffer containing all file data
|
|
174
|
+
*/
|
|
175
|
+
readAll(): Buffer;
|
|
176
|
+
/**
|
|
177
|
+
* Get the file size (32-bit)
|
|
178
|
+
* @returns File size in bytes
|
|
179
|
+
*/
|
|
180
|
+
getSize(): number;
|
|
181
|
+
/**
|
|
182
|
+
* Get the file size (64-bit)
|
|
183
|
+
* @returns File size in bytes
|
|
184
|
+
*/
|
|
185
|
+
getSize64(): number;
|
|
186
|
+
/**
|
|
187
|
+
* Get the current file position (32-bit)
|
|
188
|
+
* @returns Current position in bytes
|
|
189
|
+
*/
|
|
190
|
+
getPosition(): number;
|
|
191
|
+
/**
|
|
192
|
+
* Get the current file position (64-bit)
|
|
193
|
+
* @returns Current position in bytes
|
|
194
|
+
*/
|
|
195
|
+
getPosition64(): number;
|
|
196
|
+
/**
|
|
197
|
+
* Set the file position (32-bit)
|
|
198
|
+
* @param position - New position in bytes
|
|
199
|
+
* @returns The new position
|
|
200
|
+
*/
|
|
201
|
+
setPosition(position: number): number;
|
|
202
|
+
/**
|
|
203
|
+
* Set the file position (64-bit)
|
|
204
|
+
* @param position - New position in bytes
|
|
205
|
+
* @param moveMethod - Move method (FILE_BEGIN, FILE_CURRENT, FILE_END)
|
|
206
|
+
* @returns The new position
|
|
207
|
+
*/
|
|
208
|
+
setPosition64(position: number, moveMethod?: number): number;
|
|
209
|
+
/**
|
|
210
|
+
* Get detailed file information
|
|
211
|
+
* @param infoClass - The type of information to retrieve
|
|
212
|
+
* @returns File information object
|
|
213
|
+
*/
|
|
214
|
+
getFileInfo(infoClass: number): CascFileInfoResult;
|
|
215
|
+
/**
|
|
216
|
+
* Set file flags
|
|
217
|
+
* @param flags - Flags to set
|
|
218
|
+
* @returns true if set successfully
|
|
219
|
+
*/
|
|
220
|
+
setFileFlags(flags: number): boolean;
|
|
221
|
+
/**
|
|
222
|
+
* Close the file
|
|
223
|
+
* @returns true if closed successfully
|
|
224
|
+
*/
|
|
225
|
+
close(): boolean;
|
|
226
|
+
}
|
|
227
|
+
export * from './bindings';
|
|
228
|
+
declare const _default: {
|
|
229
|
+
Storage: typeof Storage;
|
|
230
|
+
File: typeof File;
|
|
231
|
+
};
|
|
232
|
+
export default _default;
|
|
233
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"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"}
|