176 Commits

Author SHA1 Message Date
Martin Traverse
c478e1fe21 Add braces to if/else clauses for readability on all code touched by this change 2024-07-29 08:02:09 +01:00
Martin Traverse
94bfbbc18e Allow undefined values (but not nulls) for implicit presence fields in properties / interfaces 2024-07-26 22:47:52 +01:00
Martin Traverse
8e0027a193
Make parentIsInterface default to false in toJsType()
Co-authored-by: Daniel Bankhead <dan@danielbankhead.com>
2024-07-26 20:26:52 +01:00
Martin Traverse
fda51db00c Allow for other syntax options than "proto2" or "proto3" 2024-07-26 16:38:29 +01:00
Martin Traverse
d5700a5a6a Implement propagation of interface / message types under --null-semantics flag 2024-07-26 16:00:54 +01:00
Martin Traverse
50255d0862 Fix one lint warning 2024-07-26 15:45:29 +01:00
Martin Traverse
ed5980cadc Change config flag to --null-semantics and update comments 2024-07-26 15:41:24 +01:00
Martin Traverse
31f85e943c Address comment for default syntax 2024-07-26 15:07:33 +01:00
Martin Traverse
6204b2dee9 Address codestyle comment (braces for if/else) 2024-07-26 15:06:43 +01:00
Martin Traverse
09f577a5ab Do not generate doc comments for virtual oneOfs 2024-07-25 16:19:44 +01:00
Martin Traverse
ccd640e62b Do not require repeated or map fields in the object properties (i.e. for interface types) 2024-07-25 16:18:32 +01:00
Martin Traverse
856af47881 Use field options in proto3 instead of adding an extra property 2024-07-25 15:59:55 +01:00
Martin Traverse
f2ed6e0021 Fix lint warnings 2024-07-25 11:47:27 +01:00
Martin Traverse
aa61793c1c Only look up proto syntax once per type in the static generator 2024-07-24 19:18:48 +01:00
Martin Traverse
996e445f59 Explicit handling of proto3 syntax in the parser and static generator 2024-07-24 18:42:01 +01:00
Martin Traverse
2bd0b43444 New implementation that explicitly respects the optional keyword 2024-07-24 16:25:56 +01:00
Martin Traverse
94556f9f1b Do not use null-defaults to decide type signature for pb3-optionals (this only sets the default of optional fields, it doesn't control whether a field is optional or not) 2024-07-24 11:53:33 +01:00
Martin Traverse
358d336439 Hide the fix for PB3 optional type declarations behind the flag --pb3-optional 2024-07-24 11:53:33 +01:00
Martin Traverse
b38a668f49 Fixes optional handling for class-level comments (JS) and interfaces (TS) 2024-07-24 11:53:33 +01:00
Kairlec
8aad1dd994
feat: allow message.getTypeUrl provide custom typeUrlPrefix (#1762)
* feat: allow message.getTypeUrl provide custom tyepUrlPrefix

* Update static.js

* test: added tests, regenerated test files

Co-authored-by: Alexander Fenster <fenster@google.com>
2022-07-07 14:10:58 -07:00
Taylor McIntyre
d13d5d5688
feat: add getTypeUrl method to generated code (#1463)
* Add getTypeUrl method to static-module generated code

* add tests for getTypeUrl method
2021-05-21 15:53:03 -07:00
Simon Lipp
6e713baf54
feat: add null-defaults option (#1611)
* feat: add null-defaults option

* fix: linting

Co-authored-by: Alexander Fenster <github@fenster.name>
Co-authored-by: Alexander Fenster <fenster@google.com>
2021-05-07 20:29:36 -07:00
Alexander Fenster
90afe4412d
fix: fromObject should not initialize oneof members (#1597)
* test: adding test for pbjs static code generation

* fix: fromObject should not initialize oneof members
2021-04-28 18:25:37 -07:00
Alexander Fenster
6c4d30716a
feat: proto3 optional support (#1584)
Co-authored-by: Benjamin E. Coe <bencoe@google.com>
2021-04-15 10:56:00 -07:00
Matthew Douglass
d01394a146
feat: add --no-service option for pbjs static target (#1577)
This option skips generation of service clients.

Co-authored-by: Alexander Fenster <fenster@google.com>
2021-04-14 10:33:42 -07:00
Taylor McIntyre
da34f43ccd
feat!: move command line tool to a new package named protobufjs-cli (#1234)
* Get protobufjs-cli to a publishable state

* Fix eslint issues

* Fix pbts path

* Install cli package deps on CI 'build' job

* fix: get rid of require-protobufjs.js

* fix: lint

* fix: versions

* chore(deps): update package-lock.json

Co-authored-by: Stacey Sern <stacey@dropbox.com>
Co-authored-by: Gabriel Cangussu <gabrielcangussu@gmail.com>
Co-authored-by: Alexander Fenster <fenster@google.com>
2021-01-15 16:02:00 -08:00
翠 / green
9f33784350
fix: es6 export enum (#1446)
Co-authored-by: Alexander Fenster <fenster@google.com>
2020-07-17 15:59:03 -07:00
Daniel Wirtz
42f49b43f6
feat: update dependencies / general cleanup (#1356)
Co-authored-by: Alexander Fenster <fenster@google.com>
2020-04-17 15:53:50 +02:00
dcodeIO
996b3fa0c5 Fix static codegen issues with uglifyjs3; New: Explicitly define service method names when generating static code, see #857 2018-05-18 10:58:00 +02:00
dcodeIO
1a522f793b Other: Update dependencies 2018-05-16 13:01:51 +02:00
dcodeIO
cc991a058b CLI: Use correct safeProp in json-module target, see #956 2017-11-29 02:16:51 +01:00
dcodeIO
db2dd49f6a Fixed: Prevent invalid JSDoc names when generating service methods, see #870 2017-11-27 17:45:05 +01:00
dcodeIO
c482a5b76f Fixed: Unified safe property escapes and added a test for #834 2017-11-26 22:41:09 +01:00
Daniel Wirtz
e04ddc42eb
CLI: Skip defaults when generating proto3 (#902) 2017-11-25 14:18:21 +01:00
Daniel Wirtz
c7ecc925ad
CLI: Annotate virtual oneof fields as string literal unions (#880) 2017-11-24 23:21:01 +01:00
dcodeIO
19d2af12b5 CLI: Make sure enum typings become generated (#884 didn't solve this); Other: Update tests 2017-11-24 18:15:12 +01:00
Daniel Wirtz
367d5daff4
CLI: Annotate class definitions with @implements (#881) 2017-11-24 16:13:01 +01:00
stelcheck
9afb8a2ff2
proto3: skip defaults
Defaults are not supported in proto3, and therefore should
not be appended to a `.proto` file when using `-t proto3`
flag for `pbjs`.
2017-09-04 12:43:43 +09:00
Andreas Noever
5a6feb4eda Generate enum TypeScript typings.
Fixes #836.
2017-07-30 19:34:36 +02:00
Cory Li
27cc66a539 annotating classes with @implements 2017-07-26 22:18:48 -07:00
Cory Li
05e7e06367 virtual oneofs annotated as string literal unions 2017-07-26 20:57:25 -07:00
Daniel Wirtz
31ab863f4f Merge pull request #864 from eventualbuddha/use-light-instead-of-minimal
Fixed dependency for json-module to use "light".
2017-07-11 18:01:40 +02:00
dcodeIO
ed7e2e71f5 CLI: Accept null for optional fields in generated static code 2017-07-11 17:54:41 +02:00
Brian Donovan
adecd544c5 Fixed dependency for json-module to use "light".
"minimal" doesn't include `Root`, as mentioned in #828 and #856. Probably caused by #813.
2017-07-11 08:52:10 -07:00
dcodeIO
c306d19d80 Added 'undefined' besides 'null' as a valid value of an optional field, fixes #826 2017-06-09 23:00:07 +02:00
dcodeIO
e1f9d9856c Also be more verbose when defining properties for ES6, fixes #820 2017-06-09 11:17:35 +02:00
dcodeIO
cf36097305 Generate more verbose JSDoc comments for ES6 support, fixes #820 2017-06-09 11:03:56 +02:00
dcodeIO
3b848a10b3 Fixed missing semicolon after 'extensions' and 'reserved' when generating proto files, fixes #810 2017-06-09 10:08:04 +02:00
Vitalii Ishchenko
4eac28c7d3 Use protobuf/minimal when pbjs target is static-module 2017-05-30 15:26:46 +03:00
Robin Anil
a510692fe9 Cleanup 2017-05-23 13:44:27 -05:00