-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add symbol
field to ReadResult
and WriteResult
#191
base: main
Are you sure you want to change the base?
Conversation
🦋 Changeset detectedLatest commit: c3b2997 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
WalkthroughThe pull request introduces a new Changes
Sequence DiagramsequenceDiagram
participant JS as JavaScript
participant Wasm as WebAssembly Module
participant Decoder as Barcode Decoder
JS->>Wasm: Request barcode read/write
Wasm->>Decoder: Process barcode
Decoder-->>Wasm: Return result with symbol data
Wasm->>JS: Return result including symbol
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
commit: |
1df9aa1
to
c3b2997
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
src/cpp/ZXingWasm.cpp (3)
27-31
: LGTM! Consider adding documentation.The
Symbol
struct is well-defined with appropriate types for JavaScript interoperability. Consider adding documentation comments to describe the purpose of the struct and its fields, especially explaining the format of thedata
field.Add documentation like this:
+/** + * Represents a barcode symbol as a one-channel image. + * @field data The raw pixel data as Uint8ClampedArray + * @field width The width of the symbol in pixels + * @field height The height of the symbol in pixels + */ struct Symbol { val data; int width; int height; };
228-234
: Reduce code duplication in write functions.The symbol initialization code is duplicated between
writeBarcodeFromText
andwriteBarcodeFromBytes
. Consider extracting this into a helper function.+namespace { + Symbol createSymbol(const ZXing::Barcode& barcode) { + thread_local const val Uint8ClampedArray = val::global("Uint8ClampedArray"); + return Symbol{ + .data = std::move( + Uint8ClampedArray.new_( + val(typed_memory_view( + barcode.symbol().rowStride() * barcode.symbol().height(), + barcode.symbol().data() + )) + ) + ), + .width = barcode.symbol().width(), + .height = barcode.symbol().height() + }; + } +} // namespaceAlso applies to: 260-266
106-106
: Consolidate thread_local declarations.The
Uint8ClampedArray
constructor is declared multiple times usingthread_local
. Consider moving these declarations to file scope to reduce redundancy.+namespace { + thread_local const val Uint8ClampedArray = val::global("Uint8ClampedArray"); +} // namespaceAlso applies to: 219-219, 251-251
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (286)
tests/__snapshots__/aztec-1/#128/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#128/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#128/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#128/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#128/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#128/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#128/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#128/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#128/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#217/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#217/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#217/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#217/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#217/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#217/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#217/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#217/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/#217/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/7/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/7/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/7/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/7/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/7/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/7/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/7/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/7/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/7/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Historico/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Historico/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Historico/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Historico/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Historico/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Historico/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Historico/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Historico/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Historico/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/HistoricoLong/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/HistoricoLong/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/HistoricoLong/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/HistoricoLong/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/HistoricoLong/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/HistoricoLong/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/HistoricoLong/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/HistoricoLong/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/HistoricoLong/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Z1-sequence4of7/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Z1-sequence4of7/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Z1-sequence4of7/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Z1-sequence4of7/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Z1-sequence4of7/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Z1-sequence4of7/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Z1-sequence4of7/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Z1-sequence4of7/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/Z1-sequence4of7/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-19x19C/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-19x19C/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-19x19C/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-19x19C/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-19x19C/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-19x19C/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-19x19C/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-19x19C/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-19x19C/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-37x37/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-37x37/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-37x37/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-37x37/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-37x37/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-37x37/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-37x37/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-37x37/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-37x37/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-inverted/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-inverted/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-inverted/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-inverted/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-inverted/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-mirrored/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-mirrored/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-mirrored/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-mirrored/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-mirrored/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-mirrored/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-mirrored/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-mirrored/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/abc-mirrored/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thick/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thick/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thick/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thick/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thick/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thick/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thick/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thick/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thick/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thin/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thin/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thin/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thin/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thin/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thin/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thin/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thin/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/az-thin/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/dlusbs/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/dlusbs/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/dlusbs/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/dlusbs/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/dlusbs/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/dlusbs/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/dlusbs/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/dlusbs/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/dlusbs/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/gs1-figure-4.15.1-2-31x31/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/gs1-figure-4.15.1-2-31x31/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/gs1-figure-4.15.1-2-31x31/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/gs1-figure-4.15.1-2-31x31/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/gs1-figure-4.15.1-2-31x31/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/gs1-figure-4.15.1-2-31x31/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/gs1-figure-4.15.1-2-31x31/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/gs1-figure-4.15.1-2-31x31/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/gs1-figure-4.15.1-2-31x31/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/hello/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/hello/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/hello/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/hello/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/hello/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/hello/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/hello/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/hello/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/hello/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-075x075/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-075x075/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-075x075/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-075x075/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-075x075/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-075x075/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-075x075/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-075x075/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-075x075/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-105x105/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-105x105/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-105x105/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-105x105/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-105x105/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-105x105/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-105x105/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-105x105/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-105x105/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-131x131/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-131x131/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-131x131/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-131x131/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-131x131/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-131x131/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-131x131/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-131x131/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-131x131/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-151x151/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-151x151/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-151x151/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-151x151/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-151x151/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-151x151/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-151x151/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-151x151/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/lorem-151x151/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/mixed-ecis-41x41/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/mixed-ecis-41x41/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/mixed-ecis-41x41/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/mixed-ecis-41x41/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/mixed-ecis-41x41/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/mixed-ecis-41x41/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/mixed-ecis-41x41/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/mixed-ecis-41x41/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/mixed-ecis-41x41/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/padding_bs/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/padding_bs/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/padding_bs/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/padding_bs/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/padding_bs/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/padding_bs/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/padding_bs/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/padding_bs/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/padding_bs/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/partial-quiet-zone/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/partial-quiet-zone/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/partial-quiet-zone/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/partial-quiet-zone/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/partial-quiet-zone/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/partial-quiet-zone/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/partial-quiet-zone/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/partial-quiet-zone/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/partial-quiet-zone/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-compact-15x15/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-compact-15x15/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-compact-15x15/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-compact-15x15/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-compact-15x15/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-compact-15x15/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-compact-15x15/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-compact-15x15/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-compact-15x15/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-full-19x19/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-full-19x19/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-full-19x19/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-full-19x19/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-full-19x19/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-full-19x19/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-full-19x19/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-full-19x19/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/readerinit-full-19x19/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-1/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-1/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-1/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-1/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-1/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-1/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-1/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-1/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-1/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-223/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-223/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-223/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-223/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-223/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-223/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-223/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-223/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-223/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-64/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-64/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-64/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-64/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-64/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-64/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-64/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-64/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-64/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-68/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-68/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-68/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-68/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-68/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-68/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-68/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-68/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/rune-68/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tableShifts/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tableShifts/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tableShifts/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tableShifts/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tableShifts/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tableShifts/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tableShifts/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tableShifts/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tableShifts/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tag/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tag/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tag/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tag/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tag/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tag/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tag/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tag/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/tag/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/texte/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/texte/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/texte/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/texte/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/texte/pure-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/texte/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/texte/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/texte/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-1/texte/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-2/01/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-2/01/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-2/01/fast-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-2/01/fast-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-2/01/slow-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-2/01/slow-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-2/01/slow-270.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-2/01/slow-90.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-2/02/fast-0.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-2/02/fast-180.json
is excluded by!tests/__snapshots__/**
tests/__snapshots__/aztec-2/02/fast-270.json
is excluded by!tests/__snapshots__/**
📒 Files selected for processing (7)
.changeset/sharp-shrimps-enjoy.md
(1 hunks).gitattributes
(1 hunks)main.ts
(1 hunks)src/bindings/barcodeSymbol.ts
(1 hunks)src/bindings/readResult.ts
(2 hunks)src/bindings/writeResult.ts
(2 hunks)src/cpp/ZXingWasm.cpp
(10 hunks)
🚧 Files skipped from review as they are similar to previous changes (6)
- .changeset/sharp-shrimps-enjoy.md
- main.ts
- src/bindings/readResult.ts
- .gitattributes
- src/bindings/writeResult.ts
- src/bindings/barcodeSymbol.ts
🔇 Additional comments (2)
src/cpp/ZXingWasm.cpp (2)
279-279
: LGTM! Bindings are complete and consistent.The Emscripten bindings for the new
Symbol
struct and its integration withReadResult
andWriteResult
are properly implemented.Also applies to: 330-331, 357-358
133-139
: Consider memory optimization for large symbols.The implementation correctly uses
std::move
for efficient transfer of the symbol data. However, for large barcodes, consider adding a size limit or compression for the symbol data to prevent excessive memory usage.Let's verify the typical symbol sizes in the codebase:
Summary by CodeRabbit
New Features
symbol
property to barcode read and write results, providing additional image data about the barcode.BarcodeSymbol
interface to define the structure of barcode symbols.Chores
.gitattributes
configuration to refine file handling.