@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 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** - 98 comprehensive tests
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.7.0
125
+ **Version:** 0.10.0
112
126
  **Status:** Production Ready ๐Ÿš€
113
- **Completion:** ~95% toward v1.0.0
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** - 100+ comprehensive tests, all passing
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
- - Substream processing (zlib, encryption)
151
+ - Processing implementations (zlib, encryption)
129
152
  - Type imports across files
130
153
  - Additional performance optimizations
131
154
 
132
- See [docs/development/PROGRESS.md](./docs/development/PROGRESS.md) for detailed progress tracking and [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md) for architecture diagrams.
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/api.md) for complete reference (coming soon).
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
- ### โœ… Phase 1: Foundation (v0.1.0) - Complete
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
- ### โœ… Phase 2: Core Features (v0.2.0-v0.4.0) - Complete
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
- - โœ… KSY parser with validation
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
- ### โœ… Phase 3: Advanced Features (v0.5.0-v0.6.0) - Complete
248
-
249
- - โœ… Switch/case type selection
250
- - โœ… Instances (lazy-evaluated fields with caching)
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, ~95% complete toward v1.0.0
266
+ **Current Status:** Production-ready, actively maintained
270
267
 
271
268
  ## Contributing
272
269