84 Commits

Author SHA1 Message Date
dcodeIO
65637ffce2 CLI: Do not wrap main definition as a module and export directly instead; CLI: Generate prettier definitions with --no-comments 2016-12-31 01:08:14 +01:00
dcodeIO
805291086f Reverted previous attempt on #597 2016-12-31 00:14:45 +01:00
dcodeIO
40074bb69c New: Added an asJSON-option to always populate array fields, even if defaults=false, see #597 2016-12-30 17:31:00 +01:00
dcodeIO
961dd03061 Other: Removed unused sandbox files 2016-12-30 16:42:29 +01:00
dcodeIO
a7d23240a2 New: Attempt to improve TypeScript support by using explicit exports 2016-12-30 16:33:11 +01:00
dcodeIO
8493dbd9a9 CLI: Reference dependency imports as a module to prevent name collisions, see #596 2016-12-30 13:24:43 +01:00
dcodeIO
1f18453c7b New: Emit an error on resolveAll() if any extension fields cannot be resolved, see #595 + test case 2016-12-30 02:00:27 +01:00
dcodeIO
31da56c177 Other: Various jsdoc improvements and a workaround for d.ts generation, see #592 2016-12-29 17:26:39 +01:00
dcodeIO
39a2ea361c CLI: Removed now unnecessary comment lines in generated static code 2016-12-27 23:53:24 +01:00
dcodeIO
3d84ecdb47 CLI: pbjs now generates more convenient dot-notation property accessors 2016-12-27 17:57:26 +01:00
dcodeIO
95ed6e9e82 Fixed: Empty inner messages are always present on the wire + test case + removed now unused Writer#ldelim parameter, see #585 2016-12-27 13:25:16 +01:00
dcodeIO
93e04f1db4 Other: Added basic services test case 2016-12-26 18:24:35 +01:00
dcodeIO
4375a48578 Other: Added a test case to find out if all the fallbacks are just for IE8 2016-12-26 01:38:51 +01:00
dcodeIO
0d66b839df Fixed a couple of issues with alternative browser builds 2016-12-24 01:17:55 +01:00
dcodeIO
deb2e82ed7 Other: Commented out float assertions in float test including explanation 2016-12-23 00:19:05 +01:00
dcodeIO
c144e73865 Breaking: Renamed asJSON option keys (enum to enums, long to longs) because enum is a reserved keyword 2016-12-22 23:27:19 +01:00
dcodeIO
c60cd397e9 CLI: Annotated callback types in pbjs-generated services, see #582 2016-12-22 19:51:41 +01:00
dcodeIO
b1b6a813c9 Other: Updated test cases 2016-12-22 17:09:41 +01:00
dcodeIO
5b9ade428d Breaking: Moved JSON/Message conversion to its own source file and added Message/Type.from + test case, see #575 2016-12-22 14:21:37 +01:00
dcodeIO
99dc5faa7b Other: Added assumptions to float test case 2016-12-22 13:39:45 +01:00
dcodeIO
c59647a754 Docs: Fixed an issue with the changelog generator skipping some commits; Other: Updated / added additional LICENSE files where appropriate 2016-12-20 23:06:23 +01:00
dcodeIO
0b0de2458a Breaking: Relicensed the library and its components to BSD-3-Clause to match the official implementation (again); New: Replaced the ieee754 implementation for old browsers with a faster, use-case specific one + simple test case 2016-12-20 22:40:47 +01:00
dcodeIO
24f2c03af9 Docs: Added notes on how to use pbjs and pbts programmatically 2016-12-20 17:44:55 +01:00
dcodeIO
ab3e236a96 Docs: Added static/JSON module interchangeability to README; Minor optimizations through providing type-hints; Performance: Reverted shortened switch statements in verifier; Compatibility: Enums can't be map key types 2016-12-20 01:38:22 +01:00
dcodeIO
3e7e4fc59e pbjs: Removed type/ns alias comment in static target to not confuse jsdoc unnecessarily 2016-12-20 00:09:44 +01:00
dcodeIO
99ad9cc087 Added .create to statically generated types and uppercase nested elements to reflection namespaces, see #576; Also added Namespace#getEnum for completeness, see #576; Made pbjs use loadSync for deterministic outputs, see #573 2016-12-19 23:51:45 +01:00
dcodeIO
7fac9d6a39 Properly check Buffer.prototype.set with node v4 2016-12-19 00:34:34 +01:00
dcodeIO
8ef6975b0b Use custom require (now a micromodule) for all optional modules, see #571 2016-12-18 18:35:31 +01:00
dcodeIO
3ad8108eab Prevent NRE and properly annotate verify signature in tsd-jsdoc, fixed #572 2016-12-18 16:33:25 +01:00
dcodeIO
bfac0ea9af Stripped out fallback encoder/decoder/verifier completely (even IE8 supports codegen), significantly reduces bundle size, can use static codegen elsewhere 2016-12-18 13:59:52 +01:00
dcodeIO
c234de7f05 Added codegen test to determine if any ancient browsers don't actually support it 2016-12-18 13:39:33 +01:00
dcodeIO
19e906c2a1 Added filter type to Namespace#lookup, fixes #569; Reverted aliases frequently used in codegen for better gzip ratio 2016-12-18 13:29:12 +01:00
dcodeIO
fed2000e7e Added legacy groups support to pbjs, see #568 2016-12-18 01:56:47 +01:00
dcodeIO
974a1321da Initial support for legacy groups + test case, see #568 2016-12-18 01:21:27 +01:00
dcodeIO
7003c56b1a 6.2.1 2016-12-16 17:10:38 +01:00
dcodeIO
4531d75cdd Can't just inline longNeq but can be simplified 2016-12-16 14:15:22 +01:00
dcodeIO
8f25377cf9 Inlined longNeq; Additional cyclic checks, see 563; More profiling data; Array abuse and varint optimization 2016-12-16 12:38:14 +01:00
dcodeIO
f1110b0993 Allow null for optional messages, see #562; Other minor improvements to short ifs 2016-12-15 19:18:43 +01:00
dcodeIO
fb74223b72 Simplified programmatic CLI api; Other minor optimizations 2016-12-15 17:51:24 +01:00
dcodeIO
be3e0d92e1 Use extend module; Attempt to alias reserved js names in static codegen, see #559; Some README 2016-12-15 14:44:01 +01:00
dcodeIO
75f4b6cb63 Moved extend implementation to its own micromodule, might help with #560; tsd-jsdoc progress 2016-12-15 12:57:11 +01:00
dcodeIO
8f407a1860 Post-merge; Repo now includes a restructured version of tsd-jsdoc with our changes incorporated for issues/prs, see #550 2016-12-15 02:30:55 +01:00
Conor Branagan
5f9bede280 Fix asJSON defaults option, make it work for repeated fields.
Fixing two issues in here:

