@k67/kaitai-struct-ts 0.10.0 โ 0.11.1
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 +41 -44
- package/dist/browser/index.mjs +27 -27
- package/dist/browser/index.mjs.map +1 -1
- package/dist/cli.js +84 -17
- package/dist/index.js +84 -17
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +84 -17
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,6 +17,19 @@
|
|
|
17
17
|
|
|
18
18
|
Parse any binary data format by providing a `.ksy` (Kaitai Struct YAML) definition file - no compilation step required!
|
|
19
19
|
|
|
20
|
+
## ๐ฎ Visual Debugger
|
|
21
|
+
|
|
22
|
+
**NEW in v0.11.0!** Try our interactive visual debugger:
|
|
23
|
+
|
|
24
|
+
**[๐ Launch Debugger](https://fabianopinto.github.io/kaitai-struct-ts/)** | [๐ Documentation](./debugger/README.md)
|
|
25
|
+
|
|
26
|
+
Features:
|
|
27
|
+
- ๐ Hex viewer with virtual scrolling
|
|
28
|
+
- ๐ณ Interactive parse tree
|
|
29
|
+
- โ๏ธ Monaco-based schema editor
|
|
30
|
+
- ๐ Step-by-step debugging
|
|
31
|
+
- โจ๏ธ Keyboard shortcuts (F5, F9, F10)
|
|
32
|
+
|
|
20
33
|
## Features
|
|
21
34
|
|
|
22
35
|
### Core Features
|
|
@@ -25,7 +38,7 @@ Parse any binary data format by providing a `.ksy` (Kaitai Struct YAML) definiti
|
|
|
25
38
|
- ๐ฆ **Zero dependencies** (runtime) - Only YAML parser for development
|
|
26
39
|
- ๐ฏ **TypeScript native** - Full type safety and IntelliSense support
|
|
27
40
|
- ๐ **Universal** - Works in Node.js and browsers
|
|
28
|
-
- ๐งช **Well tested** -
|
|
41
|
+
- ๐งช **Well tested** - 283 comprehensive tests
|
|
29
42
|
- ๐ **Well documented** - Clear API and examples
|
|
30
43
|
|
|
31
44
|
### Advanced Features
|
|
@@ -36,6 +49,7 @@ Parse any binary data format by providing a `.ksy` (Kaitai Struct YAML) definiti
|
|
|
36
49
|
- ๐จ **Enums** - Named constants with expression access
|
|
37
50
|
- ๐ **Conditional parsing** - if, repeat-expr, repeat-until
|
|
38
51
|
- ๐ **Positioned reads** - Absolute positioning with pos attribute
|
|
52
|
+
- ๐ **Streaming API** - Parse large files progressively (v0.10.0)
|
|
39
53
|
|
|
40
54
|
## Installation
|
|
41
55
|
|
|
@@ -108,28 +122,37 @@ console.log(result.name)
|
|
|
108
122
|
|
|
109
123
|
## Current Status
|
|
110
124
|
|
|
111
|
-
**Version:** 0.
|
|
125
|
+
**Version:** 0.10.0
|
|
112
126
|
**Status:** Production Ready ๐
|
|
113
|
-
**
|
|
127
|
+
**Latest:** Streaming API for large files
|
|
114
128
|
|
|
115
129
|
### โ
Fully Implemented
|
|
116
130
|
|
|
117
131
|
- **Core Runtime** - Complete binary stream reader with all primitive types
|
|
132
|
+
- **Streaming API** - Parse files larger than RAM with progressive results (NEW in v0.10.0)
|
|
118
133
|
- **KSY Parser** - Full YAML parser with schema validation
|
|
119
134
|
- **Type Interpreter** - Execute schemas against binary data
|
|
120
135
|
- **Expression Evaluator** - Complete Kaitai expression language support
|
|
121
136
|
- **Advanced Features** - Conditionals, enums, repetitions, instances, switch/case
|
|
122
137
|
- **CLI Tool** - Command-line utility for parsing binary files
|
|
123
|
-
- **Testing** -
|
|
138
|
+
- **Testing** - 283 comprehensive tests, all passing
|
|
124
139
|
- **Documentation** - Complete user and developer documentation
|
|
125
140
|
|
|
141
|
+
### ๐ What's New in v0.10.0
|
|
142
|
+
|
|
143
|
+
- **Streaming API** - Parse large files without loading everything into memory
|
|
144
|
+
- `StreamingKaitaiStream` - Forward-only stream reader
|
|
145
|
+
- `parseStreaming()` - Event-based progressive parsing
|
|
146
|
+
- Memory-efficient for files larger than RAM
|
|
147
|
+
- See [docs/STREAMING.md](./docs/STREAMING.md)
|
|
148
|
+
|
|
126
149
|
### ๐ Remaining for v1.0.0
|
|
127
150
|
|
|
128
|
-
-
|
|
151
|
+
- Processing implementations (zlib, encryption)
|
|
129
152
|
- Type imports across files
|
|
130
153
|
- Additional performance optimizations
|
|
131
154
|
|
|
132
|
-
See [docs/
|
|
155
|
+
See [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md) for architecture details.
|
|
133
156
|
|
|
134
157
|
## API Documentation
|
|
135
158
|
|
|
@@ -163,7 +186,7 @@ const stream = new KaitaiStream(buffer)
|
|
|
163
186
|
const value = stream.readU4le() // Read 4-byte unsigned little-endian integer
|
|
164
187
|
```
|
|
165
188
|
|
|
166
|
-
See [API Documentation](./docs/
|
|
189
|
+
See [API Documentation](./docs/API.md) for complete reference.
|
|
167
190
|
|
|
168
191
|
## CLI Reference
|
|
169
192
|
|
|
@@ -226,47 +249,21 @@ pnpm format
|
|
|
226
249
|
|
|
227
250
|
## Roadmap
|
|
228
251
|
|
|
229
|
-
### โ
|
|
230
|
-
|
|
231
|
-
- โ
Binary stream reader (KaitaiStream)
|
|
232
|
-
- โ
All primitive types (u1-u8, s1-s8, f4, f8)
|
|
233
|
-
- โ
String encoding (UTF-8, ASCII, Latin-1, UTF-16)
|
|
234
|
-
- โ
Byte arrays and positioning
|
|
235
|
-
- โ
Error handling system
|
|
252
|
+
### โ
Completed
|
|
236
253
|
|
|
237
|
-
|
|
254
|
+
- **v0.1.0-v0.4.0** - Core runtime, KSY parser, type interpreter, expressions
|
|
255
|
+
- **v0.5.0-v0.6.0** - Advanced features (switch/case, instances, parametric types)
|
|
256
|
+
- **v0.7.0-v0.9.0** - CLI tool, production polish, expression-based endianness
|
|
257
|
+
- **v0.10.0** - Streaming API for large files
|
|
238
258
|
|
|
239
|
-
|
|
240
|
-
- โ
Type interpreter
|
|
241
|
-
- โ
Expression evaluator (full Kaitai expression language)
|
|
242
|
-
- โ
Conditionals (if attribute)
|
|
243
|
-
- โ
Enums with expression access
|
|
244
|
-
- โ
Repetitions (repeat-expr, repeat-until, repeat-eos)
|
|
245
|
-
- โ
Nested user-defined types
|
|
259
|
+
### ๐ In Progress (v1.0.0)
|
|
246
260
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
-
|
|
250
|
-
-
|
|
251
|
-
- โ
Parametric types
|
|
252
|
-
- โ
Positioned reads (pos attribute)
|
|
253
|
-
- โ
Sized substreams
|
|
254
|
-
- โ
Processing framework (ready for zlib/encryption)
|
|
255
|
-
|
|
256
|
-
### โ
Phase 4: CLI & Polish (v0.7.0) - Complete
|
|
257
|
-
|
|
258
|
-
- โ
Command-line interface
|
|
259
|
-
- โ
Documentation reorganization
|
|
260
|
-
- โ
Production-ready release
|
|
261
|
-
|
|
262
|
-
### ๐ Phase 5: v1.0.0 - Final Polish (In Progress)
|
|
263
|
-
|
|
264
|
-
- โณ Processing implementations (zlib, encryption)
|
|
265
|
-
- โณ Type imports across files
|
|
266
|
-
- โณ Additional performance optimizations
|
|
267
|
-
- โณ Extended format testing
|
|
261
|
+
- Processing implementations (zlib, encryption)
|
|
262
|
+
- Type imports across files
|
|
263
|
+
- Additional performance optimizations
|
|
264
|
+
- Extended format testing
|
|
268
265
|
|
|
269
|
-
**Current Status:** Production-ready,
|
|
266
|
+
**Current Status:** Production-ready, actively maintained
|
|
270
267
|
|
|
271
268
|
## Contributing
|
|
272
269
|
|