FlatBuffers: Memory Efficient Serialization Library
Go to file
José Luis Millán b17d59b18c
[TS]: builder, Fix requiredField(). Verity that the field is present in the vtable (#7739) (#7752)
* [TS]: Fix vtable creation for consecutive required fileds (#7739)

* handle feedback

* comment the schema

* comment change in builder.ts

* [TS]: builder, Fix requiredField()

Verifty that the field is present in the vtable.

* restore monsterdata binary file

Co-authored-by: Derek Bailey <derekbailey@google.com>
2023-01-10 10:43:17 -08:00
.bazelci [swift] Add bazel configuration for Swift (#7195) 2022-03-29 21:30:33 -07:00
.github Add link to building guide (#7733) 2022-12-22 14:06:57 -08:00
CMake Use full project version as SOVERSION for the shared library (#7777) 2023-01-10 09:31:49 -08:00
android Expand wildcard imports in the generated Kotlin files. (#7757) 2023-01-05 14:34:44 -08:00
bazel [grpc] Support latest version of grpc PoC (#6338) 2021-03-25 12:12:35 -07:00
benchmarks Started to migrate to target_compile_options (#7222) 2022-04-06 13:25:43 -07:00
conan remove travis config (#7522) 2022-09-10 12:36:51 -07:00
dart FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
docs [C++] Add Command-Line Flag to Suppress MIN and MAX Enums (#7705) 2023-01-07 10:33:11 -08:00
examples/go-echo Use FinshedBytes() in go-echo example instead of manually encoding offset (#7660) 2022-11-29 02:29:48 +00:00
go Fix go.mod name (#7756) 2023-01-04 09:27:44 -08:00
grpc Removes Dead code & regenerate code (#7744) 2023-01-06 16:40:40 -08:00
include/flatbuffers Defined CodeGenerator Interface and implement C++ (#7771) 2023-01-08 15:01:33 -08:00
java FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
js [JS/TS] Rewrite flexbuffers JS to TS (#6148) 2020-10-19 13:11:35 -07:00
kotlin Replace `bash JavaTest.sh` with `mvn test` (#7500) 2022-09-11 17:46:46 -07:00
lobster [Lobster] file_identifier support 2022-03-08 15:39:12 -08:00
lua [Lua] manipulate byte array as string (#6624) 2021-05-07 22:57:13 -07:00
mjs [JS/TS] Modernize TypeScript / JavaScript flatbuffers support (#6095) 2020-09-17 12:21:14 -07:00
net/FlatBuffers FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
nim [Nim] Bfbs Nim Generator (#7534) 2022-10-21 14:30:04 -04:00
php Fix PHP byte validation and reenable builds (#7670) 2022-11-29 08:12:28 -08:00
python Fix Python host-endianness dependencies (#7773) 2023-01-10 10:20:08 -08:00
reflection Add support for metadata attributes for enum values (#7567) (#7568) 2022-10-06 20:18:00 -04:00
rust FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
samples [Kotlin] Control the generation of reflection with --reflect-names (#7775) 2023-01-10 10:03:39 -08:00
scripts Fix [C#] Object API - Invalid Property Name used in UnPackTo for unio… (#7751) 2023-01-07 12:37:22 -08:00
snap use improved versioning (#6691) 2021-06-11 15:27:59 -07:00
src [Kotlin] Control the generation of reflection with --reflect-names (#7775) 2023-01-10 10:03:39 -08:00
swift Removes Dead code & regenerate code (#7744) 2023-01-06 16:40:40 -08:00
tests [TS]: builder, Fix requiredField(). Verity that the field is present in the vtable (#7739) (#7752) 2023-01-10 10:43:17 -08:00
ts [TS]: builder, Fix requiredField(). Verity that the field is present in the vtable (#7739) (#7752) 2023-01-10 10:43:17 -08:00
.clang-format Made all C++ files clang-formatted. 2017-12-21 11:45:02 -08:00
.clang-tidy Add clang-tidy, fix some bugpron problems. (#7708) 2022-12-14 21:58:55 -08:00
.editorconfig Unify line ending rules in '.editorconfig' and '.gitattributes' (#5231) 2019-03-18 12:47:07 -07:00
.eslintrc.js [JS/TS] Modernize TypeScript / JavaScript flatbuffers support (#6095) 2020-09-17 12:21:14 -07:00
.gitattributes Unify line ending rules in '.editorconfig' and '.gitattributes' (#5231) 2019-03-18 12:47:07 -07:00
.gitignore Add _deps/ to gitignore 2022-11-13 12:00:07 -08:00
BUILD.bazel Defined CodeGenerator Interface and implement C++ (#7771) 2023-01-08 15:01:33 -08:00
CHANGELOG.md FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
CMakeLists.txt Use full project version as SOVERSION for the shared library (#7777) 2023-01-10 09:31:49 -08:00
CONTRIBUTING.md Fixed link to Google C++ Style Guide. 2017-02-08 16:37:25 -08:00
FlatBuffers.podspec FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
Formatters.md Ran clang-format-all.sh. Removed default --style=file parameter (#6639) 2021-05-15 12:54:08 -07:00
LICENSE.txt Fixed Apache license not using canonical version. 2019-11-04 17:15:56 -08:00
Package.swift Moves swift package to root of repository so it can be used directly … (#7548) 2022-09-27 14:32:05 -07:00
Package@swift-5.5.swift Removes Dead code & regenerate code (#7744) 2023-01-06 16:40:40 -08:00
SECURITY.md Create Security.md 2021-05-19 11:55:50 -07:00
WORKSPACE Upgrade rules_go for Bazel 7.0 support (#7691) 2022-12-05 16:56:02 -08:00
build_defs.bzl Move flatbuffer_ts_library to typescript.bzl (#7183) 2022-03-22 21:41:39 -07:00
composer.json (PHP) add experimental support for PHP language. 2015-11-18 00:26:39 +09:00
conanfile.py Update Conan version Automatically (#5027) 2018-11-12 08:49:42 -08:00
package.json FlatBuffers Version 23.1.4 (#7758) 2023-01-04 15:22:46 -08:00
readme.md Update Readme.md for versioning 2023-01-05 14:24:56 -08:00
rollup.config.js [TS/JS] Add rollup and config to generate iife flatbuffers bundle (#7449) 2022-08-29 16:37:43 -07:00
swift.swiftformat Removes Dead code & regenerate code (#7744) 2023-01-06 16:40:40 -08:00
tsconfig.json [JS/TS] Rewrite flexbuffers JS to TS (#6148) 2020-10-19 13:11:35 -07:00
tsconfig.mjs.json [JS/TS] Rewrite flexbuffers JS to TS (#6148) 2020-10-19 13:11:35 -07:00
typescript.bzl [TS/Bazel] Minor improvements to typescript.bzl (#7300) 2022-08-05 22:04:05 -07:00
yarn.lock [TS/JS] Move TS tests to dedicated folder and deps upgrade (#7508) 2022-09-12 20:03:23 -07:00

readme.md

logo FlatBuffers

Build status BuildKite status Fuzzing Status OpenSSF Scorecard Join the chat at https://gitter.im/google/flatbuffers Discord Chat Twitter Follow Twitter Follow

FlatBuffers is a cross platform serialization library architected for maximum memory efficiency. It allows you to directly access serialized data without parsing/unpacking it first, while still having great forwards/backwards compatibility.

Go to our landing page to browse our documentation.

Supported operating systems

  • Windows
  • macOS
  • Linux
  • Android
  • And any others with a recent C++ compiler (C++ 11 and newer)

Supported programming languages

Code generation and runtime libraries for many popular languages.

  1. C
  2. C++ - snapcraft.io
  3. C# - nuget.org
  4. Dart - pub.dev
  5. Go - go.dev
  6. Java - Maven
  7. JavaScript - NPM
  8. Kotlin
  9. Lobster
  10. Lua
  11. PHP
  12. Python - PyPi
  13. Rust - crates.io
  14. Swift - swiftpackageindex
  15. TypeScript - NPM
  16. Nim

Versioning

FlatBuffers does not follow traditional Semver versioning (see rationale) but rather uses a format of the date of the release.

Contribution

To contribute to this project, see CONTRIBUTING.

Community

Security

Please see our Security Policy for reporting vulnerabilities.

Licensing

Flatbuffers is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.