bireader 3.1.4 → 3.1.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # BiReader / BiWriter
2
2
 
3
- A feature rich binary reader ***and writer*** that keeps track of your position to quickly create file structures. Includes shared naming conventions, programmable inputs and advanced math for easy data conversions on low level parsing. Accepts `Uint8Array` or `Buffer`.
3
+ A feature rich binary reader ***and writer*** that keeps track of your position to quickly create file structures. Includes shared naming conventions, programmable inputs and advanced math for easy data conversions on low level parsing. Accepts `Uint8Array`, `Buffer` or a ``filePath`` with [Streams](#bistreams).
4
4
 
5
5
  Supported data types:
6
6
 
@@ -18,7 +18,8 @@ Supported data types:
18
18
 
19
19
  ### v3
20
20
  * Added Browser, Node CommonJS and Node ESM modules.
21
- * Added new ``BiReaderStream`` and ``BiWriterStream`` for use in Node with large file size (4 gig+). See [documention](#bistreams) for how to use.
21
+ * Added new ``BiReaderStream`` and ``BiWriterStream`` (Node only) that works without loading the whole file into memory. See [documention](#bistreams) for how to use.
22
+ * Added ``.deleteFile()`` and ``.renameFile(filePath)``.
22
23
  * Added setter ``.strSettings`` for use with ``.str`` for easier coding.
23
24
  * Added better options for extending array buffer when writing data with ``extendBufferSize``.
24
25
  * Consolidated all options argument into single object when creating class.
@@ -27,6 +28,7 @@ Supported data types:
27
28
 
28
29
  ### v2
29
30
  * Created new ``BiReader`` and ``BiWriter`` classes with *get* and *set* functions for easier coding.
31
+ * Marked ``bireader`` and ``biwriter`` as deprecated. Set to be removed next update.
30
32
 
31
33
  ### v1
32
34
  * Included math functions and value searches.
@@ -36,7 +38,7 @@ Supported data types:
36
38
 
37
39
  ```npm install bireader```
38
40
 
39
- Provides both CommonJS and ES modules for Browser and Node.
41
+ Provides both CommonJS and ES modules for Node and Browser.
40
42
 
41
43
  ### Example
42
44
 
@@ -743,7 +745,7 @@ Common functions for setup, movement, manipulation and math shared by both.
743
745
 
744
746
  ## BiStreams
745
747
 
746
- With 3.1 you can now use ``BiReaderStream`` and ``BiWriterStream`` in Node for larger files (or if you don't want or need the whole file loaded to memory all at once).
748
+ With 3.1 you can now use ``BiReaderStream`` and ``BiWriterStream`` (Node only) designed for larger files (or if you don't want or need the whole file loaded to memory all at once).
747
749
 
748
750
  <table>
749
751
  <thead>
@@ -787,7 +789,18 @@ With 3.1 you can now use ``BiReaderStream`` and ``BiWriterStream`` in Node for l
787
789
  <td align="center"><b>True if you want to switch to writing in BiReaderStream.</td>
788
790
  <td>Note: This changes reader to write mode. Allows file to be expanded in size as well.</td>
789
791
  </tr>
790
-
792
+ <tr>
793
+ <td>Name</td>
794
+ <td>renameFile(<b>newFilePath</b>)
795
+ <td align="center"><b>Full path to file to rename.</td>
796
+ <td>Renames the file on the file system, keeps read / write position.<br/><br/><b>Note: This is permanent.</b></td>
797
+ </tr>
798
+ <tr>
799
+ <td>Name</td>
800
+ <td>deleteFile()
801
+ <td align="center"><b>none</td>
802
+ <td>Unlinks the file from the file system.<br/><br/><b>Note: This is permanent, it doesn't send the file to the recycling bin for recovery.</b></td>
803
+ </tr>
791
804
  </tbody>
792
805
  </table>
793
806
 
@@ -1,4 +1,4 @@
1
- import { stringOptions, endian } from "../common.js";
1
+ import { BigValue, stringOptions, endian } from "../common.js";
2
2
  import { BiBase } from '../core/BiBase.js';
3
3
  import { BiBaseStreamer } from '../core/BiBaseStream.js';
4
4
  export interface BinaryAliasWriter extends BiBase {
@@ -1942,111 +1942,111 @@ export interface BinaryAliasWriter extends BiBase {
1942
1942
  /**
1943
1943
  * Write 64 bit integer.
1944
1944
  *
1945
- * @param {number|bigint} value - value as int
1945
+ * @param {BigValue} value - value as int
1946
1946
  */
1947
- set int64(value: number | bigint);
1947
+ set int64(value: BigValue);
1948
1948
  /**
1949
1949
  * Write 64 bit integer.
1950
1950
  *
1951
- * @param {number|bigint} value - value as int
1951
+ * @param {BigValue} value - value as int
1952
1952
  */
1953
- set quad(value: number | bigint);
1953
+ set quad(value: BigValue);
1954
1954
  /**
1955
1955
  * Write 64 bit integer.
1956
1956
  *
1957
- * @param {number|bigint} value - value as int
1957
+ * @param {BigValue} value - value as int
1958
1958
  */
1959
- set bigint(value: number | bigint);
1959
+ set bigint(value: BigValue);
1960
1960
  /**
1961
1961
  * Write unsigned 64 bit integer.
1962
1962
  *
1963
- * @param {number|bigint} value - value as int
1963
+ * @param {BigValue} value - value as int
1964
1964
  */
1965
- set uint64(value: number | bigint);
1965
+ set uint64(value: BigValue);
1966
1966
  /**
1967
1967
  * Write unsigned 64 bit integer.
1968
1968
  *
1969
- * @param {number|bigint} value - value as int
1969
+ * @param {BigValue} value - value as int
1970
1970
  */
1971
- set ubigint(value: number | bigint);
1971
+ set ubigint(value: BigValue);
1972
1972
  /**
1973
1973
  * Write unsigned 64 bit integer.
1974
1974
  *
1975
- * @param {number|bigint} value - value as int
1975
+ * @param {BigValue} value - value as int
1976
1976
  */
1977
- set uquad(value: number | bigint);
1977
+ set uquad(value: BigValue);
1978
1978
  /**
1979
1979
  * Write signed 64 bit integer.
1980
1980
  *
1981
- * @param {number|bigint} value - value as int
1981
+ * @param {BigValue} value - value as int
1982
1982
  */
1983
- set int64le(value: number | bigint);
1983
+ set int64le(value: BigValue);
1984
1984
  /**
1985
1985
  * Write signed 64 bit integer.
1986
1986
  *
1987
- * @param {number|bigint} value - value as int
1987
+ * @param {BigValue} value - value as int
1988
1988
  */
1989
- set bigintle(value: number | bigint);
1989
+ set bigintle(value: BigValue);
1990
1990
  /**
1991
1991
  * Write signed 64 bit integer.
1992
1992
  *
1993
- * @param {number|bigint} value - value as int
1993
+ * @param {BigValue} value - value as int
1994
1994
  */
1995
- set quadle(value: number | bigint);
1995
+ set quadle(value: BigValue);
1996
1996
  /**
1997
1997
  * Write unsigned 64 bit integer.
1998
1998
  *
1999
- * @param {number|bigint} value - value as int
1999
+ * @param {BigValue} value - value as int
2000
2000
  */
2001
- set uint64le(value: number | bigint);
2001
+ set uint64le(value: BigValue);
2002
2002
  /**
2003
2003
  * Write unsigned 64 bit integer.
2004
2004
  *
2005
- * @param {number|bigint} value - value as int
2005
+ * @param {BigValue} value - value as int
2006
2006
  */
2007
- set ubigintle(value: number | bigint);
2007
+ set ubigintle(value: BigValue);
2008
2008
  /**
2009
2009
  * Write unsigned 64 bit integer.
2010
2010
  *
2011
- * @param {number|bigint} value - value as int
2011
+ * @param {BigValue} value - value as int
2012
2012
  */
2013
- set uquadle(value: number | bigint);
2013
+ set uquadle(value: BigValue);
2014
2014
  /**
2015
2015
  * Write signed 64 bit integer.
2016
2016
  *
2017
- * @param {number|bigint} value - value as int
2017
+ * @param {BigValue} value - value as int
2018
2018
  */
2019
- set int64be(value: number | bigint);
2019
+ set int64be(value: BigValue);
2020
2020
  /**
2021
2021
  * Write signed 64 bit integer.
2022
2022
  *
2023
- * @param {number|bigint} value - value as int
2023
+ * @param {BigValue} value - value as int
2024
2024
  */
2025
- set bigintbe(value: number | bigint);
2025
+ set bigintbe(value: BigValue);
2026
2026
  /**
2027
2027
  * Write signed 64 bit integer.
2028
2028
  *
2029
- * @param {number|bigint} value - value as int
2029
+ * @param {BigValue} value - value as int
2030
2030
  */
2031
- set quadbe(value: number | bigint);
2031
+ set quadbe(value: BigValue);
2032
2032
  /**
2033
2033
  * Write unsigned 64 bit integer.
2034
2034
  *
2035
- * @param {number|bigint} value - value as int
2035
+ * @param {BigValue} value - value as int
2036
2036
  */
2037
- set uint64be(value: number | bigint);
2037
+ set uint64be(value: BigValue);
2038
2038
  /**
2039
2039
  * Write unsigned 64 bit integer.
2040
2040
  *
2041
- * @param {number|bigint} value - value as int
2041
+ * @param {BigValue} value - value as int
2042
2042
  */
2043
- set ubigintbe(value: number | bigint);
2043
+ set ubigintbe(value: BigValue);
2044
2044
  /**
2045
2045
  * Write unsigned 64 bit integer.
2046
2046
  *
2047
- * @param {number|bigint} value - value as int
2047
+ * @param {BigValue} value - value as int
2048
2048
  */
2049
- set uquadbe(value: number | bigint);
2049
+ set uquadbe(value: BigValue);
2050
2050
  /**
2051
2051
  * Writes double float.
2052
2052
  *
@@ -4264,111 +4264,111 @@ export interface BinaryAliasWriterStreamer extends BiBaseStreamer {
4264
4264
  /**
4265
4265
  * Write 64 bit integer.
4266
4266
  *
4267
- * @param {number|bigint} value - value as int
4267
+ * @param {BigValue} value - value as int
4268
4268
  */
4269
- set int64(value: number | bigint);
4269
+ set int64(value: BigValue);
4270
4270
  /**
4271
4271
  * Write 64 bit integer.
4272
4272
  *
4273
- * @param {number|bigint} value - value as int
4273
+ * @param {BigValue} value - value as int
4274
4274
  */
4275
- set quad(value: number | bigint);
4275
+ set quad(value: BigValue);
4276
4276
  /**
4277
4277
  * Write 64 bit integer.
4278
4278
  *
4279
- * @param {number|bigint} value - value as int
4279
+ * @param {BigValue} value - value as int
4280
4280
  */
4281
- set bigint(value: number | bigint);
4281
+ set bigint(value: BigValue);
4282
4282
  /**
4283
4283
  * Write unsigned 64 bit integer.
4284
4284
  *
4285
- * @param {number|bigint} value - value as int
4285
+ * @param {BigValue} value - value as int
4286
4286
  */
4287
- set uint64(value: number | bigint);
4287
+ set uint64(value: BigValue);
4288
4288
  /**
4289
4289
  * Write unsigned 64 bit integer.
4290
4290
  *
4291
- * @param {number|bigint} value - value as int
4291
+ * @param {BigValue} value - value as int
4292
4292
  */
4293
- set ubigint(value: number | bigint);
4293
+ set ubigint(value: BigValue);
4294
4294
  /**
4295
4295
  * Write unsigned 64 bit integer.
4296
4296
  *
4297
- * @param {number|bigint} value - value as int
4297
+ * @param {BigValue} value - value as int
4298
4298
  */
4299
- set uquad(value: number | bigint);
4299
+ set uquad(value: BigValue);
4300
4300
  /**
4301
4301
  * Write signed 64 bit integer.
4302
4302
  *
4303
- * @param {number|bigint} value - value as int
4303
+ * @param {BigValue} value - value as int
4304
4304
  */
4305
- set int64le(value: number | bigint);
4305
+ set int64le(value: BigValue);
4306
4306
  /**
4307
4307
  * Write signed 64 bit integer.
4308
4308
  *
4309
- * @param {number|bigint} value - value as int
4309
+ * @param {BigValue} value - value as int
4310
4310
  */
4311
- set bigintle(value: number | bigint);
4311
+ set bigintle(value: BigValue);
4312
4312
  /**
4313
4313
  * Write signed 64 bit integer.
4314
4314
  *
4315
- * @param {number|bigint} value - value as int
4315
+ * @param {BigValue} value - value as int
4316
4316
  */
4317
- set quadle(value: number | bigint);
4317
+ set quadle(value: BigValue);
4318
4318
  /**
4319
4319
  * Write unsigned 64 bit integer.
4320
4320
  *
4321
- * @param {number|bigint} value - value as int
4321
+ * @param {BigValue} value - value as int
4322
4322
  */
4323
- set uint64le(value: number | bigint);
4323
+ set uint64le(value: BigValue);
4324
4324
  /**
4325
4325
  * Write unsigned 64 bit integer.
4326
4326
  *
4327
- * @param {number|bigint} value - value as int
4327
+ * @param {BigValue} value - value as int
4328
4328
  */
4329
- set ubigintle(value: number | bigint);
4329
+ set ubigintle(value: BigValue);
4330
4330
  /**
4331
4331
  * Write unsigned 64 bit integer.
4332
4332
  *
4333
- * @param {number|bigint} value - value as int
4333
+ * @param {BigValue} value - value as int
4334
4334
  */
4335
- set uquadle(value: number | bigint);
4335
+ set uquadle(value: BigValue);
4336
4336
  /**
4337
4337
  * Write signed 64 bit integer.
4338
4338
  *
4339
- * @param {number|bigint} value - value as int
4339
+ * @param {BigValue} value - value as int
4340
4340
  */
4341
- set int64be(value: number | bigint);
4341
+ set int64be(value: BigValue);
4342
4342
  /**
4343
4343
  * Write signed 64 bit integer.
4344
4344
  *
4345
- * @param {number|bigint} value - value as int
4345
+ * @param {BigValue} value - value as int
4346
4346
  */
4347
- set bigintbe(value: number | bigint);
4347
+ set bigintbe(value: BigValue);
4348
4348
  /**
4349
4349
  * Write signed 64 bit integer.
4350
4350
  *
4351
- * @param {number|bigint} value - value as int
4351
+ * @param {BigValue} value - value as int
4352
4352
  */
4353
- set quadbe(value: number | bigint);
4353
+ set quadbe(value: BigValue);
4354
4354
  /**
4355
4355
  * Write unsigned 64 bit integer.
4356
4356
  *
4357
- * @param {number|bigint} value - value as int
4357
+ * @param {BigValue} value - value as int
4358
4358
  */
4359
- set uint64be(value: number | bigint);
4359
+ set uint64be(value: BigValue);
4360
4360
  /**
4361
4361
  * Write unsigned 64 bit integer.
4362
4362
  *
4363
- * @param {number|bigint} value - value as int
4363
+ * @param {BigValue} value - value as int
4364
4364
  */
4365
- set ubigintbe(value: number | bigint);
4365
+ set ubigintbe(value: BigValue);
4366
4366
  /**
4367
4367
  * Write unsigned 64 bit integer.
4368
4368
  *
4369
- * @param {number|bigint} value - value as int
4369
+ * @param {BigValue} value - value as int
4370
4370
  */
4371
- set uquadbe(value: number | bigint);
4371
+ set uquadbe(value: BigValue);
4372
4372
  /**
4373
4373
  * Writes double float.
4374
4374
  *
@@ -86,6 +86,14 @@ export declare class BiBase {
86
86
  * Dummy function, not needed on Non-Stream
87
87
  */
88
88
  write(start: number, data: Buffer, consume?: boolean): number;
89
+ /**
90
+ * Dummy function, not needed on Non-Stream
91
+ */
92
+ renameFile(): void;
93
+ /**
94
+ * Dummy function, not needed on Non-Stream
95
+ */
96
+ deleteFile(): void;
89
97
  /**
90
98
  * Dummy function, not needed on Non-Stream
91
99
  */
@@ -117,6 +117,26 @@ export declare class BiBaseStreamer {
117
117
  * @returns {number}
118
118
  */
119
119
  commit(consume?: boolean): number;
120
+ /**
121
+ * Renames the file you are working on.
122
+ *
123
+ * Must be full file path and file name.
124
+ *
125
+ * Keeps write / read position.
126
+ *
127
+ * Note: This is permanent and can't be undone.
128
+ *
129
+ * @param {string} newFilePath - New full file path and name.
130
+ */
131
+ renameFile(newFilePath: string): void;
132
+ /**
133
+ * Deletes the working file.
134
+ *
135
+ * Note: This is permanentand can't be undone.
136
+ *
137
+ * It doesn't send the file to the recycling bin for recovery.
138
+ */
139
+ deleteFile(): void;
120
140
  /**
121
141
  * internal extend
122
142
  *
@@ -173,6 +173,14 @@ declare class BiBase {
173
173
  * Dummy function, not needed on Non-Stream
174
174
  */
175
175
  write(start: number, data: Buffer, consume?: boolean): number;
176
+ /**
177
+ * Dummy function, not needed on Non-Stream
178
+ */
179
+ renameFile(): void;
180
+ /**
181
+ * Dummy function, not needed on Non-Stream
182
+ */
183
+ deleteFile(): void;
176
184
  /**
177
185
  * Dummy function, not needed on Non-Stream
178
186
  */
@@ -6028,111 +6036,111 @@ interface BinaryAliasWriter extends BiBase {
6028
6036
  /**
6029
6037
  * Write 64 bit integer.
6030
6038
  *
6031
- * @param {number|bigint} value - value as int
6039
+ * @param {BigValue} value - value as int
6032
6040
  */
6033
- set int64(value: number | bigint);
6041
+ set int64(value: BigValue);
6034
6042
  /**
6035
6043
  * Write 64 bit integer.
6036
6044
  *
6037
- * @param {number|bigint} value - value as int
6045
+ * @param {BigValue} value - value as int
6038
6046
  */
6039
- set quad(value: number | bigint);
6047
+ set quad(value: BigValue);
6040
6048
  /**
6041
6049
  * Write 64 bit integer.
6042
6050
  *
6043
- * @param {number|bigint} value - value as int
6051
+ * @param {BigValue} value - value as int
6044
6052
  */
6045
- set bigint(value: number | bigint);
6053
+ set bigint(value: BigValue);
6046
6054
  /**
6047
6055
  * Write unsigned 64 bit integer.
6048
6056
  *
6049
- * @param {number|bigint} value - value as int
6057
+ * @param {BigValue} value - value as int
6050
6058
  */
6051
- set uint64(value: number | bigint);
6059
+ set uint64(value: BigValue);
6052
6060
  /**
6053
6061
  * Write unsigned 64 bit integer.
6054
6062
  *
6055
- * @param {number|bigint} value - value as int
6063
+ * @param {BigValue} value - value as int
6056
6064
  */
6057
- set ubigint(value: number | bigint);
6065
+ set ubigint(value: BigValue);
6058
6066
  /**
6059
6067
  * Write unsigned 64 bit integer.
6060
6068
  *
6061
- * @param {number|bigint} value - value as int
6069
+ * @param {BigValue} value - value as int
6062
6070
  */
6063
- set uquad(value: number | bigint);
6071
+ set uquad(value: BigValue);
6064
6072
  /**
6065
6073
  * Write signed 64 bit integer.
6066
6074
  *
6067
- * @param {number|bigint} value - value as int
6075
+ * @param {BigValue} value - value as int
6068
6076
  */
6069
- set int64le(value: number | bigint);
6077
+ set int64le(value: BigValue);
6070
6078
  /**
6071
6079
  * Write signed 64 bit integer.
6072
6080
  *
6073
- * @param {number|bigint} value - value as int
6081
+ * @param {BigValue} value - value as int
6074
6082
  */
6075
- set bigintle(value: number | bigint);
6083
+ set bigintle(value: BigValue);
6076
6084
  /**
6077
6085
  * Write signed 64 bit integer.
6078
6086
  *
6079
- * @param {number|bigint} value - value as int
6087
+ * @param {BigValue} value - value as int
6080
6088
  */
6081
- set quadle(value: number | bigint);
6089
+ set quadle(value: BigValue);
6082
6090
  /**
6083
6091
  * Write unsigned 64 bit integer.
6084
6092
  *
6085
- * @param {number|bigint} value - value as int
6093
+ * @param {BigValue} value - value as int
6086
6094
  */
6087
- set uint64le(value: number | bigint);
6095
+ set uint64le(value: BigValue);
6088
6096
  /**
6089
6097
  * Write unsigned 64 bit integer.
6090
6098
  *
6091
- * @param {number|bigint} value - value as int
6099
+ * @param {BigValue} value - value as int
6092
6100
  */
6093
- set ubigintle(value: number | bigint);
6101
+ set ubigintle(value: BigValue);
6094
6102
  /**
6095
6103
  * Write unsigned 64 bit integer.
6096
6104
  *
6097
- * @param {number|bigint} value - value as int
6105
+ * @param {BigValue} value - value as int
6098
6106
  */
6099
- set uquadle(value: number | bigint);
6107
+ set uquadle(value: BigValue);
6100
6108
  /**
6101
6109
  * Write signed 64 bit integer.
6102
6110
  *
6103
- * @param {number|bigint} value - value as int
6111
+ * @param {BigValue} value - value as int
6104
6112
  */
6105
- set int64be(value: number | bigint);
6113
+ set int64be(value: BigValue);
6106
6114
  /**
6107
6115
  * Write signed 64 bit integer.
6108
6116
  *
6109
- * @param {number|bigint} value - value as int
6117
+ * @param {BigValue} value - value as int
6110
6118
  */
6111
- set bigintbe(value: number | bigint);
6119
+ set bigintbe(value: BigValue);
6112
6120
  /**
6113
6121
  * Write signed 64 bit integer.
6114
6122
  *
6115
- * @param {number|bigint} value - value as int
6123
+ * @param {BigValue} value - value as int
6116
6124
  */
6117
- set quadbe(value: number | bigint);
6125
+ set quadbe(value: BigValue);
6118
6126
  /**
6119
6127
  * Write unsigned 64 bit integer.
6120
6128
  *
6121
- * @param {number|bigint} value - value as int
6129
+ * @param {BigValue} value - value as int
6122
6130
  */
6123
- set uint64be(value: number | bigint);
6131
+ set uint64be(value: BigValue);
6124
6132
  /**
6125
6133
  * Write unsigned 64 bit integer.
6126
6134
  *
6127
- * @param {number|bigint} value - value as int
6135
+ * @param {BigValue} value - value as int
6128
6136
  */
6129
- set ubigintbe(value: number | bigint);
6137
+ set ubigintbe(value: BigValue);
6130
6138
  /**
6131
6139
  * Write unsigned 64 bit integer.
6132
6140
  *
6133
- * @param {number|bigint} value - value as int
6141
+ * @param {BigValue} value - value as int
6134
6142
  */
6135
- set uquadbe(value: number | bigint);
6143
+ set uquadbe(value: BigValue);
6136
6144
  /**
6137
6145
  * Writes double float.
6138
6146
  *
@@ -6750,6 +6758,22 @@ declare class BiWriter extends BiWriterBase implements BinaryAliasWriter {
6750
6758
  wpstring4be(string: string): void;
6751
6759
  }
6752
6760
 
6761
+ /**
6762
+ * Isn't usable in browser.
6763
+ * @since 3.0
6764
+ * @deprecated Use ``BiReader`` instead.
6765
+ */
6766
+ declare class BiReaderStream {
6767
+ constructor();
6768
+ }
6769
+ /**
6770
+ * Isn't usable in browser.
6771
+ * @since 3.0
6772
+ * @deprecated Use ``BiWriter`` instead.
6773
+ */
6774
+ declare class BiWriterStream {
6775
+ constructor();
6776
+ }
6753
6777
  /**
6754
6778
  * Not in use anymore.
6755
6779
  * @since 3.0
@@ -6767,4 +6791,4 @@ declare class biwriter {
6767
6791
  constructor();
6768
6792
  }
6769
6793
 
6770
- export { BiReader, BiWriter, bireader, biwriter, hexdump };
6794
+ export { BiReader, BiReaderStream, BiWriter, BiWriterStream, bireader, biwriter, hexdump };