1. When the `defaults` option was enabled, we were using `Object.keys(this)`
   which ends up returning an array that includes things like `$root` and
   asJSON. Instead we can use the `fields` we already have available.

2. For repeated values we were not setting the empty list default because the
   length check would break earlier. We're now passing through when the
   defaults option is set as well.

Added a test on this stuff as well.
2016-12-14 17:11:50 -05:00
dcodeIO
19c269f1dc Generate lookupTYPE functions programmatically; Ensure working reflection class names with minified builds 2016-12-14 17:32:07 +01:00
dcodeIO
6f9ffb6307 Path micromodule, dependencies 2016-12-14 15:48:00 +01:00
dcodeIO
0b9b1d8505 Test case for #556 2016-12-14 14:00:51 +01:00
dcodeIO
74b2c5c5d3 Process huge strings in chunks, see #555; Run bench in tests for a while; Raw alloc benchmark 2016-12-13 23:24:40 +01:00
dcodeIO
3783af7ca9 Initial pbts CLI for generating TypeScript definitions, see #550 2016-12-13 13:43:22 +01:00
dcodeIO
baea920fa6 Properly encode/decode map kv pairs as repeated messages (codegen and fallback), see #547 2016-12-13 03:57:19 +01:00
dcodeIO
ce41d0ef21 More micromodules; A lot of minor optimizations to performance and gzip ratio 2016-12-12 23:52:01 +01:00