{"_id":"flatc-wasm","_rev":"34-98097d71bb183cfd08267d9836834d77","name":"flatc-wasm","dist-tags":{"wasm":"25.12.19-wasm.62","latest":"26.1.32"},"versions":{"25.2.10":{"name":"flatc-wasm","version":"25.2.10","keywords":["flatbuffers","flatc","wasm","isomorphic","browser","node"],"author":{"name":"DigitalArsenal.io"},"license":"Apache-2.0","_id":"flatc-wasm@25.2.10","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"contributors":[{"url":"https://github.com/google/flatbuffers","name":"The Flatbuffers Project"}],"homepage":"https://github.com/digitalarsenal/flatbuffers/tree/main/wasm","bugs":{"url":"https://github.com/digitalarsenal/flatbuffers/issues"},"dist":{"shasum":"70f4c77f7316c298283a478c8198981fb194fdb2","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.2.10.tgz","fileCount":14,"integrity":"sha512-DYKPuhMkOvM99t/cGQ9MVmOLfjn7ADOojztl3ReV5U51SM32bGt9CguDgOYW7UCT/HYi+5W/B8Dp3QFf0UzKGQ==","signatures":[{"sig":"MEYCIQCf6ugfySlbM4CMTSomro6KnB6K0cOaWv5AjueIPtdsfgIhAJS4fMiLe+kPH0aK7IAF0gqcWe16duQE8kMKZnfkqgVo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3492303},"main":"src/index.mjs","type":"module","module":"src/index.mjs","gitHead":"7d9117c7823fe707afb66999f84dfa6462c92935","scripts":{"lint":"eslint src/index.mjs","test":"npm run lint && vitest run test","build":"echo \"No build step needed\"","prepublishOnly":"npm test"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/digitalarsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"10.9.2","description":"FlatBuffers flatc WASM compiler wrapper for browser & Node","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"22.16.0","dependencies":{"jszip":"3.10.1","emittery":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.29.0","vitest":"^3.2.4","@types/node":"^24.0.3"},"peerDependencies":{"flatbuffers":">=25.2.10"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.2.10_1754665033025_0.4085276438634158","host":"s3://npm-registry-packages-npm-production"}},"25.2.10-1":{"name":"flatc-wasm","version":"25.2.10-1","keywords":["flatbuffers","flatc","wasm","isomorphic","browser","node"],"author":{"name":"DigitalArsenal.io"},"license":"Apache-2.0","_id":"flatc-wasm@25.2.10-1","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"contributors":[{"url":"https://github.com/google/flatbuffers","name":"The Flatbuffers Project"}],"homepage":"https://github.com/digitalarsenal/flatbuffers/tree/main/wasm","bugs":{"url":"https://github.com/digitalarsenal/flatbuffers/issues"},"dist":{"shasum":"724554b6bed282e883b5e4077ad52c0066f28464","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.2.10-1.tgz","fileCount":14,"integrity":"sha512-ll75posIlI6ezZylBmN/hVvGN7ZxzH6UbMGM39SqIV+2dZfx0Bmljn/BfPKIzynJX0GuPa9me5lZtrl3Vkhdzg==","signatures":[{"sig":"MEQCIEWyrbEqzo5PLTyz3EACGF9v0fCG5Ecgmk58l2kCt1QJAiAtJTQwZH3Kx6Gkfxb865a+7Dz76Pu65lXlZWUvTRYnSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3493345},"main":"src/index.mjs","type":"module","module":"src/index.mjs","gitHead":"7d9117c7823fe707afb66999f84dfa6462c92935","scripts":{"lint":"eslint src/index.mjs","test":"npm run lint && vitest run test","build":"echo \"No build step needed\"","prepublishOnly":"npm test"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/digitalarsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"10.9.2","description":"FlatBuffers flatc WASM compiler wrapper for browser & Node","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"22.16.0","dependencies":{"jszip":"3.10.1","emittery":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.29.0","vitest":"^3.2.4","@types/node":"^24.0.3"},"peerDependencies":{"flatbuffers":">=25.2.10"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.2.10-1_1754665481742_0.45934968347858285","host":"s3://npm-registry-packages-npm-production"}},"25.9.231":{"name":"flatc-wasm","version":"25.9.231","keywords":["flatbuffers","flatc","wasm","isomorphic","browser","node"],"author":{"name":"Digital Arsenal"},"license":"Apache-2.0","_id":"flatc-wasm@25.9.231","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://github.com/DigitalArsenal/flatc-wasm#readme","bugs":{"url":"https://github.com/DigitalArsenal/flatc-wasm/issues"},"dist":{"shasum":"38251fbf0cbaef30bea071a316251ee50f342a99","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.9.231.tgz","fileCount":14,"integrity":"sha512-mjul70Uvo0yFleZWWNJYPhiBtKZUSGJqjCWxwEICzHCt8mqxfDQT4+fLNtC8SLCoHdOIx6uQJNtOxrYy9b19CQ==","signatures":[{"sig":"MEYCIQCTMNyK8BFSGLhtkCk+SLiXwXFf0uhUrsx+azJhJ1on9wIhAJWiiAtIhb963tuucqR1ZYRzbx7E84nZNw1IwUOlzS9t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2881085},"main":"src/index.mjs","type":"module","module":"src/index.mjs","gitHead":"daede7946bc19a0da93ce3f8203da6779584e8fd","scripts":{"lint":"eslint src/index.mjs","test":"npm run lint && vitest run test","build":"echo \"No build step needed\"","prepublishOnly":"npm test"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/DigitalArsenal/flatc-wasm.git","type":"git"},"_npmVersion":"10.9.3","description":"FlatBuffers flatc WASM compiler wrapper for browser & Node","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"22.19.0","dependencies":{"jszip":"3.10.1","emittery":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.29.0","vitest":"^3.2.4","globals":"^16.3.0","@types/node":"^24.0.3","typescript-eslint":"^8.40.0"},"peerDependencies":{"flatbuffers":">=25.2.10"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.9.231_1761617767120_0.44401905623127336","host":"s3://npm-registry-packages-npm-production"}},"25.9.23-da.0":{"name":"flatc-wasm","version":"25.9.23-da.0","keywords":["flatbuffers","flatc","wasm","isomorphic","browser","node"],"author":{"name":"Digital Arsenal"},"license":"Apache-2.0","_id":"flatc-wasm@25.9.23-da.0","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://github.com/DigitalArsenal/flatc-wasm#readme","bugs":{"url":"https://github.com/DigitalArsenal/flatc-wasm/issues"},"dist":{"shasum":"a9702a21a6fed7673db82cd06ff7b1fa42af3ece","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.9.23-da.0.tgz","fileCount":14,"integrity":"sha512-rRwIf3R2pCQojMlxR8kIgusPZzEY0YFSeTU/bgttNC37cr++OU5gyV0NTSXyQjw5Pb2SCJRdYe3ndkcQbppcvQ==","signatures":[{"sig":"MEQCIHT33kerVaJ1hhiCdw4rdbRU5Bi/gwXPtE31nXV8ZM24AiAM2xEuHbDsyKUF+BOPFy1mlIMSACZt9xaiLmFnJZBkBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2928149},"main":"src/index.mjs","type":"module","module":"src/index.mjs","gitHead":"402d1fe9caaa57fb60fa0933753c85f6b6019802","scripts":{"lint":"eslint src/index.mjs","test":"npm run lint && vitest run test","build":"echo \"No build step needed\"","prepublishOnly":"npm test"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/DigitalArsenal/flatc-wasm.git","type":"git"},"_npmVersion":"10.9.3","description":"FlatBuffers flatc WASM compiler wrapper for browser & Node","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"22.19.0","dependencies":{"jszip":"3.10.1","emittery":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.29.0","vitest":"^3.2.4","globals":"^16.3.0","@types/node":"^24.0.3","typescript-eslint":"^8.40.0"},"peerDependencies":{"flatbuffers":">=25.2.10"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.9.23-da.0_1761741002799_0.4741373956087882","host":"s3://npm-registry-packages-npm-production"}},"25.9.23-da.1":{"name":"flatc-wasm","version":"25.9.23-da.1","keywords":["flatbuffers","flatc","wasm","isomorphic","browser","node"],"author":{"name":"Digital Arsenal"},"license":"Apache-2.0","_id":"flatc-wasm@25.9.23-da.1","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://github.com/DigitalArsenal/flatc-wasm#readme","bugs":{"url":"https://github.com/DigitalArsenal/flatc-wasm/issues"},"dist":{"shasum":"dc13a95ee0f691a5e35c8d44621ec42dcbab3e8d","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.9.23-da.1.tgz","fileCount":14,"integrity":"sha512-AXhtvbea7xawt3bdmYtiKsFD5QTFpJsZAdUwIS6trKw5TL+En+BCOCBMintZojzCn9s3i7GRLpBJL8dlBDMswg==","signatures":[{"sig":"MEUCIHUT6TVDmkHnJzixNF/DWlb3bqX8YB3Xti5Azk//ts18AiEArLo5S9dxJlA0HAVlS2F3vniNhCIkVyG0s9puHlGGWsI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2928149},"main":"src/index.mjs","type":"module","module":"src/index.mjs","gitHead":"101e4119400a265eebd0e8e889aed8772459f11a","scripts":{"lint":"eslint src/index.mjs","test":"npm run lint && vitest run test","build":"echo \"No build step needed\"","prepublishOnly":"npm test"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/DigitalArsenal/flatc-wasm.git","type":"git"},"_npmVersion":"10.9.3","description":"FlatBuffers flatc WASM compiler wrapper for browser & Node","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"22.19.0","dependencies":{"jszip":"3.10.1","emittery":"^1.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.29.0","vitest":"^3.2.4","globals":"^16.3.0","@types/node":"^24.0.3","typescript-eslint":"^8.40.0"},"peerDependencies":{"flatbuffers":">=25.2.10"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.9.23-da.1_1761746191714_0.7668365317715162","host":"s3://npm-registry-packages-npm-production"}},"25.12.19":{"name":"flatc-wasm","version":"25.12.19","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.19","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/google/flatbuffers/issues"},"dist":{"shasum":"08738f41143c9406a5eb2bdd4f84c3e7a818a11a","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.19.tgz","fileCount":5,"integrity":"sha512-RFyVmLnmdqX2nwbeQaNwIO9EwK4i/uyEeDk6R1SV2OYRZNcubsxzqXGhQeXXpzXPugeaMiwx1jBsPoinxd6ECQ==","signatures":[{"sig":"MEUCIE/LF8xYR52Rj2UPNLTiL0O5+U/+hnGu5V2I3cByXGGaAiEAhTSoWnxmt+ag2libz+lO8kHFOs5dI3pNLLdDBJp8U6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2814952},"main":"dist/flatc-wasm.js","type":"module","types":"dist/flatc-wasm.d.ts","module":"dist/flatc-wasm.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"}},"gitHead":"25a078d58002be5857e111bf3f80be47e7ae9362","scripts":{"test":"node test/test_all.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/google/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.19_1767793032517_0.06178249114101808","host":"s3://npm-registry-packages-npm-production"}},"25.12.20":{"name":"flatc-wasm","version":"25.12.20","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.20","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/google/flatbuffers/issues"},"dist":{"shasum":"a1cbffaf1c71fa27b6bf10afa5e234f1734ec43c","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.20.tgz","fileCount":9,"integrity":"sha512-/k7ysngskv6KO+O7y86WqcZGycLc4QYIX0ZMvrmpyRoweWFn0UQPOX50hKoOJBukqD2ghJhH/HEKlpfFY76DZg==","signatures":[{"sig":"MEQCIGm/7aIFsYZ830U432NTyB/3lmFiIy7LMzqSQOiDggPFAiAJ/Zz49w0fr6Gl2VLdage5+fEYl+ETf5jA96tWhQN1xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3842380},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"}},"gitHead":"25a078d58002be5857e111bf3f80be47e7ae9362","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/google/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.20_1767797517262_0.11973203101644847","host":"s3://npm-registry-packages-npm-production"}},"25.12.21":{"name":"flatc-wasm","version":"25.12.21","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.21","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/google/flatbuffers/issues"},"dist":{"shasum":"e17577a8abfb8bf86cb2e600fa6d7fe25571e07c","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.21.tgz","fileCount":9,"integrity":"sha512-aYx0NA2Vzn7/nsImrjHcmuVOECf9BvRtbrlqcjLlSf3Zbe+JuJptg7EdRL3OKH3LZkXIPV2Y5Jc8RV4/5trXyw==","signatures":[{"sig":"MEUCIFapzSrUp+SetMAvNM5ehxaUIOHeWem4vvDCbT/7V39mAiEA+pbivxLa96EAcHlUSWHkTM1xcGXjPjdLvSwP+rZTBoc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3842380},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"}},"gitHead":"4d1345bf2c8d87a8426a317dfca81de6e3d5336e","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/google/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.21_1767801582811_0.10165358773561883","host":"s3://npm-registry-packages-npm-production"}},"26.1.9":{"name":"flatc-wasm","version":"26.1.9","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@26.1.9","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/google/flatbuffers/issues"},"dist":{"shasum":"e76b996790c031c90c20614db65e0899f45fe892","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-26.1.9.tgz","fileCount":11,"integrity":"sha512-9gJqreIjGRPx2PeGg3lx8rCA9/+M5IPzvNgkD+z55pIbvJ1tXlvcXROSSghKxOqSc16kU2l+IQE4543O8lgZwQ==","signatures":[{"sig":"MEQCIDhPNWKB1Ng+KSWsSZXmM2fUBo54h3kxLfdK86wo3j9iAiBDzkd284J4sugNbw5tYzhE2b8+fVQWPP9ES2gyZRqIsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3879820},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./encryption":{"types":"./src/encryption.d.ts","import":"./src/encryption.mjs"}},"gitHead":"d40d22ea640cbcc8ea398e6ce1dc1807952e05af","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/google/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_26.1.9_1767989785407_0.763693832963992","host":"s3://npm-registry-packages-npm-production"}},"26.1.10":{"name":"flatc-wasm","version":"26.1.10","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@26.1.10","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/google/flatbuffers/issues"},"dist":{"shasum":"d4a4edd34bb75d4dd11a207d4a368607e1c34ae3","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-26.1.10.tgz","fileCount":11,"integrity":"sha512-Adqewc7daXC8qeFi8v+46sU0qSttr1iTTtXQ4+g7iOKjBF3/vP3/21VYFZ5k5U467L4PaDxBwK7p32TbIYyN0w==","signatures":[{"sig":"MEYCIQCfvo/yI7ERHKXW0vshwP9P8oUh1TXVq384AMAeZe97FgIhAJVFsggTT2DGvMa9Sw6oRdEdWAIXC1f8zKTem9ZBhxkF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3895252},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./encryption":{"types":"./src/encryption.d.ts","import":"./src/encryption.mjs"}},"gitHead":"d40d22ea640cbcc8ea398e6ce1dc1807952e05af","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/google/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_26.1.10_1767992855475_0.2036938441046523","host":"s3://npm-registry-packages-npm-production"}},"26.1.11":{"name":"flatc-wasm","version":"26.1.11","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@26.1.11","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/google/flatbuffers/issues"},"dist":{"shasum":"b07844d85f4276315bb927df1c915d512f141aaf","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-26.1.11.tgz","fileCount":11,"integrity":"sha512-BJqckNKMhLum3PObc0tf8kOg8yr4n3akKOTb7429OYG7B98GpDeK/zWzKaUETUHLSSAaYzVqwi8tmLLAa4L0/A==","signatures":[{"sig":"MEQCIHYylGOK/QD9ywiWoBxnrtuvQowzZ1joYuigS8N1UuxlAiB3o2pdWuIDntRvHCMndtmv9pvvKGMWnn4naCRACaxpcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3907296},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./encryption":{"types":"./src/encryption.d.ts","import":"./src/encryption.mjs"}},"gitHead":"d40d22ea640cbcc8ea398e6ce1dc1807952e05af","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/google/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_26.1.11_1767993118495_0.20504959566711944","host":"s3://npm-registry-packages-npm-production"}},"26.1.12":{"name":"flatc-wasm","version":"26.1.12","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@26.1.12","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/google/flatbuffers/issues"},"dist":{"shasum":"31ac406a04864c112ffe800626019544e81bdc06","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-26.1.12.tgz","fileCount":11,"integrity":"sha512-KKDDqlbgJdM3XKy4jgMYBH5pOnuTZK6F0QIA8tkFNCgmtHSkP8QhTVGf3l5vKaOlq34YFOK0wUPeRRne6JLxgQ==","signatures":[{"sig":"MEYCIQDXBDVCAO6p8XCxL76J1lq9znvW4kfaCfDyXlo+fIKibAIhAPkwPFFjRaXY09Xz4JiygHoGEiZV7WeHKg1gu/m4Dm5/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3907296},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./encryption":{"types":"./src/encryption.d.ts","import":"./src/encryption.mjs"}},"gitHead":"bb172244a34eb850cbbef000eeb694bdff25e98e","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/google/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_26.1.12_1768051066191_0.18890798862036018","host":"s3://npm-registry-packages-npm-production"}},"26.1.13":{"name":"flatc-wasm","version":"26.1.13","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@26.1.13","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/google/flatbuffers/issues"},"dist":{"shasum":"c776f922a35608edd7f8474ab79a99cc0c8e7980","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-26.1.13.tgz","fileCount":11,"integrity":"sha512-p46EmE/gOR5/iLNlKjzUaPGkyvDz66rpYy65R40COrDu029/XJgIdKFjVbidy5hZcqsvSR1z1pr29QsSARKP4w==","signatures":[{"sig":"MEUCIBPmQX4imPnV2B8dJwBl4mtQqdBDR7KSs1lIJZbPnNljAiEAjZjN1qhtZmb9sIJIMhCnvDp56i5hrHatLK7/oFtIDoY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3929554},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./encryption":{"types":"./src/encryption.d.ts","import":"./src/encryption.mjs"}},"gitHead":"61bafdd7dbcab05cd2a7d881c2ef6880f5885299","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/google/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_26.1.13_1768052332880_0.19080425079909236","host":"s3://npm-registry-packages-npm-production"}},"26.1.14":{"name":"flatc-wasm","version":"26.1.14","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@26.1.14","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/google/flatbuffers/issues"},"dist":{"shasum":"54d280744dc5d475319c6f117e99260683237596","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-26.1.14.tgz","fileCount":12,"integrity":"sha512-Y2Z2C1bvYn8MWnABBGqV6dFum02t6hbAFUh5WfVDQSvMOSNhPE9WuyQBmIogBEYCgxjCSqmwxc1RyPzc0M8pqg==","signatures":[{"sig":"MEUCIHNweNU0Bw3LTj/uOvgh75vqy2K3R6nTZqgJC6+/dZd6AiEAiLcKWNlXCp3UivrqUmjJ/aW4vWKWr8dVQNQVaKDOB0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4642460},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./encryption":{"types":"./src/encryption.d.ts","import":"./src/encryption.mjs"}},"gitHead":"80dd1adc9e3be7141f1cc33ed657b10a13a6a343","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_encryption.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepublishOnly":"npm run build && npm test","test:encryption":"node test/test_encryption.mjs"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/google/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_26.1.14_1769043797419_0.6102505804590839","host":"s3://npm-registry-packages-npm-production"}},"26.1.15":{"name":"flatc-wasm","version":"26.1.15","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@26.1.15","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/google/flatbuffers/issues"},"dist":{"shasum":"98460b40c27598a2883dfcacf6f6cd2407e270d9","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-26.1.15.tgz","fileCount":12,"integrity":"sha512-/hAy3gXrrXbkucWbtjhFopb3fpGy8txzl8p4fFyZG8HEB2l1qVoOR09C6v5YuMZtbwSVmMllJ5BnedraGTXwaw==","signatures":[{"sig":"MEQCIEx7M59h6iv2pBnAtFGjSfeOdqTpMPGMFqJdmNZPO/7YAiAeJmz3nz+TEysi/nuaM6JlXGPFTuI+4DdWZoHCZQt2QQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4756972},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./encryption":{"types":"./src/encryption.d.ts","import":"./src/encryption.mjs"}},"gitHead":"0a13c5498f3dadb3d56b2bd36dbb78170b371f70","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_encryption.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm run build && npm test","test:encryption":"node test/test_encryption.mjs"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/google/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_26.1.15_1769433489683_0.5092170801406111","host":"s3://npm-registry-packages-npm-production"}},"25.12.19-wasm.4":{"name":"flatc-wasm","version":"25.12.19-wasm.4","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.19-wasm.4","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"1d5493b1acc8e673f98dd191daa0d0ad7e693487","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.19-wasm.4.tgz","fileCount":11,"integrity":"sha512-fUMYStNTHy82+Dt/zqgBrOKLTINwqTJk/lW6wsto3tUTPFSUC9RJr0ggpRg+AKBUx9/5Ib4y2iEUTkJvRhWIog==","signatures":[{"sig":"MEQCICq/W/5lkassCXLe8BvghC/JuFNDeIbnuk58aOlhJqFGAiB5cY0rlmosrH7qG2Mg4TEFfXrdUU1noqWTXxOE4D6Wew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@25.12.19-wasm.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3958774},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"}},"gitHead":"03a831007d29de9c3f54cd9e1856a4d300628761","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cf5804b-500c-4468-a350-bfa7a6d2f26e"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"hd-wallet-wasm":"0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.19-wasm.4_1769739109600_0.01242082556039703","host":"s3://npm-registry-packages-npm-production"}},"25.12.19-wasm.5":{"name":"flatc-wasm","version":"25.12.19-wasm.5","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.19-wasm.5","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"c279236194ec646faa75433008483d38a360f489","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.19-wasm.5.tgz","fileCount":11,"integrity":"sha512-Qv1QzSoO+9edGyzHDf7XqGTTn16bsFou3PFVXvmfgvQO2FvDnsY6bTZfo8NNhczQQ3aFX6u1LhdsEe+4wnDHeQ==","signatures":[{"sig":"MEUCIQCNXdqLrVJtu4+X1CCyZvaxme+TFmzgxxRRBkWW70iSwQIgFS2LjqaixiluM/5Kp5WxKRfUBwyy+F1nZG1ojWf803g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@25.12.19-wasm.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3958924},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"}},"gitHead":"6c59f3874ec1dff504ca420b7f939fb80750eaa2","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0cf5804b-500c-4468-a350-bfa7a6d2f26e"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"hd-wallet-wasm":"0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.19-wasm.5_1769739224715_0.3550010635394003","host":"s3://npm-registry-packages-npm-production"}},"25.12.19-wasm.17":{"name":"flatc-wasm","version":"25.12.19-wasm.17","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.19-wasm.17","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"d14df5684ac23260ac179bf1716ce7a9bacc78b0","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.19-wasm.17.tgz","fileCount":14,"integrity":"sha512-mlMU5MdqwgK85b3DX7G4TbIaDKS24Q4LA5zvm5cgRSmj5zh+R0uf2uwpOl0FgcZmUh0q0etDuC3gMsQPRA0J1w==","signatures":[{"sig":"MEQCIA2gSroxU7i6HIVMe7j5jVHJwahLhxqalJP3bGJ2eegNAiAQFvq9p23pPQDKPOmUrSqRxfGew5JmdXXT/5z9PIZW6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5813303},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"}},"gitHead":"a43d7ce9e4529e0fa14cffcd3124cc02ef86bac3","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs && node test/test_encryption.mjs && node test/test_webapp_crypto.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.7.0","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"25.4.0","dependencies":{"hd-wallet-wasm":"^1.1.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.19-wasm.17_1770161382542_0.24441186204010612","host":"s3://npm-registry-packages-npm-production"}},"25.12.19-wasm.33":{"name":"flatc-wasm","version":"25.12.19-wasm.33","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.19-wasm.33","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"2a3da10fda4758cddecb5b1144ec3986aa2f93a2","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.19-wasm.33.tgz","fileCount":14,"integrity":"sha512-cH8pB6Wmjf3flBQSnHbI027fhKGsSzKBfdVzGy7u9kq0HAloiC++ZtpsNU8M3oulmFtPTOlZLF/JA8Tpe8NWew==","signatures":[{"sig":"MEQCIBEd6QKvpl9nFf07vVz9whyTyJalUNVMU0Jz8JmZvgoTAiBOdtyBVzTWc8z1zp4lwvioq1iXR+kVG68aEp0G/JD9Gg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@25.12.19-wasm.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6875057},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"}},"gitHead":"c49d28e261910be10b20a43d957f284b0465c616","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs && node test/test_encryption.mjs && node test/test_webapp_crypto.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1620060-fdc6-41e9-9d4f-800a0aa8d624"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"hd-wallet-wasm":"^1.1.5"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.19-wasm.33_1770168132117_0.06248473974540225","host":"s3://npm-registry-packages-npm-production"}},"25.12.19-wasm.34":{"name":"flatc-wasm","version":"25.12.19-wasm.34","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.19-wasm.34","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"5f373d83fdf48c64b03b816b263abbfe05da4c25","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.19-wasm.34.tgz","fileCount":14,"integrity":"sha512-Ej+MpdOHzEDbACmDxdXit6L6/AAAhysHhOYe/YJA7PNkCzMZYtHl2DaQbW9euR8aFXBsCf7imjSWXzWtkW76zA==","signatures":[{"sig":"MEYCIQDvxoEr1TTr36yCLK08rB6DnyXBo/EjlDdwaNMWUo0SqQIhAKCz61e575WBUNANEusCEfFyaOTMcKJI6cs56nB2O1aV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@25.12.19-wasm.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7215309},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"}},"gitHead":"ac9fc46c9af6aa6678d846df74860d6d7250a7d6","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs && node test/test_encryption.mjs && node test/test_webapp_crypto.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1620060-fdc6-41e9-9d4f-800a0aa8d624"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"hd-wallet-wasm":"^1.1.5"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.19-wasm.34_1770205251362_0.8315786631239455","host":"s3://npm-registry-packages-npm-production"}},"25.12.19-wasm.35":{"name":"flatc-wasm","version":"25.12.19-wasm.35","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.19-wasm.35","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"5153b320fc3a0e8a8e373c88bf4435b9eb562b2b","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.19-wasm.35.tgz","fileCount":14,"integrity":"sha512-m2OOkHH5IExK3UGMJwmjswZJdHiMLj4ElJiX0SGS0KPyPnhVhxyMDBMLOEeetk/NYzgkf98tLGV9FlhdgSJBXQ==","signatures":[{"sig":"MEUCIQC0aQYcxQchaIczRd5P46rTiWtEXUqDTW1sEqTv/KQSpAIgVGH18folp3XoIcBi5BcLlhEn8yhY6+N+0MJ8lTAwd7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@25.12.19-wasm.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7215309},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"}},"gitHead":"f6b21b906d20125ddeefffbb2a6def9e0825eb0b","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs && node test/test_encryption.mjs && node test/test_webapp_crypto.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1620060-fdc6-41e9-9d4f-800a0aa8d624"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"hd-wallet-wasm":"^1.1.5"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.19-wasm.35_1770222627223_0.6791584821516949","host":"s3://npm-registry-packages-npm-production"}},"25.12.19-wasm.36":{"name":"flatc-wasm","version":"25.12.19-wasm.36","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.19-wasm.36","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"7468c04eb9417e08c259d36cf41cc404dcea438b","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.19-wasm.36.tgz","fileCount":14,"integrity":"sha512-X5s521tYdqLKrXRDJjYTPVBs/KQkcJefAuag/+borZz1FLy7BTgczFfsypwezIYskmxtqL2jX2aomXFXD7D0tw==","signatures":[{"sig":"MEUCIEEYTx/976haROGwHcET8tZ1enZO42pXKpA/Kdh9GN1MAiEA0sFBeB97gW0K5nvGOWCmWZsfXlNRGAMAsVmyAtV/SjY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@25.12.19-wasm.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7216599},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"}},"gitHead":"edff3545b9dba32449132dcb08f33c276dbafe36","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs && node test/test_encryption.mjs && node test/test_webapp_crypto.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1620060-fdc6-41e9-9d4f-800a0aa8d624"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"hd-wallet-wasm":"^1.1.5"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.19-wasm.36_1770224259346_0.941586812473868","host":"s3://npm-registry-packages-npm-production"}},"25.12.19-wasm.37":{"name":"flatc-wasm","version":"25.12.19-wasm.37","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.19-wasm.37","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"80a644cb915d976c6d3a15c7b5e40651c05ddb24","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.19-wasm.37.tgz","fileCount":14,"integrity":"sha512-N+MgF8Md6I6/hozLdIVtxKl+Hb310Ox3IkXjVdjZx+G93fOU5tUvJS+jUAe4+6E7f4Ew8WeHp1eZyy3SrwuQrA==","signatures":[{"sig":"MEQCIEjf7fyz0Dyq9YKccc1zkgEGWheBFNF8CdlbVRRwzNMpAiBqcxkqcL6uFjJ9ah8cbf+SBtScYXULkZMojnMUFKCYjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@25.12.19-wasm.37","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7219233},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"}},"gitHead":"1ea3bab387833ea49a98e47fd1fdb392c5c7af56","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs && node test/test_encryption.mjs && node test/test_webapp_crypto.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1620060-fdc6-41e9-9d4f-800a0aa8d624"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"hd-wallet-wasm":"^1.1.5"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.19-wasm.37_1770227621186_0.8119884347176591","host":"s3://npm-registry-packages-npm-production"}},"25.12.19-wasm.38":{"name":"flatc-wasm","version":"25.12.19-wasm.38","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.19-wasm.38","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"90e3939ed9085220510dcde9b1fe73cf03a15e16","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.19-wasm.38.tgz","fileCount":14,"integrity":"sha512-MfeqaC6uamoLUQoxS/+ikPqxKrtL+0k1o/tzWE7FggTDK5R2lW+cedwGh1K/5RILjdJ5nr3VvK7XL1mgzpmlaA==","signatures":[{"sig":"MEYCIQCdPuL5G9aJUNgCWjlkAqRwKbx0gdEbp2oQCwrL4dP0HQIhAPEpHhJnVOOf9dKeCbFIMYOp5O/FVKYt8WoSePQtLUZ1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@25.12.19-wasm.38","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7222012},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"}},"gitHead":"86285c6a614a2ae1fda667814635fa48e59328f0","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs && node test/test_encryption.mjs && node test/test_webapp_crypto.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1620060-fdc6-41e9-9d4f-800a0aa8d624"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"hd-wallet-wasm":"^1.1.5"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.19-wasm.38_1770244452190_0.7520848108275491","host":"s3://npm-registry-packages-npm-production"}},"25.12.19-wasm.41":{"name":"flatc-wasm","version":"25.12.19-wasm.41","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.19-wasm.41","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"dcb493f2f6390f9094b37ed895140d9afac18ffb","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.19-wasm.41.tgz","fileCount":14,"integrity":"sha512-7gf6R7ud+OnYhp/z3fGiHP6dWZtlj6aLvri2N5vSdqg4rgKAHM90u61gYfCKWCzVwKqq6rAvzy+WI+xvJTWZCA==","signatures":[{"sig":"MEUCIC/QWC/MvCEGf6N3d45fb35WkeTnvQJQ1cykKIQ5PxhJAiEAjisTHBSIFyLr/tvRn2937XEKFsKAygtX+xN2PV+QtSs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@25.12.19-wasm.41","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7834990},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"}},"gitHead":"6e08383e2e694684cec0b2b7af65655a192712fe","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs && node test/test_encryption.mjs && node test/test_webapp_crypto.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1620060-fdc6-41e9-9d4f-800a0aa8d624"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"hd-wallet-wasm":"^1.1.5"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.19-wasm.41_1770293813656_0.9214939703269687","host":"s3://npm-registry-packages-npm-production"}},"25.12.19-wasm.42":{"name":"flatc-wasm","version":"25.12.19-wasm.42","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.19-wasm.42","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"e4e0d293bae180c4034070b9720a4274af07e232","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.19-wasm.42.tgz","fileCount":14,"integrity":"sha512-OLRHSkqhLJVLj5MJ5TnUjnalrC5HdczM6aljjbZ3+BRHOfAJ4nncpkAlvRB8Sgms02ltBpKy5THELystSS1u3Q==","signatures":[{"sig":"MEUCIER6C1a4dvOBXEnpPHAtncGh7EBiK/8hSMhHi6JZdHKIAiEAh3fslQecS5aliOlSH9JSesvDeZ+p+uGx4wj7yz7B7QY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@25.12.19-wasm.42","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7841124},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"}},"gitHead":"19e5ae3c65d66d622542e00464c85f0433c13b84","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs && node test/test_encryption.mjs && node test/test_webapp_crypto.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1620060-fdc6-41e9-9d4f-800a0aa8d624"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"hd-wallet-wasm":"^1.1.5"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.19-wasm.42_1770294309877_0.5264036653592861","host":"s3://npm-registry-packages-npm-production"}},"25.12.19-wasm.43":{"name":"flatc-wasm","version":"25.12.19-wasm.43","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.19-wasm.43","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"0f25eec8d048d78c258e810c862ac7dad4e0908a","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.19-wasm.43.tgz","fileCount":14,"integrity":"sha512-x4mFZtdFAf6BcKC5n/GPoYWcOfD2e3tXSD4B3MPFpR8aIbvzKoLQCDIKzG5rVj9djT6JiQOEB5ZdYEsj1Qa6jw==","signatures":[{"sig":"MEQCIAP7X1DOj44CDdBUghResyWzascKZFLBv4mIth/eDe3+AiA4rtfBCqMvkTtURqLcM7M8zwLHMhM1WkS/eUU5KYK6Fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@25.12.19-wasm.43","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7841124},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"}},"gitHead":"eb7cebd5afa586f79fca43a81b09d72d73a7a9a5","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs && node test/test_encryption.mjs && node test/test_webapp_crypto.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1620060-fdc6-41e9-9d4f-800a0aa8d624"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.6.2","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"24.13.0","dependencies":{"hd-wallet-wasm":"^1.1.5"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.19-wasm.43_1770311291427_0.0705812613339789","host":"s3://npm-registry-packages-npm-production"}},"26.1.27":{"name":"flatc-wasm","version":"26.1.27","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@26.1.27","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"485f1e9a8ed364a60161ae4cface723b8dc54f3c","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-26.1.27.tgz","fileCount":24,"integrity":"sha512-KviQVap6efY4LdG2p3w58I2s1ZVuLVQe9FHfKacZYgLjvLqRHpXmAoI77+obaE9qfjyN7VMRudcPuY0dsvlz/g==","signatures":[{"sig":"MEUCIDw9VJquIrCzjqfW8ZUGbQao2K9J6hZ85r8im0gAHXoZAiEA97xVwwsrCeMJ4dsTN75qDyERS2+k8PMJo+pu7+0fypY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@26.1.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8281850},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./he":{"types":"./src/he-context.d.ts","import":"./src/he-context.mjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"},"./pipeline":{"types":"./src/pipeline.d.ts","import":"./src/pipeline.mjs"},"./he-bridge":{"types":"./src/he-key-bridge.d.ts","import":"./src/he-key-bridge.mjs"},"./he-encryptor":{"types":"./src/he-field-encryptor.d.ts","import":"./src/he-field-encryptor.mjs"},"./format-detector":{"types":"./src/format-detector.d.ts","import":"./src/format-detector.mjs"}},"gitHead":"e486fd6559ba7cf005aaaad331c01777de8c99df","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_he.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:he":"node test/test_he.mjs","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1620060-fdc6-41e9-9d4f-800a0aa8d624"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.11.0","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"hd-wallet-wasm":"^1.2.6"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_26.1.27_1773930813716_0.9376201305737701","host":"s3://npm-registry-packages-npm-production"}},"26.1.29":{"name":"flatc-wasm","version":"26.1.29","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@26.1.29","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"d7aa63876b4ebec0b758598ef5c04c98111192d5","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-26.1.29.tgz","fileCount":24,"integrity":"sha512-r/WWlXnhN7EhGQcEt8mDiDlDoBUNMFWXlL64Yh+dcqmkEPAdkysrTOxnKxuL/nWHzGvoZC3lpmPnToU4V/1P5A==","signatures":[{"sig":"MEQCIBgn453vaT4zcdwiGLxI76A/T4q+n9s/CEnfeCmMr2nMAiBb8rX0PAjDkFfHoGWZ5l9inlNxChKi1KxLnDsCccFowg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@26.1.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8281850},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./he":{"types":"./src/he-context.d.ts","import":"./src/he-context.mjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"},"./pipeline":{"types":"./src/pipeline.d.ts","import":"./src/pipeline.mjs"},"./he-bridge":{"types":"./src/he-key-bridge.d.ts","import":"./src/he-key-bridge.mjs"},"./he-encryptor":{"types":"./src/he-field-encryptor.d.ts","import":"./src/he-field-encryptor.mjs"},"./format-detector":{"types":"./src/format-detector.d.ts","import":"./src/format-detector.mjs"}},"gitHead":"5cc417a23499d4a04c647862bf8738f14bc260aa","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_he.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:he":"node test/test_he.mjs","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1620060-fdc6-41e9-9d4f-800a0aa8d624"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.11.0","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"hd-wallet-wasm":"^1.2.6"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_26.1.29_1773931614703_0.7835774773283373","host":"s3://npm-registry-packages-npm-production"}},"25.12.19-wasm.62":{"name":"flatc-wasm","version":"25.12.19-wasm.62","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@25.12.19-wasm.62","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"5fb590f3d560758c710dfcb5b1208d481de25fea","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-25.12.19-wasm.62.tgz","fileCount":24,"integrity":"sha512-zgjtdrQcyECAKyxJRE9YWv79z9i/s7ow3cUaVH7/lJlng3WZKNxxxPlGVecX9HFKpkBT7e4GcIbdT/InMj/UJQ==","signatures":[{"sig":"MEYCIQCahBvzCrJsOIjlCE3DX8K0LIJbsNemuMFimAXKVHIhhgIhAPJyccrjh0R/kwGipC6k17ajJcdAxRJCoiI3LezAokYq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@25.12.19-wasm.62","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8699562},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./he":{"types":"./src/he-context.d.ts","import":"./src/he-context.mjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"},"./pipeline":{"types":"./src/pipeline.d.ts","import":"./src/pipeline.mjs"},"./he-bridge":{"types":"./src/he-key-bridge.d.ts","import":"./src/he-key-bridge.mjs"},"./he-encryptor":{"types":"./src/he-field-encryptor.d.ts","import":"./src/he-field-encryptor.mjs"},"./format-detector":{"types":"./src/format-detector.d.ts","import":"./src/format-detector.mjs"}},"gitHead":"38fe17ca4833ab5186d7862d4c1cc520b5aea6c8","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1620060-fdc6-41e9-9d4f-800a0aa8d624"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.12.1","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"hd-wallet-wasm":"^1.2.6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_25.12.19-wasm.62_1776207225958_0.7254436611768782","host":"s3://npm-registry-packages-npm-production"}},"26.1.31":{"name":"flatc-wasm","version":"26.1.31","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","_id":"flatc-wasm@26.1.31","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"homepage":"https://flatbuffers.dev/","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"dist":{"shasum":"293a02283d0b37d0838fc709f79ef903dcc12fed","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-26.1.31.tgz","fileCount":24,"integrity":"sha512-ZqIHLIdNOOsJD3qPHFJSnh5TGtmdMmcuURlZzaxe7uBEGclqmSFLmtrleJbx0EWBA3HFQ6gdFNUB5+iOLewGNw==","signatures":[{"sig":"MEYCIQDX0e0C/G3dLa8WqQm4gCLUHKyPg1oOA+p8shhuIY6oawIhAMHTtcT7ro35wVB/CKaemoRPbi7ZlsONjJE4kee5k+W6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@26.1.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8281850},"main":"src/index.mjs","type":"module","types":"src/index.d.ts","module":"src/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./he":{"types":"./src/he-context.d.ts","import":"./src/he-context.mjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"},"./pipeline":{"types":"./src/pipeline.d.ts","import":"./src/pipeline.mjs"},"./he-bridge":{"types":"./src/he-key-bridge.d.ts","import":"./src/he-key-bridge.mjs"},"./he-encryptor":{"types":"./src/he-field-encryptor.d.ts","import":"./src/he-field-encryptor.mjs"},"./format-detector":{"types":"./src/format-detector.d.ts","import":"./src/format-detector.mjs"}},"gitHead":"716fbff882b2ddc08c44e81b041b4fcacf87b7cb","scripts":{"test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_he.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs","build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","prepare":"cd .. && husky || true","test:he":"node test/test_he.mjs","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1620060-fdc6-41e9-9d4f-800a0aa8d624"}},"repository":{"url":"git+https://github.com/DigitalArsenal/flatbuffers.git","type":"git","directory":"wasm"},"_npmVersion":"11.12.1","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"hd-wallet-wasm":"^2.0.4"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7"},"_npmOperationalInternal":{"tmp":"tmp/flatc-wasm_26.1.31_1777463544411_0.8196559811175639","host":"s3://npm-registry-packages-npm-production"}},"26.1.32":{"name":"flatc-wasm","version":"26.1.32","description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","type":"module","main":"src/index.mjs","module":"src/index.mjs","types":"src/index.d.ts","sideEffects":false,"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.mjs","require":"./dist/flatc-wasm.cjs"},"./runner":{"types":"./src/runner.d.ts","import":"./src/runner.mjs"},"./hd-keys":{"types":"./src/hd-keys.d.ts","import":"./src/hd-keys.mjs"},"./module":{"types":"./dist/flatc-wasm.d.ts","import":"./dist/flatc-wasm.js","require":"./dist/flatc-wasm.cjs"},"./pipeline":{"types":"./src/pipeline.d.ts","import":"./src/pipeline.mjs"},"./he":{"types":"./src/he-context.d.ts","import":"./src/he-context.mjs"},"./he-bridge":{"types":"./src/he-key-bridge.d.ts","import":"./src/he-key-bridge.mjs"},"./he-encryptor":{"types":"./src/he-field-encryptor.d.ts","import":"./src/he-field-encryptor.mjs"},"./format-detector":{"types":"./src/format-detector.d.ts","import":"./src/format-detector.mjs"}},"scripts":{"build":"cmake --build ../build/wasm --target flatc_wasm_npm -j","test":"node test/test_all.mjs && node test/test_runner.mjs && node test/test_he.mjs && node test/test_aligned.mjs && node test/test_aligned_interop.mjs","test:he":"node test/test_he.mjs","test:aligned":"node test/test_aligned.mjs && node test/test_aligned_interop.mjs","prepublishOnly":"npm test","prepare":"cd .. && husky || true"},"repository":{"type":"git","url":"git+https://github.com/DigitalArsenal/flatbuffers.git","directory":"wasm"},"keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"homepage":"https://flatbuffers.dev/","engines":{"node":">=18.0.0"},"dependencies":{"hd-wallet-wasm":"^2.0.4"},"devDependencies":{"husky":"^9.1.7"},"gitHead":"96fe1d36b616abee5cce35a874111b1aa27b4363","_id":"flatc-wasm@26.1.32","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-G6Qm68BKnsy/h6zliZeLHFhWdzB/rjG+E2pfjFmLwhmhAw0A8DlHefuRl5fy4xdwW+odcS9aLPSN0N6kBniOPw==","shasum":"61beb0d75cda934f321cc2ccd5bd8dd7ade4a678","tarball":"https://registry.npmjs.org/flatc-wasm/-/flatc-wasm-26.1.32.tgz","fileCount":25,"unpackedSize":8313452,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/flatc-wasm@26.1.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDS3WeSAe43Nqup7aIG0PqA9vTdvukc6c3GANIJXtSRGwIhAK/5CNXS0dmrA6VfVfo+6V/5KFr5du9LaMXS3Nwm60AL"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e1620060-fdc6-41e9-9d4f-800a0aa8d624"}},"directories":{},"maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/flatc-wasm_26.1.32_1777464723940_0.13764804580436962"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-08T14:57:12.898Z","modified":"2026-04-29T12:12:04.477Z","25.2.10":"2025-08-08T14:57:13.235Z","25.2.10-1":"2025-08-08T15:04:42.009Z","25.9.23":"2025-10-28T02:08:55.486Z","25.9.231":"2025-10-28T02:16:07.421Z","25.9.23-da.0":"2025-10-29T12:30:03.062Z","25.9.23-da.1":"2025-10-29T13:56:31.948Z","25.12.19":"2026-01-07T13:37:12.724Z","25.12.20":"2026-01-07T14:51:57.523Z","25.12.21":"2026-01-07T15:59:43.032Z","26.1.9":"2026-01-09T20:16:25.613Z","26.1.10":"2026-01-09T21:07:35.800Z","26.1.11":"2026-01-09T21:11:58.736Z","26.1.12":"2026-01-10T13:17:46.428Z","26.1.13":"2026-01-10T13:38:53.077Z","26.1.14":"2026-01-22T01:03:17.671Z","26.1.15":"2026-01-26T13:18:09.915Z","25.12.19-wasm.4":"2026-01-30T02:11:49.857Z","25.12.19-wasm.5":"2026-01-30T02:13:44.941Z","25.12.19-wasm.17":"2026-02-03T23:29:42.876Z","25.12.19-wasm.33":"2026-02-04T01:22:12.357Z","25.12.19-wasm.34":"2026-02-04T11:40:51.556Z","25.12.19-wasm.35":"2026-02-04T16:30:27.448Z","25.12.19-wasm.36":"2026-02-04T16:57:39.597Z","25.12.19-wasm.37":"2026-02-04T17:53:41.395Z","25.12.19-wasm.38":"2026-02-04T22:34:12.402Z","25.12.19-wasm.41":"2026-02-05T12:16:53.929Z","25.12.19-wasm.42":"2026-02-05T12:25:10.107Z","25.12.19-wasm.43":"2026-02-05T17:08:11.774Z","26.1.27":"2026-03-19T14:33:33.953Z","26.1.29":"2026-03-19T14:46:54.987Z","25.12.19-wasm.62":"2026-04-14T22:53:46.223Z","26.1.31":"2026-04-29T11:52:24.697Z","26.1.32":"2026-04-29T12:12:04.203Z"},"bugs":{"url":"https://github.com/DigitalArsenal/flatbuffers/issues"},"author":{"name":"The FlatBuffers project"},"license":"Apache-2.0","homepage":"https://flatbuffers.dev/","keywords":["flatbuffers","flatc","wasm","webassembly","serialization","schema","compiler","codegen"],"repository":{"type":"git","url":"git+https://github.com/DigitalArsenal/flatbuffers.git","directory":"wasm"},"description":"FlatBuffers compiler (flatc) as a WebAssembly module - schema management, JSON/binary conversion, and code generation","maintainers":[{"name":"digitalarsenal.io","email":"admin@digitalarsenal.io"}],"readme":"<p align=\"center\">\n  <img src=\"https://flatbuffers.dev/assets/flatbuffers_logo.svg\" alt=\"FlatBuffers Logo\" width=\"200\"/>\n</p>\n\n<h1 align=\"center\">flatc-wasm</h1>\n\n<p align=\"center\">\n  <a href=\"https://digitalarsenal.github.io/flatbuffers/\">https://digitalarsenal.github.io/flatbuffers/</a>\n</p>\n\n<p align=\"center\">\n  <strong>FlatBuffers compiler as WebAssembly — run <code>flatc</code> in Node.js or the browser with zero native dependencies</strong>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/flatc-wasm\"><img src=\"https://img.shields.io/npm/v/flatc-wasm.svg\" alt=\"npm\"></a>\n  <a href=\"https://github.com/DigitalArsenal/flatbuffers/actions/workflows/build.yml\"><img src=\"https://github.com/DigitalArsenal/flatbuffers/actions/workflows/build.yml/badge.svg\" alt=\"CI\"></a>\n  <a href=\"https://github.com/DigitalArsenal/flatbuffers/actions/workflows/docs.yml\"><img src=\"https://github.com/DigitalArsenal/flatbuffers/actions/workflows/docs.yml/badge.svg\" alt=\"Docs\"></a>\n  <a href=\"https://github.com/DigitalArsenal/flatbuffers/actions/workflows/npm-publish-wasm.yml\"><img src=\"https://github.com/DigitalArsenal/flatbuffers/actions/workflows/npm-publish-wasm.yml/badge.svg\" alt=\"Publish\"></a>\n  <a href=\"https://github.com/DigitalArsenal/flatbuffers/blob/master/LICENSE\"><img src=\"https://img.shields.io/badge/license-Apache%202.0-blue.svg\" alt=\"License\"></a>\n</p>\n\n---\n\n## Features\n\n| Category | Features |\n|----------|----------|\n| **Schema** | Add, remove, list, and export FlatBuffer schemas |\n| **Conversion** | JSON ↔ FlatBuffer binary with auto-detection |\n| **Code Gen** | 13 languages: C++, TypeScript, Go, Rust, Python, Java, C#, Swift, Kotlin, Dart, PHP, Lua, Nim |\n| **JSON Schema** | Import JSON Schema as input, export FlatBuffers to JSON Schema |\n| **Encryption** | Per-field AES-256-CTR encryption with `(encrypted)` attribute |\n| **Streaming** | Process large data with streaming APIs |\n| **Cross-Lang** | Same WASM runs in Node.js, Go, Python, Rust, Java, C#, Swift |\n| **Runtimes** | Embedded language runtimes for 11 languages, retrievable as JSON or ZIP |\n| **Zero Deps** | Self-contained with inlined WASM binaries |\n\n---\n\n## Installation\n\n```bash\nnpm install flatc-wasm\n```\n\n---\n\n## Requirements\n\n| Platform | Minimum Version |\n|----------|-----------------|\n| Node.js | 18.0.0 or higher |\n| Chrome | 57+ |\n| Firefox | 52+ |\n| Safari | 11+ |\n| Edge | 79+ |\n\n**Dependencies:**\n- No native dependencies required (self-contained WASM)\n- Optional: `hd-wallet-wasm` (included) for HD key derivation\n\n**For building from source:**\n- Emscripten SDK (emsdk)\n- CMake 3.16+\n- Python 3.8+\n\n---\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [FlatcRunner API](#flatcrunner-api) (Recommended)\n- [Low-Level API Reference](#low-level-api-reference)\n  - [Module Initialization](#module-initialization)\n  - [Schema Management](#schema-management)\n  - [JSON/Binary Conversion](#jsonbinary-conversion)\n  - [Code Generation](#code-generation)\n  - [Streaming API](#streaming-api)\n  - [Low-Level C API](#low-level-c-api)\n- [Browser Usage](#browser-usage)\n- [Streaming Server](#streaming-server)\n- [Examples](#examples)\n- [Building from Source](#building-from-source)\n- [TypeScript Support](#typescript-support)\n- [Aligned Binary Format](#aligned-binary-format)\n  - [Why Use Aligned Format?](#why-use-aligned-format)\n  - [Basic Usage](#basic-usage)\n  - [Fixed-Length Strings](#fixed-length-strings)\n  - [Supported Types](#supported-types)\n  - [WASM Interop Example](#wasm-interop-example)\n- [Encryption](#encryption)\n  - [Per-Field Encryption](#per-field-encryption)\n  - [FlatcRunner Encryption API](#flatcrunner-encryption-api)\n  - [Streaming Encryption](#streaming-encryption)\n  - [Encryption Configuration](#encryption-configuration)\n  - [FIPS Mode](#fips-mode)\n- [Embedded Language Runtimes](#embedded-language-runtimes)\n  - [Overview](#overview)\n  - [Retrieving Runtimes](#retrieving-runtimes)\n  - [Low-Level Runtime API](#low-level-runtime-api)\n  - [Embedded Runtime Languages](#embedded-runtime-languages)\n  - [Build-Time Generation](#build-time-generation)\n- [Plugin Architecture](#plugin-architecture)\n  - [Code Generator Plugins](#code-generator-plugins)\n  - [Schema Transformation Plugins](#schema-transformation-plugins)\n  - [Custom Language Generator Example](#custom-language-generator-example)\n- [License](#license)\n\n---\n\n## Quick Start\n\nThe recommended way to use flatc-wasm is through the `FlatcRunner` class, which provides a clean CLI-style interface:\n\n```javascript\nimport { FlatcRunner } from 'flatc-wasm';\n\n// Initialize the runner\nconst flatc = await FlatcRunner.init();\n\n// Check version\nconsole.log(flatc.version());  // \"flatc version 25.x.x\"\n\n// Define schema as a virtual file tree\nconst schemaInput = {\n  entry: '/schemas/monster.fbs',\n  files: {\n    '/schemas/monster.fbs': `\n      namespace Game;\n      table Monster {\n        name: string;\n        hp: short = 100;\n      }\n      root_type Monster;\n    `\n  }\n};\n\n// Convert JSON to binary\nconst binary = flatc.generateBinary(schemaInput, '{\"name\": \"Orc\", \"hp\": 150}');\nconsole.log('Binary size:', binary.length, 'bytes');\n\n// Convert binary back to JSON\nconst json = flatc.generateJSON(schemaInput, {\n  path: '/data/monster.bin',\n  data: binary\n});\nconsole.log('JSON:', json);\n\n// Generate TypeScript code\nconst code = flatc.generateCode(schemaInput, 'ts');\nconsole.log('Generated files:', Object.keys(code));\n```\n\n### Alternative: Low-Level Module API\n\nFor advanced use cases, you can also use the raw WASM module directly:\n\n```javascript\nimport createFlatcWasm from 'flatc-wasm';\n\nconst flatc = await createFlatcWasm();\nconsole.log('FlatBuffers version:', flatc.getVersion());\n\n// Add schema using Embind API\nconst handle = flatc.createSchema('monster.fbs', schema);\nconsole.log('Schema ID:', handle.id());\n```\n\n---\n\n## FlatcRunner API\n\nThe `FlatcRunner` class provides a high-level, type-safe API for all flatc operations. It wraps the flatc CLI with a virtual filesystem, making it easy to use in Node.js and browser environments.\n\n### Initialization\n\n```javascript\nimport { FlatcRunner } from 'flatc-wasm';\n\n// Basic initialization\nconst flatc = await FlatcRunner.init();\n\n// With custom options\nconst flatc = await FlatcRunner.init({\n  print: (text) => console.log('[flatc]', text),\n  printErr: (text) => console.error('[flatc]', text),\n});\n\n// Check version\nconsole.log(flatc.version());  // \"flatc version 25.x.x\"\n\n// Get full help text\nconsole.log(flatc.help());\n```\n\n### Schema Input Format\n\nAll operations use a schema input tree that represents virtual files:\n\n```javascript\n// Simple single-file schema\nconst simpleSchema = {\n  entry: '/schema.fbs',\n  files: {\n    '/schema.fbs': `\n      table Message { text: string; }\n      root_type Message;\n    `\n  }\n};\n\n// Multi-file schema with includes\nconst multiFileSchema = {\n  entry: '/schemas/game.fbs',\n  files: {\n    '/schemas/game.fbs': `\n      include \"common.fbs\";\n      namespace Game;\n      table Player {\n        id: uint64;\n        position: Common.Vec3;\n        name: string;\n      }\n      root_type Player;\n    `,\n    '/schemas/common.fbs': `\n      namespace Common;\n      struct Vec3 {\n        x: float;\n        y: float;\n        z: float;\n      }\n    `\n  }\n};\n```\n\n### Binary Generation (JSON → FlatBuffer)\n\nConvert JSON data to FlatBuffer binary format:\n\n```javascript\nconst binary = flatc.generateBinary(schemaInput, jsonData, {\n  unknownJson: true,   // Allow unknown fields in JSON (default: true)\n  strictJson: false,   // Require strict JSON conformance (default: false)\n});\n\n// Example with actual data\nconst schema = {\n  entry: '/player.fbs',\n  files: {\n    '/player.fbs': `\n      table Player { name: string; score: int; }\n      root_type Player;\n    `\n  }\n};\n\nconst json = JSON.stringify({ name: 'Alice', score: 100 });\nconst binary = flatc.generateBinary(schema, json);\nconsole.log('Binary size:', binary.length, 'bytes');  // ~32 bytes\n```\n\n### JSON Generation (FlatBuffer → JSON)\n\nConvert FlatBuffer binary back to JSON:\n\n```javascript\nconst json = flatc.generateJSON(schemaInput, {\n  path: '/data/input.bin',  // Virtual path (filename used for output naming)\n  data: binaryData          // Uint8Array containing FlatBuffer binary\n}, {\n  strictJson: true,    // Output strict JSON format (default: true)\n  rawBinary: true,     // Allow binaries without file_identifier (default: true)\n  defaultsJson: false, // Include fields with default values (default: false)\n  encoding: 'utf8',    // Return as string; use null for Uint8Array\n});\n\n// Round-trip example\nconst originalJson = '{\"name\": \"Bob\", \"score\": 250}';\nconst binary = flatc.generateBinary(schema, originalJson);\nconst recoveredJson = flatc.generateJSON(schema, {\n  path: '/player.bin',\n  data: binary\n});\nconsole.log(JSON.parse(recoveredJson));  // { name: 'Bob', score: 250 }\n```\n\n### Code Generation\n\nGenerate source code for any supported language:\n\n```javascript\nconst files = flatc.generateCode(schemaInput, language, options);\n```\n\n#### Supported Languages\n\n| Language    | Flag         | File Extension  |\n| ----------- | ------------ | --------------- |\n| C++         | `cpp`        | `.h`            |\n| C#          | `csharp`     | `.cs`           |\n| Dart        | `dart`       | `.dart`         |\n| Go          | `go`         | `.go`           |\n| Java        | `java`       | `.java`         |\n| Kotlin      | `kotlin`     | `.kt`           |\n| Kotlin KMP  | `kotlin-kmp` | `.kt`           |\n| Lobster     | `lobster`    | `.lobster`      |\n| Lua         | `lua`        | `.lua`          |\n| Nim         | `nim`        | `.nim`          |\n| PHP         | `php`        | `.php`          |\n| Python      | `python`     | `.py`           |\n| Rust        | `rust`       | `.rs`           |\n| Swift       | `swift`      | `.swift`        |\n| TypeScript  | `ts`         | `.ts`           |\n| JSON        | `json`       | `.json`         |\n| JSON Schema | `jsonschema` | `.schema.json`  |\n\n#### Code Generation Options\n\n```javascript\nconst files = flatc.generateCode(schemaInput, 'cpp', {\n  // General options\n  genObjectApi: true,    // Generate object-based API (Pack/UnPack methods)\n  genOnefile: true,      // Generate all output in a single file\n  genMutable: true,      // Generate mutable accessors for tables\n  genCompare: true,      // Generate comparison operators\n  genNameStrings: true,  // Generate type name strings for enums\n  reflectNames: true,    // Add minimal reflection with field names\n  reflectTypes: true,    // Add full reflection with type info\n  genJsonEmit: true,     // Generate JSON emit helpers\n  noIncludes: true,      // Don't generate include statements\n  keepPrefix: true,      // Keep original prefix/namespace structure\n  noWarnings: true,      // Suppress warning messages\n  genAll: true,          // Generate code for all schemas (not just root)\n\n  // Language-specific options\n  pythonTyping: true,    // Python: Generate type hints (PEP 484)\n  tsFlexBuffers: true,   // TypeScript: Include FlexBuffers support\n  tsNoImportExt: true,   // TypeScript: Don't add .js to imports\n  goModule: 'mymodule',  // Go: Module path for generated code\n  goPackagePrefix: 'pkg' // Go: Package prefix for imports\n});\n\n// Result is a map of filename → content\nfor (const [filename, content] of Object.entries(files)) {\n  console.log(`Generated: ${filename} (${content.length} bytes)`);\n  // Write to disk, upload, etc.\n}\n```\n\n#### Code Generation Examples\n\n```javascript\n// Generate TypeScript with object API\nconst tsFiles = flatc.generateCode(schema, 'ts', { genObjectApi: true });\n\n// Generate Python with type hints\nconst pyFiles = flatc.generateCode(schema, 'python', { pythonTyping: true });\n\n// Generate Rust\nconst rsFiles = flatc.generateCode(schema, 'rust');\n\n// Generate C++ with all features\nconst cppFiles = flatc.generateCode(schema, 'cpp', {\n  genObjectApi: true,\n  genMutable: true,\n  genCompare: true,\n});\n```\n\n### JSON Schema Support\n\n#### Export FlatBuffer Schema to JSON Schema\n\n```javascript\nconst jsonSchema = flatc.generateJsonSchema(schemaInput);\nconst parsed = JSON.parse(jsonSchema);\nconsole.log(parsed.$schema);  // \"http://json-schema.org/draft-04/schema#\"\n```\n\n#### Import JSON Schema\n\nYou can use JSON Schema files as input to FlatcRunner:\n\n```javascript\nconst jsonSchemaInput = {\n  entry: '/person.schema.json',\n  files: {\n    '/person.schema.json': JSON.stringify({\n      \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n      \"type\": \"object\",\n      \"properties\": {\n        \"name\": { \"type\": \"string\" },\n        \"age\": { \"type\": \"integer\" }\n      },\n      \"required\": [\"name\"]\n    })\n  }\n};\n\n// Generate code from JSON Schema\nconst code = flatc.generateCode(jsonSchemaInput, 'typescript');\n```\n\n### Virtual Filesystem Operations\n\nThe FlatcRunner provides direct access to the Emscripten virtual filesystem:\n\n```javascript\n// Mount a single file\nflatc.mountFile('/schemas/types.fbs', schemaContent);\n\n// Mount multiple files at once\nflatc.mountFiles([\n  { path: '/schemas/a.fbs', data: 'table A { x: int; }' },\n  { path: '/schemas/b.fbs', data: 'table B { y: int; }' },\n  { path: '/data/input.json', data: new Uint8Array([...]) },\n]);\n\n// Read a file back\nconst content = flatc.readFile('/schemas/a.fbs', { encoding: 'utf8' });\n\n// Read as binary\nconst binary = flatc.readFile('/data/output.bin');  // Returns Uint8Array\n\n// List directory contents\nconst files = flatc.readdir('/schemas');  // ['a.fbs', 'b.fbs']\n\n// Recursively list all files\nconst allFiles = flatc.listAllFiles('/schemas');\n\n// Delete files\nflatc.unlink('/data/input.json');\nflatc.rmdir('/data');\n```\n\n### Low-Level CLI Access\n\nFor advanced use cases, you can run any flatc command directly:\n\n```javascript\n// Run arbitrary flatc commands\nconst result = flatc.runCommand(['--help']);\nconsole.log(result.code);    // Exit code (0 = success)\nconsole.log(result.stdout);  // Standard output\nconsole.log(result.stderr);  // Standard error\n\n// Example: Generate binary schema (.bfbs)\nflatc.mountFile('/schema.fbs', schemaContent);\nconst result = flatc.runCommand([\n  '--binary',\n  '--schema',\n  '-o', '/output',\n  '/schema.fbs'\n]);\n\nif (result.code === 0) {\n  const bfbs = flatc.readFile('/output/schema.bfbs');\n}\n\n// Example: Use specific flatc flags\nflatc.runCommand([\n  '--cpp',\n  '--gen-object-api',\n  '--gen-mutable',\n  '--scoped-enums',\n  '-o', '/output',\n  '/schema.fbs'\n]);\n```\n\n### Error Handling\n\nAll FlatcRunner methods throw errors with descriptive messages:\n\n```javascript\ntry {\n  const binary = flatc.generateBinary(schema, '{ invalid json }');\n} catch (error) {\n  console.error('Conversion failed:', error.message);\n  // \"flatc binary generation failed (exit 0):\n  //  error: ... json parse error ...\"\n}\n\ntry {\n  const code = flatc.generateCode(schema, 'invalid-language');\n} catch (error) {\n  console.error('Code generation failed:', error.message);\n}\n\n// Check command results manually\nconst result = flatc.runCommand(['--invalid-flag']);\nif (result.code !== 0 || result.stderr.includes('error:')) {\n  console.error('Command failed:', result.stderr);\n}\n```\n\n### Complete Example: Build Pipeline\n\n```javascript\nimport { FlatcRunner } from 'flatc-wasm';\nimport { writeFileSync } from 'fs';\n\nasync function buildSchemas() {\n  const flatc = await FlatcRunner.init();\n\n  // Define your schemas\n  const schema = {\n    entry: '/schemas/game.fbs',\n    files: {\n      '/schemas/game.fbs': `\n        namespace Game;\n\n        enum ItemType : byte { Weapon, Armor, Potion }\n\n        table Item {\n          id: uint32;\n          name: string (required);\n          type: ItemType;\n          value: int = 0;\n        }\n\n        table Inventory {\n          items: [Item];\n          gold: int;\n        }\n\n        root_type Inventory;\n      `\n    }\n  };\n\n  // Generate code for multiple languages\n  const languages = ['typescript', 'python', 'rust', 'go'];\n\n  for (const lang of languages) {\n    const files = flatc.generateCode(schema, lang, {\n      genObjectApi: true,\n    });\n\n    for (const [filename, content] of Object.entries(files)) {\n      const outPath = `./generated/${lang}/${filename}`;\n      writeFileSync(outPath, content);\n      console.log(`Generated: ${outPath}`);\n    }\n  }\n\n  // Generate JSON Schema for documentation\n  const jsonSchema = flatc.generateJsonSchema(schema);\n  writeFileSync('./docs/inventory.schema.json', jsonSchema);\n\n  // Test conversion\n  const testData = {\n    items: [\n      { id: 1, name: 'Sword', type: 'Weapon', value: 100 },\n      { id: 2, name: 'Shield', type: 'Armor', value: 50 },\n    ],\n    gold: 500\n  };\n\n  const binary = flatc.generateBinary(schema, JSON.stringify(testData));\n  console.log(`Binary size: ${binary.length} bytes`);\n\n  const recovered = flatc.generateJSON(schema, {\n    path: '/inventory.bin',\n    data: binary\n  });\n  console.log('Round-trip successful:', JSON.parse(recovered));\n}\n\nbuildSchemas().catch(console.error);\n```\n\n---\n\n## Low-Level API Reference\n\n### Module Initialization\n\n#### ESM (recommended)\n\n```javascript\nimport createFlatcWasm from 'flatc-wasm';\n\nconst flatc = await createFlatcWasm();\n```\n\n#### CommonJS\n\n```javascript\nconst createFlatcWasm = require('flatc-wasm');\n\nconst flatc = await createFlatcWasm();\n```\n\n#### Embind High-Level API\n\nThe module provides a high-level API via Emscripten's Embind:\n\n```javascript\nconst flatc = await createFlatcWasm();\n\n// Version\nflatc.getVersion();        // Returns \"25.x.x\"\nflatc.getLastError();      // Returns last error message\n\n// Schema management (returns SchemaHandle objects)\nconst handle = flatc.createSchema(name, source);\nhandle.id();               // Schema ID (number)\nhandle.name();             // Schema name (string)\nhandle.valid();            // Is handle valid? (boolean)\nhandle.release();          // Remove schema and invalidate handle\n\n// Get all schemas\nconst handles = flatc.getAllSchemas();  // Returns array of SchemaHandle\n```\n\n---\n\n### Schema Management\n\n#### Adding Schemas\n\n```javascript\n// From string (.fbs format)\nconst handle = flatc.createSchema('monster.fbs', `\n  namespace Game;\n  table Monster {\n    name: string;\n    hp: int = 100;\n  }\n  root_type Monster;\n`);\n\n// Check if valid\nif (handle.valid()) {\n  console.log('Schema added with ID:', handle.id());\n}\n```\n\n#### Adding JSON Schema\n\nJSON Schema files are automatically detected and converted:\n\n```javascript\n// JSON Schema is auto-detected by content or .schema.json extension\nconst handle = flatc.createSchema('person.schema.json', `{\n  \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n  \"type\": \"object\",\n  \"properties\": {\n    \"name\": { \"type\": \"string\" },\n    \"age\": { \"type\": \"integer\" }\n  },\n  \"required\": [\"name\"]\n}`);\n```\n\n#### Listing and Removing Schemas\n\n```javascript\n// List all schemas\nconst schemas = flatc.getAllSchemas();\nfor (const schema of schemas) {\n  console.log(`ID: ${schema.id()}, Name: ${schema.name()}`);\n}\n\n// Remove a schema\nhandle.release();\nconsole.log('Valid after release:', handle.valid());  // false\n```\n\n---\n\n### JSON/Binary Conversion\n\nFor conversions, use the low-level C API which provides direct memory access:\n\n#### Helper Functions\n\n```javascript\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\n\n// Write string to WASM memory\nfunction writeString(str) {\n  const bytes = encoder.encode(str);\n  const ptr = flatc._malloc(bytes.length);\n  flatc.HEAPU8.set(bytes, ptr);\n  return [ptr, bytes.length];\n}\n\n// Write bytes to WASM memory\nfunction writeBytes(data) {\n  const ptr = flatc._malloc(data.length);\n  flatc.HEAPU8.set(data, ptr);\n  return ptr;\n}\n\n// Get error message\nfunction getLastError() {\n  const ptr = flatc._wasm_get_last_error();\n  return ptr ? flatc.UTF8ToString(ptr) : 'Unknown error';\n}\n```\n\n#### JSON to Binary\n\n```javascript\nconst schemaId = handle.id();\nconst json = '{\"name\": \"Goblin\", \"hp\": 50}';\n\nconst [jsonPtr, jsonLen] = writeString(json);\nconst outLenPtr = flatc._malloc(4);\n\ntry {\n  const resultPtr = flatc._wasm_json_to_binary(schemaId, jsonPtr, jsonLen, outLenPtr);\n\n  if (resultPtr === 0) {\n    throw new Error(getLastError());\n  }\n\n  const len = flatc.getValue(outLenPtr, 'i32');\n  const binary = flatc.HEAPU8.slice(resultPtr, resultPtr + len);\n\n  console.log('Binary size:', binary.length, 'bytes');\n  // binary is a Uint8Array containing the FlatBuffer\n} finally {\n  flatc._free(jsonPtr);\n  flatc._free(outLenPtr);\n}\n```\n\n#### Binary to JSON\n\n```javascript\nconst binPtr = writeBytes(binary);\nconst outLenPtr = flatc._malloc(4);\n\ntry {\n  const resultPtr = flatc._wasm_binary_to_json(schemaId, binPtr, binary.length, outLenPtr);\n\n  if (resultPtr === 0) {\n    throw new Error(getLastError());\n  }\n\n  const len = flatc.getValue(outLenPtr, 'i32');\n  const jsonBytes = flatc.HEAPU8.slice(resultPtr, resultPtr + len);\n  const json = decoder.decode(jsonBytes);\n\n  console.log('JSON:', json);\n} finally {\n  flatc._free(binPtr);\n  flatc._free(outLenPtr);\n}\n```\n\n#### Auto-Detect Format\n\n```javascript\n// Detect format without conversion\nconst dataPtr = writeBytes(data);\nconst format = flatc._wasm_detect_format(dataPtr, data.length);\nflatc._free(dataPtr);\n\n// format: 0 = JSON, 1 = Binary, -1 = Unknown\nconsole.log('Format:', format === 0 ? 'JSON' : format === 1 ? 'Binary' : 'Unknown');\n```\n\n#### Auto-Convert\n\n```javascript\nconst dataPtr = writeBytes(data);\nconst outPtrPtr = flatc._malloc(4);\nconst outLenPtr = flatc._malloc(4);\n\ntry {\n  // Returns: 0 = input was JSON (output is binary)\n  //          1 = input was binary (output is JSON)\n  //         -1 = error\n  const format = flatc._wasm_convert_auto(schemaId, dataPtr, data.length, outPtrPtr, outLenPtr);\n\n  if (format < 0) {\n    throw new Error(getLastError());\n  }\n\n  const outPtr = flatc.getValue(outPtrPtr, 'i32');\n  const outLen = flatc.getValue(outLenPtr, 'i32');\n  const result = flatc.HEAPU8.slice(outPtr, outPtr + outLen);\n\n  if (format === 0) {\n    console.log('Converted JSON to binary:', result.length, 'bytes');\n  } else {\n    console.log('Converted binary to JSON:', decoder.decode(result));\n  }\n} finally {\n  flatc._free(dataPtr);\n  flatc._free(outPtrPtr);\n  flatc._free(outLenPtr);\n}\n```\n\n---\n\n### Code Generation\n\nGenerate code for any supported language:\n\n```javascript\n// Language IDs\nconst Language = {\n  CPP: 0,\n  CSharp: 1,\n  Dart: 2,\n  Go: 3,\n  Java: 4,\n  Kotlin: 5,\n  Python: 6,\n  Rust: 7,\n  Swift: 8,\n  TypeScript: 9,\n  PHP: 10,\n  JSONSchema: 11,\n  FBS: 12,  // Re-export as .fbs\n};\n\n// Generate TypeScript code\nconst outLenPtr = flatc._malloc(4);\n\ntry {\n  const resultPtr = flatc._wasm_generate_code(schemaId, Language.TypeScript, outLenPtr);\n\n  if (resultPtr === 0) {\n    throw new Error(getLastError());\n  }\n\n  const len = flatc.getValue(outLenPtr, 'i32');\n  const codeBytes = flatc.HEAPU8.slice(resultPtr, resultPtr + len);\n  const code = decoder.decode(codeBytes);\n\n  console.log(code);\n} finally {\n  flatc._free(outLenPtr);\n}\n```\n\n#### Get Language ID by Name\n\n```javascript\n// Get language ID from name (case-insensitive)\nconst [namePtr, nameLen] = writeString('typescript');\nconst langId = flatc._wasm_get_language_id(namePtr);\nflatc._free(namePtr);\n\nconsole.log('TypeScript ID:', langId);  // 9\n\n// Aliases supported: \"ts\", \"typescript\", \"c++\", \"cpp\", \"c#\", \"csharp\", etc.\n```\n\n#### List Supported Languages\n\n```javascript\nconst languages = flatc._wasm_get_supported_languages();\nconsole.log(flatc.UTF8ToString(languages));\n// \"cpp,csharp,dart,go,java,kotlin,python,rust,swift,typescript,php,jsonschema,fbs\"\n```\n\n---\n\n### Streaming API\n\nFor processing large data without multiple JavaScript/WASM boundary crossings:\n\n#### Stream Buffer Operations\n\n```javascript\n// Reset stream buffer\nflatc._wasm_stream_reset();\n\n// Add data in chunks\nconst chunk1 = encoder.encode('{\"name\":');\nconst chunk2 = encoder.encode('\"Dragon\", \"hp\": 500}');\n\n// Write chunk 1\nlet ptr = flatc._wasm_stream_prepare(chunk1.length);\nflatc.HEAPU8.set(chunk1, ptr);\nflatc._wasm_stream_commit(chunk1.length);\n\n// Write chunk 2\nptr = flatc._wasm_stream_prepare(chunk2.length);\nflatc.HEAPU8.set(chunk2, ptr);\nflatc._wasm_stream_commit(chunk2.length);\n\n// Check accumulated size\nconsole.log('Stream size:', flatc._wasm_stream_size());  // 31\n\n// Convert accumulated data\nconst outPtrPtr = flatc._malloc(4);\nconst outLenPtr = flatc._malloc(4);\n\nconst format = flatc._wasm_stream_convert(schemaId, outPtrPtr, outLenPtr);\n\nif (format >= 0) {\n  const outPtr = flatc.getValue(outPtrPtr, 'i32');\n  const outLen = flatc.getValue(outLenPtr, 'i32');\n  const result = flatc.HEAPU8.slice(outPtr, outPtr + outLen);\n  console.log('Converted:', result.length, 'bytes');\n}\n\nflatc._free(outPtrPtr);\nflatc._free(outLenPtr);\n```\n\n#### Add Schema via Streaming\n\n```javascript\n// Stream a large schema file\nflatc._wasm_stream_reset();\n\nfor (const chunk of schemaChunks) {\n  const ptr = flatc._wasm_stream_prepare(chunk.length);\n  flatc.HEAPU8.set(chunk, ptr);\n  flatc._wasm_stream_commit(chunk.length);\n}\n\nconst [namePtr, nameLen] = writeString('large_schema.fbs');\nconst schemaId = flatc._wasm_stream_add_schema(namePtr, nameLen);\nflatc._free(namePtr);\n\nif (schemaId < 0) {\n  console.error('Failed:', getLastError());\n}\n```\n\n---\n\n### Low-Level C API\n\nComplete list of exported C functions:\n\n#### Utility Functions\n\n| Function | Description |\n|----------|-------------|\n| `_wasm_get_version()` | Get FlatBuffers version string |\n| `_wasm_get_last_error()` | Get last error message |\n| `_wasm_clear_error()` | Clear error state |\n\n#### Memory Management\n\n| Function | Description |\n|----------|-------------|\n| `_wasm_malloc(size)` | Allocate memory |\n| `_wasm_free(ptr)` | Free memory |\n| `_wasm_realloc(ptr, size)` | Reallocate memory |\n| `_malloc(size)` | Standard malloc |\n| `_free(ptr)` | Standard free |\n\n#### Schema Management\n\n| Function | Description |\n|----------|-------------|\n| `_wasm_schema_add(name, nameLen, src, srcLen)` | Add schema, returns ID or -1 |\n| `_wasm_schema_remove(id)` | Remove schema by ID |\n| `_wasm_schema_count()` | Get number of loaded schemas |\n| `_wasm_schema_list(outIds, maxCount)` | List schema IDs |\n| `_wasm_schema_get_name(id)` | Get schema name by ID |\n| `_wasm_schema_export(id, format, outLen)` | Export schema (0=FBS, 1=JSON Schema) |\n\n#### Conversion Functions\n\n| Function | Description |\n|----------|-------------|\n| `_wasm_json_to_binary(schemaId, json, jsonLen, outLen)` | JSON to FlatBuffer |\n| `_wasm_binary_to_json(schemaId, bin, binLen, outLen)` | FlatBuffer to JSON |\n| `_wasm_convert_auto(schemaId, data, dataLen, outPtr, outLen)` | Auto-detect and convert |\n| `_wasm_detect_format(data, dataLen)` | Detect format (0=JSON, 1=Binary, -1=Unknown) |\n\n#### Output Buffer Management\n\n| Function | Description |\n|----------|-------------|\n| `_wasm_get_output_ptr()` | Get output buffer pointer |\n| `_wasm_get_output_size()` | Get output buffer size |\n| `_wasm_reserve_output(capacity)` | Pre-allocate output buffer |\n| `_wasm_clear_output()` | Clear output buffer |\n\n#### Stream Buffer Management\n\n| Function | Description |\n|----------|-------------|\n| `_wasm_stream_reset()` | Clear stream buffer |\n| `_wasm_stream_prepare(bytes)` | Prepare buffer for writing, returns pointer |\n| `_wasm_stream_commit(bytes)` | Confirm bytes written |\n| `_wasm_stream_size()` | Get current stream size |\n| `_wasm_stream_data()` | Get stream buffer pointer |\n| `_wasm_stream_convert(schemaId, outPtr, outLen)` | Convert stream buffer |\n| `_wasm_stream_add_schema(name, nameLen)` | Add schema from stream buffer |\n\n#### Code Generation\n\n| Function | Description |\n|----------|-------------|\n| `_wasm_generate_code(schemaId, langId, outLen)` | Generate code |\n| `_wasm_get_supported_languages()` | Get comma-separated language list |\n| `_wasm_get_language_id(name)` | Get language ID from name |\n\n---\n\n## Browser Usage\n\n### ES Module\n\n```html\n<script type=\"module\">\nimport createFlatcWasm from 'https://unpkg.com/flatc-wasm/dist/flatc-wasm.js';\n\nasync function main() {\n  const flatc = await createFlatcWasm();\n  console.log('Version:', flatc.getVersion());\n\n  // Add schema\n  const handle = flatc.createSchema('person.fbs', `\n    table Person {\n      name: string;\n      age: int;\n    }\n    root_type Person;\n  `);\n\n  // Convert JSON to binary\n  const encoder = new TextEncoder();\n  const json = '{\"name\": \"Alice\", \"age\": 30}';\n  const jsonBytes = encoder.encode(json);\n\n  const jsonPtr = flatc._malloc(jsonBytes.length);\n  flatc.HEAPU8.set(jsonBytes, jsonPtr);\n  const outLenPtr = flatc._malloc(4);\n\n  const resultPtr = flatc._wasm_json_to_binary(\n    handle.id(), jsonPtr, jsonBytes.length, outLenPtr\n  );\n\n  if (resultPtr) {\n    const len = flatc.getValue(outLenPtr, 'i32');\n    const binary = flatc.HEAPU8.slice(resultPtr, resultPtr + len);\n    console.log('Binary size:', binary.length);\n\n    // Download as file\n    const blob = new Blob([binary], { type: 'application/octet-stream' });\n    const url = URL.createObjectURL(blob);\n    const a = document.createElement('a');\n    a.href = url;\n    a.download = 'person.bin';\n    a.click();\n  }\n\n  flatc._free(jsonPtr);\n  flatc._free(outLenPtr);\n}\n\nmain();\n</script>\n```\n\n### With Bundlers (Webpack, Vite, etc.)\n\n```javascript\n// Works out of the box with modern bundlers\nimport createFlatcWasm from 'flatc-wasm';\n\nconst flatc = await createFlatcWasm();\n```\n\n---\n\n## Streaming Server\n\nFor high-throughput scenarios, use the streaming CLI server:\n\n### Start Server\n\n```bash\n# TCP server\nnpx flatc-wasm --tcp 9876\n\n# Unix socket\nnpx flatc-wasm --socket /tmp/flatc.sock\n\n# stdin/stdout daemon\nnpx flatc-wasm --daemon\n```\n\n### JSON-RPC Protocol\n\nSend JSON-RPC 2.0 requests (one per line):\n\n```bash\n# Get version\necho '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"version\"}' | nc localhost 9876\n\n# Add schema\necho '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"addSchema\",\"params\":{\"name\":\"monster.fbs\",\"source\":\"table Monster { name:string; } root_type Monster;\"}}' | nc localhost 9876\n\n# Convert JSON to binary (base64 encoded)\necho '{\"jsonrpc\":\"2.0\",\"id\":3,\"method\":\"jsonToBinary\",\"params\":{\"schema\":\"monster.fbs\",\"json\":\"{\\\"name\\\":\\\"Orc\\\"}\"}}' | nc localhost 9876\n\n# Generate code\necho '{\"jsonrpc\":\"2.0\",\"id\":4,\"method\":\"generateCode\",\"params\":{\"schema\":\"monster.fbs\",\"language\":\"typescript\"}}' | nc localhost 9876\n```\n\n### Available RPC Methods\n\n| Method | Parameters | Description |\n|--------|------------|-------------|\n| `version` | - | Get FlatBuffers version |\n| `addSchema` | `name`, `source` | Add schema from string |\n| `addSchemaFile` | `path` | Add schema from file path |\n| `removeSchema` | `name` | Remove schema by name |\n| `listSchemas` | - | List loaded schema names |\n| `jsonToBinary` | `schema`, `json` | Convert JSON to binary (base64) |\n| `binaryToJson` | `schema`, `binary` | Convert binary (base64) to JSON |\n| `convert` | `schema`, `data` | Auto-detect and convert |\n| `generateCode` | `schema`, `language` | Generate code for language |\n| `ping` | - | Health check |\n| `stats` | - | Server statistics |\n\n### Folder Watch Mode\n\nAuto-convert files as they appear:\n\n```bash\n# Convert JSON files to binary\nnpx flatc-wasm --watch ./json_input --output ./bin_output --schema monster.fbs\n\n# Convert binary files to JSON\nnpx flatc-wasm --watch ./bin_input --output ./json_output --schema monster.fbs --to-json\n```\n\n### Pipe Mode\n\nSingle-shot conversion via pipes:\n\n```bash\n# JSON to binary\necho '{\"name\":\"Orc\",\"hp\":100}' | npx flatc-wasm --schema monster.fbs --to-binary > monster.bin\n\n# Binary to JSON\ncat monster.bin | npx flatc-wasm --schema monster.fbs --to-json\n\n# Generate code\nnpx flatc-wasm --schema monster.fbs --generate typescript > monster.ts\n```\n\n---\n\n## Examples\n\n### Complete Conversion Example\n\n```javascript\nimport createFlatcWasm from 'flatc-wasm';\n\nasync function example() {\n  const flatc = await createFlatcWasm();\n  const encoder = new TextEncoder();\n  const decoder = new TextDecoder();\n\n  // Helper to write string to WASM\n  function writeString(str) {\n    const bytes = encoder.encode(str);\n    const ptr = flatc._malloc(bytes.length);\n    flatc.HEAPU8.set(bytes, ptr);\n    return [ptr, bytes.length];\n  }\n\n  // Define schema with multiple types\n  const schema = `\n    namespace RPG;\n\n    enum Class : byte { Warrior, Mage, Rogue }\n\n    struct Vec3 {\n      x: float;\n      y: float;\n      z: float;\n    }\n\n    table Weapon {\n      name: string;\n      damage: int;\n    }\n\n    table Character {\n      name: string (required);\n      class: Class = Warrior;\n      level: int = 1;\n      position: Vec3;\n      weapons: [Weapon];\n    }\n\n    root_type Character;\n  `;\n\n  // Add schema\n  const [namePtr, nameLen] = writeString('rpg.fbs');\n  const [srcPtr, srcLen] = writeString(schema);\n  const schemaId = flatc._wasm_schema_add(namePtr, nameLen, srcPtr, srcLen);\n  flatc._free(namePtr);\n  flatc._free(srcPtr);\n\n  if (schemaId < 0) {\n    const errPtr = flatc._wasm_get_last_error();\n    throw new Error(flatc.UTF8ToString(errPtr));\n  }\n\n  console.log('Schema ID:', schemaId);\n\n  // Create character JSON\n  const characterJson = JSON.stringify({\n    name: \"Aragorn\",\n    class: \"Warrior\",  // Can use string name\n    level: 87,\n    position: { x: 100.5, y: 50.0, z: 25.3 },\n    weapons: [\n      { name: \"Anduril\", damage: 150 },\n      { name: \"Dagger\", damage: 30 }\n    ]\n  });\n\n  // Convert to binary\n  const [jsonPtr, jsonLen] = writeString(characterJson);\n  const outLenPtr = flatc._malloc(4);\n\n  const binPtr = flatc._wasm_json_to_binary(schemaId, jsonPtr, jsonLen, outLenPtr);\n  flatc._free(jsonPtr);\n\n  if (binPtr === 0) {\n    flatc._free(outLenPtr);\n    const errPtr = flatc._wasm_get_last_error();\n    throw new Error(flatc.UTF8ToString(errPtr));\n  }\n\n  const binLen = flatc.getValue(outLenPtr, 'i32');\n  const binary = flatc.HEAPU8.slice(binPtr, binPtr + binLen);\n  flatc._free(outLenPtr);\n\n  console.log('Binary size:', binary.length, 'bytes');\n  console.log('Compression ratio:', (characterJson.length / binary.length).toFixed(2) + 'x');\n\n  // Convert back to JSON\n  const bin2Ptr = flatc._malloc(binary.length);\n  flatc.HEAPU8.set(binary, bin2Ptr);\n  const outLen2Ptr = flatc._malloc(4);\n\n  const jsonOutPtr = flatc._wasm_binary_to_json(schemaId, bin2Ptr, binary.length, outLen2Ptr);\n  flatc._free(bin2Ptr);\n\n  if (jsonOutPtr === 0) {\n    flatc._free(outLen2Ptr);\n    const errPtr = flatc._wasm_get_last_error();\n    throw new Error(flatc.UTF8ToString(errPtr));\n  }\n\n  const jsonOutLen = flatc.getValue(outLen2Ptr, 'i32');\n  const jsonBytes = flatc.HEAPU8.slice(jsonOutPtr, jsonOutPtr + jsonOutLen);\n  const jsonOut = decoder.decode(jsonBytes);\n  flatc._free(outLen2Ptr);\n\n  console.log('Round-trip JSON:', jsonOut);\n\n  // Generate TypeScript code\n  const codeLenPtr = flatc._malloc(4);\n  const codePtr = flatc._wasm_generate_code(schemaId, 9, codeLenPtr);  // 9 = TypeScript\n\n  if (codePtr) {\n    const codeLen = flatc.getValue(codeLenPtr, 'i32');\n    const codeBytes = flatc.HEAPU8.slice(codePtr, codePtr + codeLen);\n    const code = decoder.decode(codeBytes);\n    console.log('Generated TypeScript:\\n', code.substring(0, 500) + '...');\n  }\n  flatc._free(codeLenPtr);\n\n  // Cleanup\n  flatc._wasm_schema_remove(schemaId);\n}\n\nexample().catch(console.error);\n```\n\n### Wrapper Class Example\n\n```javascript\nimport createFlatcWasm from 'flatc-wasm';\n\nclass FlatBuffersCompiler {\n  constructor(module) {\n    this.module = module;\n    this.encoder = new TextEncoder();\n    this.decoder = new TextDecoder();\n    this.schemas = new Map();\n  }\n\n  static async create() {\n    const module = await createFlatcWasm();\n    return new FlatBuffersCompiler(module);\n  }\n\n  getVersion() {\n    return this.module.getVersion();\n  }\n\n  addSchema(name, source) {\n    const [namePtr, nameLen] = this._writeString(name);\n    const [srcPtr, srcLen] = this._writeString(source);\n\n    try {\n      const id = this.module._wasm_schema_add(namePtr, nameLen, srcPtr, srcLen);\n      if (id < 0) throw new Error(this._getLastError());\n      this.schemas.set(name, id);\n      return id;\n    } finally {\n      this.module._free(namePtr);\n      this.module._free(srcPtr);\n    }\n  }\n\n  removeSchema(name) {\n    const id = this.schemas.get(name);\n    if (id === undefined) throw new Error(`Schema '${name}' not found`);\n    this.module._wasm_schema_remove(id);\n    this.schemas.delete(name);\n  }\n\n  jsonToBinary(schemaName, json) {\n    const id = this._getSchemaId(schemaName);\n    const [jsonPtr, jsonLen] = this._writeString(json);\n    const outLenPtr = this.module._malloc(4);\n\n    try {\n      const ptr = this.module._wasm_json_to_binary(id, jsonPtr, jsonLen, outLenPtr);\n      if (!ptr) throw new Error(this._getLastError());\n      const len = this.module.getValue(outLenPtr, 'i32');\n      return this.module.HEAPU8.slice(ptr, ptr + len);\n    } finally {\n      this.module._free(jsonPtr);\n      this.module._free(outLenPtr);\n    }\n  }\n\n  binaryToJson(schemaName, binary) {\n    const id = this._getSchemaId(schemaName);\n    const binPtr = this._writeBytes(binary);\n    const outLenPtr = this.module._malloc(4);\n\n    try {\n      const ptr = this.module._wasm_binary_to_json(id, binPtr, binary.length, outLenPtr);\n      if (!ptr) throw new Error(this._getLastError());\n      const len = this.module.getValue(outLenPtr, 'i32');\n      return this.decoder.decode(this.module.HEAPU8.slice(ptr, ptr + len));\n    } finally {\n      this.module._free(binPtr);\n      this.module._free(outLenPtr);\n    }\n  }\n\n  generateCode(schemaName, language) {\n    const id = this._getSchemaId(schemaName);\n    const langId = typeof language === 'number' ? language : this._getLanguageId(language);\n    const outLenPtr = this.module._malloc(4);\n\n    try {\n      const ptr = this.module._wasm_generate_code(id, langId, outLenPtr);\n      if (!ptr) throw new Error(this._getLastError());\n      const len = this.module.getValue(outLenPtr, 'i32');\n      return this.decoder.decode(this.module.HEAPU8.slice(ptr, ptr + len));\n    } finally {\n      this.module._free(outLenPtr);\n    }\n  }\n\n  _writeString(str) {\n    const bytes = this.encoder.encode(str);\n    const ptr = this.module._malloc(bytes.length);\n    this.module.HEAPU8.set(bytes, ptr);\n    return [ptr, bytes.length];\n  }\n\n  _writeBytes(data) {\n    const ptr = this.module._malloc(data.length);\n    this.module.HEAPU8.set(data, ptr);\n    return ptr;\n  }\n\n  _getSchemaId(name) {\n    const id = this.schemas.get(name);\n    if (id === undefined) throw new Error(`Schema '${name}' not found`);\n    return id;\n  }\n\n  _getLastError() {\n    const ptr = this.module._wasm_get_last_error();\n    return ptr ? this.module.UTF8ToString(ptr) : 'Unknown error';\n  }\n\n  _getLanguageId(name) {\n    const map = {\n      cpp: 0, 'c++': 0, csharp: 1, 'c#': 1, dart: 2, go: 3,\n      java: 4, kotlin: 5, python: 6, rust: 7, swift: 8,\n      typescript: 9, ts: 9, php: 10, jsonschema: 11, fbs: 12\n    };\n    const id = map[name.toLowerCase()];\n    if (id === undefined) throw new Error(`Unknown language: ${name}`);\n    return id;\n  }\n}\n\n// Usage\nconst compiler = await FlatBuffersCompiler.create();\ncompiler.addSchema('game.fbs', 'table Player { name: string; } root_type Player;');\n\nconst binary = compiler.jsonToBinary('game.fbs', '{\"name\": \"Hero\"}');\nconst json = compiler.binaryToJson('game.fbs', binary);\nconst tsCode = compiler.generateCode('game.fbs', 'typescript');\n```\n\n---\n\n## Building from Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/google/flatbuffers.git\ncd flatbuffers\n\n# Configure CMake (fetches Emscripten automatically)\ncmake -B build/wasm -S . -DFLATBUFFERS_BUILD_WASM=ON\n\n# Build the npm package (single file with inlined WASM)\ncmake --build build/wasm --target flatc_wasm_npm\n\n# Output is in wasm/dist/\nls wasm/dist/\n# flatc-wasm.cjs  flatc-wasm.d.ts  flatc-wasm.js\n\n# Run tests\ncd wasm && npm test\n```\n\n### CMake Targets\n\n#### Demo/Webserver Targets (no Emscripten required)\n\nThese targets run the interactive demo webserver using pre-built WASM modules:\n\n```bash\n# Configure without WASM build\ncmake -B build -S .\n\n# Start the development webserver (http://localhost:3000)\ncmake --build build --target wasm_demo\n\n# Build the demo for production deployment\ncmake --build build --target wasm_demo_build\n```\n\n| Target            | Description                                            |\n|-------------------|--------------------------------------------------------|\n| `wasm_demo`       | Start development webserver at `http://localhost:3000` |\n| `wasm_demo_build` | Build demo for production (outputs to `wasm/docs/dist/`) |\n\n#### WASM Build Targets (requires Emscripten)\n\nThese targets build the WASM modules from source:\n\n```bash\n# Configure with WASM build enabled\ncmake -B build -S . -DFLATBUFFERS_BUILD_WASM=ON\n\n# Build all WASM modules\ncmake --build build --target wasm_build\n\n# Build WASM and start webserver in one command\ncmake --build build --target wasm_build_and_serve\n```\n\n| Target                 | Description                                             |\n|------------------------|---------------------------------------------------------|\n| `wasm_build`           | Build all WASM modules (flatc_wasm + flatc_wasm_wasi)   |\n| `wasm_build_and_serve` | Build WASM modules then start development webserver     |\n| `flatc_wasm`           | Build main WASM module (separate .js and .wasm files)   |\n| `flatc_wasm_inline`    | Build single .js file with inlined WASM                 |\n| `flatc_wasm_npm`       | Build NPM package (uses inline version)                 |\n| `flatc_wasm_wasi`      | Build WASI standalone encryption module                 |\n\n#### Test Targets\n\n| Target                   | Description                      |\n|--------------------------|----------------------------------|\n| `flatc_wasm_test`        | Run basic WASM tests             |\n| `flatc_wasm_test_all`    | Run comprehensive test suite     |\n| `flatc_wasm_test_parity` | Run WASM vs native parity tests  |\n| `flatc_wasm_benchmark`   | Run performance benchmarks       |\n\n#### Browser Example Targets\n\n| Target                 | Description                          |\n|------------------------|--------------------------------------|\n| `browser_wallet_serve` | Start crypto wallet demo (port 3000) |\n| `browser_wallet_build` | Build wallet demo for production     |\n| `browser_examples`     | Start all browser demos              |\n\n---\n\n## TypeScript Support\n\nFull TypeScript definitions are included:\n\n```typescript\nimport createFlatcWasm from 'flatc-wasm';\nimport type { FlatcWasm, SchemaFormat, Language, DataFormat } from 'flatc-wasm';\n\nconst flatc: FlatcWasm = await createFlatcWasm();\n\n// All APIs are fully typed\nconst version: string = flatc.getVersion();\nconst handle = flatc.createSchema('test.fbs', schema);\nconst isValid: boolean = handle.valid();\n```\n\n---\n\n## Aligned Binary Format\n\nThe aligned binary format provides zero-overhead, fixed-size structs from FlatBuffers schemas, optimized for WASM/native interop and shared memory scenarios.\n\n### Why Use Aligned Format?\n\n| Standard FlatBuffers | Aligned Format |\n|---------------------|----------------|\n| Variable-size with vtables | Fixed-size structs |\n| Requires deserialization | Zero-copy TypedArray views |\n| Schema evolution support | No schema evolution |\n| Strings and vectors | Fixed-size arrays and strings |\n\nUse aligned format when you need:\n- Direct TypedArray views into WASM linear memory\n- Zero deserialization overhead\n- Predictable memory layout for arrays of structs\n- C++/WASM and JavaScript/TypeScript interop\n\n### Basic Usage\n\n```javascript\nimport { generateAlignedCode, parseSchema } from 'flatc-wasm/aligned-codegen';\n\nconst schema = `\nnamespace MyGame;\n\nstruct Vec3 {\n  x:float;\n  y:float;\n  z:float;\n}\n\ntable Entity {\n  position:Vec3;\n  health:int;\n  mana:int;\n}\n`;\n\n// Generate code for all languages\nconst result = generateAlignedCode(schema);\nconsole.log(result.cpp);  // C++ header\nconsole.log(result.ts);   // TypeScript module\nconsole.log(result.js);   // JavaScript module\n```\n\n### Fixed-Length Strings\n\nBy default, strings are variable-length and not supported. Enable fixed-length strings by setting `defaultStringLength`:\n\n```javascript\nconst schema = `\ntable Player {\n  name:string;\n  guild:string;\n  health:int;\n}\n`;\n\n// Strings become fixed-size char arrays (255 chars + null = 256 bytes)\nconst result = generateAlignedCode(schema, { defaultStringLength: 255 });\n```\n\n### Supported Types\n\n| Type | Size | Notes |\n|------|------|-------|\n| `bool` | 1 byte | |\n| `byte`, `ubyte`, `int8`, `uint8` | 1 byte | |\n| `short`, `ushort`, `int16`, `uint16` | 2 bytes | |\n| `int`, `uint`, `int32`, `uint32`, `float` | 4 bytes | |\n| `long`, `ulong`, `int64`, `uint64`, `double` | 8 bytes | |\n| `[type:N]` | N × size | Fixed-size arrays |\n| `[ubyte:0x100]` | 256 bytes | Hex array sizes |\n| `string` | configurable | Requires `defaultStringLength` |\n\n### Generated Code Example\n\n**C++ Header:**\n```cpp\n#pragma once\n#include <cstdint>\n#include <cstring>\n\nnamespace MyGame {\n\nstruct Vec3 {\n  float x;\n  float y;\n  float z;\n};\nstatic_assert(sizeof(Vec3) == 12, \"Vec3 size mismatch\");\n\nstruct Entity {\n  Vec3 position;\n  int32_t health;\n  int32_t mana;\n};\nstatic_assert(sizeof(Entity) == 20, \"Entity size mismatch\");\n\n} // namespace MyGame\n```\n\n**TypeScript:**\n```typescript\nexport const ENTITY_SIZE = 20;\nexport const ENTITY_ALIGN = 4;\n\nexport class EntityView {\n  private _view: DataView;\n  private _offset: number;\n\n  constructor(view: DataView, offset: number = 0) {\n    this._view = view;\n    this._offset = offset;\n  }\n\n  get position(): Vec3View {\n    return new Vec3View(this._view, this._offset + 0);\n  }\n\n  get health(): number {\n    return this._view.getInt32(this._offset + 12, true);\n  }\n  set health(value: number) {\n    this._view.setInt32(this._offset + 12, value, true);\n  }\n\n  get mana(): number {\n    return this._view.getInt32(this._offset + 16, true);\n  }\n  set mana(value: number) {\n    this._view.setInt32(this._offset + 16, value, true);\n  }\n}\n```\n\n### WASM Interop Example\n\n```javascript\n// JavaScript side\nimport { EntityView, ENTITY_SIZE } from './aligned_types.mjs';\n\n// Get WASM memory buffer\nconst memory = wasmInstance.exports.memory;\nconst entityPtr = wasmInstance.exports.get_entity_array();\nconst count = wasmInstance.exports.get_entity_count();\n\n// Create views directly into WASM memory\nconst view = new DataView(memory.buffer, entityPtr);\nfor (let i = 0; i < count; i++) {\n  const entity = new EntityView(view, i * ENTITY_SIZE);\n  console.log(`Entity ${i}: health=${entity.health}, mana=${entity.mana}`);\n}\n```\n\n```cpp\n// C++ WASM side\n#include \"aligned_types.h\"\n\nstatic Entity entities[1000];\n\nextern \"C\" {\n  Entity* get_entity_array() { return entities; }\n  int get_entity_count() { return 1000; }\n\n  void update_entities(float dt) {\n    for (auto& e : entities) {\n      e.position.x += e.velocity.x * dt;\n      e.health = std::max(0, e.health - 1);\n    }\n  }\n}\n```\n\n### Sharing Arrays Between WASM Modules\n\nSince aligned binary structs have no embedded length metadata (unlike FlatBuffers vectors), you need to communicate array bounds **out-of-band**. This section covers patterns for sharing arrays of aligned structs between WASM modules or across the JS/WASM boundary.\n\n#### Pattern 1: Pointer + Count (Recommended)\n\nThe simplest pattern - pass the pointer and count as separate values:\n\n```cpp\n// C++ WASM module\nstatic Cartesian3 positions[10000];\nstatic uint32_t position_count = 0;\n\nextern \"C\" {\n  Cartesian3* get_positions() { return positions; }\n  uint32_t get_position_count() { return position_count; }\n}\n```\n\n```typescript\n// TypeScript consumer\nconst ptr = wasm.exports.get_positions();\nconst count = wasm.exports.get_position_count();\nconst positions = Cartesian3ArrayView.fromMemory(wasm.exports.memory, ptr, count);\n\nfor (const pos of positions) {\n  console.log(`(${pos.x}, ${pos.y}, ${pos.z})`);\n}\n```\n\n#### Pattern 2: Index-Based Lookup (Fixed Offset Known)\n\nWhen struct size is known at compile time, store **indices** separately and compute offsets on access. This is ideal for sparse access, cross-references between arrays, or when indices are embedded in other structures.\n\n```fbs\n// Schema with cross-references via indices\nnamespace Space;\n\nstruct Cartesian3 {\n  x: double;\n  y: double;\n  z: double;\n}\n\n// Satellite references positions by index, not pointer\ntable Satellite {\n  norad_id: uint32;\n  name: string;\n  position_index: uint32;    // Index into positions array\n  velocity_index: uint32;    // Index into velocities array\n}\n\n// Observation references multiple satellites by index\ntable Observation {\n  timestamp: double;\n  satellite_indices: [uint32:64];  // Up to 64 satellite indices\n  satellite_count: uint32;\n}\n```\n\n```cpp\n// C++ - Dense arrays with index-based access\n#include \"space_aligned.h\"\n\n// Dense arrays in linear memory\nstatic Cartesian3 positions[10000];\nstatic Cartesian3 velocities[10000];\nstatic Satellite satellites[1000];\n\nextern \"C\" {\n  // Export base pointers\n  Cartesian3* get_positions_base() { return positions; }\n  Cartesian3* get_velocities_base() { return velocities; }\n  Satellite* get_satellites_base() { return satellites; }\n\n  // Get position for a satellite (by satellite index)\n  Cartesian3* get_satellite_position(uint32_t sat_idx) {\n    uint32_t pos_idx = satellites[sat_idx].position_index;\n    return &positions[pos_idx];\n  }\n}\n```\n\n```typescript\n// TypeScript - Index-based random access\nimport { Cartesian3View, SatelliteView, CARTESIAN3_SIZE, SATELLITE_SIZE } from './space_aligned.mjs';\n\nclass SpaceDataManager {\n  private memory: WebAssembly.Memory;\n  private positionsBase: number;\n  private velocitiesBase: number;\n  private satellitesBase: number;\n\n  constructor(wasm: WasmExports) {\n    this.memory = wasm.memory;\n    this.positionsBase = wasm.get_positions_base();\n    this.velocitiesBase = wasm.get_velocities_base();\n    this.satellitesBase = wasm.get_satellites_base();\n  }\n\n  // Direct index lookup - O(1) access\n  getPositionByIndex(index: number): Cartesian3View {\n    const offset = this.positionsBase + index * CARTESIAN3_SIZE;\n    return Cartesian3View.fromMemory(this.memory, offset);\n  }\n\n  getVelocityByIndex(index: number): Cartesian3View {\n    const offset = this.velocitiesBase + index * CARTESIAN3_SIZE;\n    return Cartesian3View.fromMemory(this.memory, offset);\n  }\n\n  getSatelliteByIndex(index: number): SatelliteView {\n    const offset = this.satellitesBase + index * SATELLITE_SIZE;\n    return SatelliteView.fromMemory(this.memory, offset);\n  }\n\n  // Follow index reference from satellite to its position\n  getSatellitePosition(satIndex: number): Cartesian3View {\n    const sat = this.getSatelliteByIndex(satIndex);\n    const posIndex = sat.position_index;\n    return this.getPositionByIndex(posIndex);\n  }\n\n  // Batch lookup - get positions for multiple satellites\n  getPositionsForSatellites(satIndices: number[]): Cartesian3View[] {\n    return satIndices.map(satIdx => {\n      const sat = this.getSatelliteByIndex(satIdx);\n      return this.getPositionByIndex(sat.position_index);\n    });\n  }\n}\n\n// Usage\nconst manager = new SpaceDataManager(wasmExports);\n\n// Direct access by known index\nconst pos = manager.getPositionByIndex(42);\nconsole.log(`Position 42: (${pos.x}, ${pos.y}, ${pos.z})`);\n\n// Follow cross-reference\nconst satPos = manager.getSatellitePosition(0);\nconsole.log(`Satellite 0 position: (${satPos.x}, ${satPos.y}, ${satPos.z})`);\n```\n\n#### Pattern 3: Indices Embedded in Header Struct\n\nStore indices in a metadata structure that references into data arrays:\n\n```fbs\n// Manifest with indices into data arrays\ntable EphemerisManifest {\n  // Metadata\n  epoch_start: double;\n  epoch_end: double;\n  step_seconds: double;\n\n  // Indices into the points array (one range per satellite)\n  satellite_start_indices: [uint32:100];  // Start index for each satellite\n  satellite_point_counts: [uint32:100];   // Point count for each satellite\n  satellite_count: uint32;\n}\n\nstruct EphemerisPoint {\n  jd: double;\n  x: double;\n  y: double;\n  z: double;\n  vx: double;\n  vy: double;\n  vz: double;\n}\n```\n\n```typescript\n// TypeScript - Navigate using manifest indices\nimport {\n  EphemerisManifestView,\n  EphemerisPointView,\n  EphemerisPointArrayView,\n  EPHEMERISPOINT_SIZE\n} from './ephemeris_aligned.mjs';\n\nclass EphemerisReader {\n  private manifest: EphemerisManifestView;\n  private pointsBase: number;\n  private memory: WebAssembly.Memory;\n\n  constructor(memory: WebAssembly.Memory, manifestPtr: number, pointsPtr: number) {\n    this.memory = memory;\n    this.manifest = EphemerisManifestView.fromMemory(memory, manifestPtr);\n    this.pointsBase = pointsPtr;\n  }\n\n  // Get all points for a specific satellite\n  getSatellitePoints(satIndex: number): EphemerisPointArrayView {\n    // Read start index and count from manifest\n    const startIdx = this.manifest.satellite_start_indices[satIndex];\n    const count = this.manifest.satellite_point_counts[satIndex];\n\n    // Calculate byte offset: base + startIdx * structSize\n    const offset = this.pointsBase + startIdx * EPHEMERISPOINT_SIZE;\n\n    return new EphemerisPointArrayView(this.memory.buffer, offset, count);\n  }\n\n  // Get specific point by satellite and time index\n  getPoint(satIndex: number, timeIndex: number): EphemerisPointView {\n    const startIdx = this.manifest.satellite_start_indices[satIndex];\n    const globalIdx = startIdx + timeIndex;\n    const offset = this.pointsBase + globalIdx * EPHEMERISPOINT_SIZE;\n    return EphemerisPointView.fromMemory(this.memory, offset);\n  }\n\n  // Iterate all satellites\n  *iterateSatellites(): Generator<{index: number, points: EphemerisPointArrayView}> {\n    const count = this.manifest.satellite_count;\n    for (let i = 0; i < count; i++) {\n      yield { index: i, points: this.getSatellitePoints(i) };\n    }\n  }\n}\n\n// Usage\nconst reader = new EphemerisReader(memory, manifestPtr, pointsPtr);\n\n// Get ISS ephemeris (satellite 0)\nconst issPoints = reader.getSatellitePoints(0);\nconsole.log(`ISS has ${issPoints.length} ephemeris points`);\n\n// Get specific point\nconst point = reader.getPoint(0, 100);  // Satellite 0, time index 100\nconsole.log(`Position at t=100: (${point.x}, ${point.y}, ${point.z})`);\n```\n\n#### Pattern 4: Pre-computed Offset Table\n\nFor variable-sized records or complex layouts, pre-compute byte offsets:\n\n```fbs\n// Offset table for complex data\ntable DataDirectory {\n  record_count: uint32;\n  byte_offsets: [uint32:10000];  // Byte offset of each record\n  byte_sizes: [uint32:10000];    // Size of each record (if variable)\n}\n```\n\n```typescript\n// TypeScript - Use pre-computed offsets\nclass OffsetTableReader<T> {\n  constructor(\n    private memory: WebAssembly.Memory,\n    private directory: DataDirectoryView,\n    private dataBase: number,\n    private viewFactory: (buffer: ArrayBuffer, offset: number) => T\n  ) {}\n\n  get(index: number): T {\n    const byteOffset = this.directory.byte_offsets[index];\n    return this.viewFactory(this.memory.buffer, this.dataBase + byteOffset);\n  }\n\n  getSize(index: number): number {\n    return this.directory.byte_sizes[index];\n  }\n\n  get length(): number {\n    return this.directory.record_count;\n  }\n}\n```\n\n### Real-World Example: Satellite Ephemeris\n\nComplete example for sharing orbital data between WASM propagation and JS visualization:\n\n```fbs\n// satellite_ephemeris.fbs\nnamespace Astrodynamics;\n\nstruct StateVector {\n  x: double;   // km (ECI)\n  y: double;\n  z: double;\n  vx: double;  // km/s\n  vy: double;\n  vz: double;\n}\n\nstruct EphemerisPoint {\n  julian_date: double;\n  state: StateVector;\n}\n\n// Manifest stores indices, data is in separate dense array\ntable EphemerisManifest {\n  satellite_ids: [uint32:100];\n  start_indices: [uint32:100];    // Index into points array\n  point_counts: [uint32:100];     // How many points per satellite\n  total_satellites: uint32;\n  total_points: uint32;\n}\n```\n\n```cpp\n// propagator.cpp\n#include \"ephemeris_aligned.h\"\n\nstatic EphemerisManifest manifest;\nstatic EphemerisPoint points[1000000];  // 1M points max\n\nextern \"C\" {\n  EphemerisManifest* get_manifest() { return &manifest; }\n  EphemerisPoint* get_points_base() { return points; }\n\n  // Add satellite ephemeris\n  void add_satellite_ephemeris(uint32_t norad_id, EphemerisPoint* pts, uint32_t count) {\n    uint32_t sat_idx = manifest.total_satellites++;\n    uint32_t start_idx = manifest.total_points;\n\n    manifest.satellite_ids[sat_idx] = norad_id;\n    manifest.start_indices[sat_idx] = start_idx;\n    manifest.point_counts[sat_idx] = count;\n\n    // Copy points to dense array\n    memcpy(&points[start_idx], pts, count * sizeof(EphemerisPoint));\n    manifest.total_points += count;\n  }\n}\n```\n\n```typescript\n// visualizer.ts\nimport {\n  EphemerisManifestView,\n  EphemerisPointView,\n  StateVectorView,\n  EPHEMERISPOINT_SIZE\n} from './ephemeris_aligned.mjs';\n\nclass EphemerisVisualizer {\n  private manifest: EphemerisManifestView;\n  private pointsBase: number;\n  private memory: WebAssembly.Memory;\n\n  constructor(wasm: WasmExports) {\n    this.memory = wasm.memory;\n    this.manifest = EphemerisManifestView.fromMemory(\n      this.memory,\n      wasm.get_manifest()\n    );\n    this.pointsBase = wasm.get_points_base();\n  }\n\n  // Get position at specific time for satellite\n  getPositionAtIndex(satIndex: number, timeIndex: number): StateVectorView {\n    const startIdx = this.manifest.start_indices[satIndex];\n    const pointOffset = this.pointsBase + (startIdx + timeIndex) * EPHEMERISPOINT_SIZE;\n\n    // StateVector is at offset 8 within EphemerisPoint (after julian_date)\n    const pt = EphemerisPointView.fromMemory(this.memory, pointOffset);\n    return pt.state;  // Returns view into the state field\n  }\n\n  // Render all satellites at current time\n  render(ctx: CanvasRenderingContext2D, timeIndex: number) {\n    const satCount = this.manifest.total_satellites;\n\n    for (let i = 0; i < satCount; i++) {\n      const pointCount = this.manifest.point_counts[i];\n      if (timeIndex >= pointCount) continue;\n\n      const state = this.getPositionAtIndex(i, timeIndex);\n\n      // Simple orthographic projection\n      const screenX = ctx.canvas.width/2 + state.x / 100;\n      const screenY = ctx.canvas.height/2 - state.y / 100;\n\n      ctx.fillStyle = '#0f0';\n      ctx.fillRect(screenX - 2, screenY - 2, 4, 4);\n    }\n  }\n}\n```\n\n#### Memory Layout Summary\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│ EphemerisManifest (at manifest_ptr)                         │\n│ ├─ satellite_ids[100]    - NORAD catalog numbers            │\n│ ├─ start_indices[100]    - Index into points array          │\n│ ├─ point_counts[100]     - Points per satellite             │\n│ ├─ total_satellites      - Active satellite count           │\n│ └─ total_points          - Total points in array            │\n└─────────────────────────────────────────────────────────────┘\n\n┌─────────────────────────────────────────────────────────────┐\n│ EphemerisPoint[] (at points_base)                           │\n│                                                             │\n│ Satellite 0: indices [0, point_counts[0])                   │\n│ ├─ points[0]: {jd, x, y, z, vx, vy, vz}                     │\n│ ├─ points[1]: ...                                           │\n│ └─ points[point_counts[0]-1]                                │\n│                                                             │\n│ Satellite 1: indices [start_indices[1], ...)                │\n│ ├─ points[start_indices[1]]: ...                            │\n│ └─ ...                                                      │\n│                                                             │\n│ Access formula:                                             │\n│   offset = points_base + (start_indices[sat] + time) * 56   │\n│   where 56 = EPHEMERISPOINT_SIZE                            │\n└─────────────────────────────────────────────────────────────┘\n```\n\n---\n\n## Encryption\n\nflatc-wasm supports per-field AES-256-CTR encryption for FlatBuffer data. Fields marked with the `(encrypted)` attribute are transparently encrypted and decrypted, with key derivation via HKDF so each field gets a unique key/IV pair.\n\n### Generated Code Encryption Support\n\nAll 12 code generators now emit encryption support automatically when your schema contains `(encrypted)` fields:\n\n| Language | Library/Implementation | Notes |\n|----------|----------------------|-------|\n| C++ | `flatbuffers/encryption.h` | Inline helpers in `encryption` namespace |\n| TypeScript | Pure TypeScript AES-256-CTR | No external dependencies |\n| Python | `cryptography` library | Uses Fernet-compatible primitives |\n| Go | `crypto/aes` + `crypto/cipher` | Standard library only |\n| Rust | Pure Rust AES-256-CTR | No external crates required |\n| Java | `javax.crypto.Cipher` | Standard JCE APIs |\n| C# | `System.Security.Cryptography` | .NET built-in crypto |\n| Swift | Pure Swift AES-256-CTR | No Foundation dependencies |\n| Kotlin | `javax.crypto.Cipher` | Android/JVM compatible |\n| PHP | `openssl_encrypt/decrypt` | OpenSSL extension |\n| Dart | `pointycastle` library | Pure Dart implementation |\n| Lobster | Placeholder | Language lacks crypto library |\n\nThe generated code automatically:\n- Adds an `encryptionCtx` field to tables with encrypted fields\n- Generates `withEncryption()` factory constructors\n- Transparently decrypts fields when accessed with a valid context\n- Returns raw (encrypted) bytes when accessed without context\n\n### Per-Field Encryption\n\nMark fields in your schema with the `(encrypted)` attribute:\n\n```fbs\ntable UserRecord {\n  id: uint64;\n  name: string;\n  ssn: string (encrypted);\n  credit_card: string (encrypted);\n  email: string;\n}\nroot_type UserRecord;\n```\n\nWhen encryption is active, only the `ssn` and `credit_card` fields are encrypted. Other fields remain in plaintext, allowing indexing and queries on non-sensitive data.\n\n**How it works:**\n- A shared secret is derived via ECDH (X25519, secp256k1, P-256, or P-384)\n- HKDF derives a unique AES-256 key per session using the context string\n- Each field gets a unique nonce via 96-bit addition: `nonceStart + (recordIndex * 65536 + fieldId)`\n- Each field is encrypted independently with AES-256-CTR\n- An `EncryptionHeader` FlatBuffer stores the ephemeral public key, algorithm metadata, and starting nonce\n\n### Encryption Sessions & Nonce Management\n\nflatc-wasm uses a **nonce incrementor** system to ensure cryptographic security when encrypting multiple fields or records. This prevents nonce reuse, which would compromise AES-CTR mode security.\n\n#### Starting an Encrypted Session\n\nTo decrypt data, the recipient must first receive the `EncryptionHeader`. This header contains:\n\n1. **Ephemeral public key** - For ECDH key derivation\n2. **Starting nonce (`nonceStart`)** - 12-byte random value generated via CSPRNG\n3. **Algorithm metadata** - Key exchange, symmetric cipher, and KDF identifiers\n4. **Optional context** - Domain separation string for HKDF\n\n```javascript\nimport { EncryptionContext, generateNonceStart } from 'flatc-wasm';\n\n// === Sender establishes session ===\nconst ctx = EncryptionContext.forEncryption(recipientPublicKey, {\n  algorithm: 'x25519',\n  context: 'my-app-v1',\n  // nonceStart auto-generated if not provided\n});\n\n// Get the header to send to recipient FIRST\nconst header = ctx.getHeader();\nconst headerJSON = ctx.getHeaderJSON();\n\n// Send header before any encrypted data\nawait sendToRecipient(header);\n\n// Now encrypt records\nfor (let i = 0; i < records.length; i++) {\n  ctx.setRecordIndex(i);\n  const encrypted = encryptRecord(records[i], ctx);\n  await sendToRecipient(encrypted);\n}\n```\n\n#### Nonce Derivation Algorithm\n\nEach field in each record gets a unique 96-bit nonce derived via big-endian addition:\n\n```\nderived_nonce = nonceStart + (recordIndex × 65536 + fieldId)\n```\n\nThis ensures:\n\n- **No nonce reuse** - Every (recordIndex, fieldId) pair produces a unique nonce\n- **Deterministic derivation** - Same inputs always produce the same nonce\n- **Efficient computation** - Simple 96-bit addition with carry\n\n```javascript\nimport { deriveNonce, generateNonceStart, NONCE_SIZE } from 'flatc-wasm';\n\n// Generate random starting nonce (12 bytes)\nconst nonceStart = generateNonceStart();\n\n// Derive nonce for record 0, field 0\nconst nonce0 = deriveNonce(nonceStart, 0);\n\n// Derive nonce for record 5, field 3\n// Combined index = 5 * 65536 + 3 = 327683\nconst nonce5_3 = deriveNonce(nonceStart, 5 * 65536 + 3);\n\n// Using EncryptionContext (recommended)\nconst ctx = new EncryptionContext(key, nonceStart);\nconst fieldNonce = ctx.deriveFieldNonce(fieldId, recordIndex);\n```\n\n#### Offline & Out-of-Order Decryption\n\nBecause nonce derivation is deterministic, encrypted records can be decrypted:\n\n1. **Offline** - No connection to the sender required after receiving the header\n2. **Out of order** - Records can arrive or be processed in any sequence\n3. **Partially** - Only specific records/fields need to be decrypted\n4. **In parallel** - Multiple workers can decrypt different records simultaneously\n\n```javascript\n// === Recipient receives header first ===\nconst ctx = EncryptionContext.forDecryption(\n  myPrivateKey,\n  receivedHeader,\n  'my-app-v1'\n);\n\n// Records can arrive out of order - just set the correct index\nctx.setRecordIndex(42);  // Decrypt record 42 first\nconst record42 = decryptRecord(encryptedData42, ctx);\n\nctx.setRecordIndex(7);   // Then decrypt record 7\nconst record7 = decryptRecord(encryptedData7, ctx);\n\n// Or decrypt in parallel with separate contexts\nconst workers = records.map((data, index) => {\n  return decryptInWorker(data, index, receivedHeader, myPrivateKey);\n});\nawait Promise.all(workers);\n```\n\n#### Unknown Record Index Recovery\n\nIf the record index is lost (e.g., packet loss without sequence numbers), the recipient can still decrypt by trying sequential indices:\n\n```javascript\nasync function recoverAndDecrypt(encryptedData, ctx,","readmeFilename":"README.md"}