json-joy

JSON CRDT, JSON CRDT Patch, JSON Patch+, JSON Predicate, JSON Pointer, JSON Expression, JSON Type

APACHE-2.0 License

Downloads
410.7K
Stars
644
Committers
4

Bot releases are visible (Hide)

json-joy - v6.0.2

Published by streamich almost 3 years ago

6.0.2 (2021-12-12)

Bug Fixes

  • reactive-rpc: ๐Ÿ› do not fetch method, in case it does not exist (a27a911)
json-joy - v6.0.1

Published by streamich almost 3 years ago

6.0.1 (2021-12-12)

Bug Fixes

  • json-brand: ๐Ÿ› make sure json-brand appears in build (46a156d)
json-joy - v6.0.0

Published by streamich almost 3 years ago

6.0.0 (2021-12-09)

Bug Fixes

  • json-expression: ๐Ÿ› correct equals operator (f108051)
  • json-pack: ๐Ÿ› encode large number correctly (3cbb8a1)
  • json-random: ๐Ÿ› improve random type generation (9e3b552)
  • json-type-codegen: ๐Ÿ› use correct check for const (aa05f8b)
  • json-type-validator: ๐Ÿ› correctly check boolean and number consts (75ec6b3)
  • json-type-validator: ๐Ÿ› correctly validate "null" (fc48bfd)
  • json-type-validator: ๐Ÿ› correctly validate number and string consts (404aafb)
  • json-type-validator: ๐Ÿ› correctly validate string constants (f9dd247)
  • json-type-validator: ๐Ÿ› don't check expra fields in empty objects (6d839a9)
  • json-type-validator: ๐Ÿ› handle correctly boolean constants (5709d82)
  • json-type-validator: ๐Ÿ› make "or" clause work again (d71dd68)
  • reactive-rpc: ๐Ÿ› complete single message req calls immediately (81b1f69)
  • reactive-rpc: ๐Ÿ› correct TypeScript errors (5893334)
  • reactive-rpc: ๐Ÿ› support polymorphic stream functions (c2827a3)
  • reactive-rpc: ๐Ÿ› use correct static method when reading streaming c (dc57dc9)
  • ๐Ÿ› import hasOwnProperty() from shared location (61533a5)

Features

  • json-expression: ๐ŸŽธ add "between" operator support to evaluator (f082456)
  • json-expression: ๐ŸŽธ add "between" operators (1403dfd)
  • json-expression: ๐ŸŽธ add "cat" expression (561a639)
  • json-expression: ๐ŸŽธ add "cat" operation (9146080)
  • json-expression: ๐ŸŽธ add "defined" expression (d2e9ec1)
  • json-expression: ๐ŸŽธ add "if" operation (31aeb41)
  • json-expression: ๐ŸŽธ add "in" expression (be2e4e8)
  • json-expression: ๐ŸŽธ add "min" and "max" expressiosn (cf9be64)
  • json-expression: ๐ŸŽธ add "starts" expression (f99caa7)
  • json-expression: ๐ŸŽธ add "substr" operation (fcd6855)
  • json-expression: ๐ŸŽธ add "type" expression (b57f7d3)
  • json-expression: ๐ŸŽธ add context (e78ebbe)
  • json-expression: ๐ŸŽธ add math operations (7b9cb4b)
  • json-expression: ๐ŸŽธ add not equals operator (a07aaef)
  • json-expression: ๐ŸŽธ add number comparison expressions (ae1be14)
  • json-expression: ๐ŸŽธ add support for "contains" and "ends" expr (4cd5a74)
  • json-expression: ๐ŸŽธ add type conversion expressions (df461e7)
  • json-expression: ๐ŸŽธ improve "in" operator (c0852d1)
  • json-expression: ๐ŸŽธ improve context types (8423c38)
  • json-pack: ๐ŸŽธ expose integer encoding methods (bfb5ac9)
  • json-type: ๐ŸŽธ add optimizatoin annotations (ed50eed)
  • json-type: ๐ŸŽธ add validator properties (c3cbdc0)
  • json-type: ๐ŸŽธ improve types and builder (feba569)
  • json-type-serializer: ๐ŸŽธ add binary support for JSON serializer (dd34cb3)
  • json-type-serializer: ๐ŸŽธ add fast path for integer encoding (ca838d3)
  • json-type-serializer: ๐ŸŽธ add support for "any" type (2699daf)
  • json-type-serializer: ๐ŸŽธ add support for "enum" type (1755f81)
  • json-type-serializer: ๐ŸŽธ add support for "or" type (c4208db)
  • json-type-serializer: ๐ŸŽธ add support for "ref" types (ea9659f)
  • json-type-serializer: ๐ŸŽธ export JSON serializer (48ab1a0)
  • json-type-serializer: ๐ŸŽธ implement inital "str" serialization (cb37930)
  • json-type-serializer: ๐ŸŽธ improve "arr" and add "obj" serialization (836fd7f)
  • json-type-serializer: ๐ŸŽธ link in serialize method (e64704f)
  • json-type-validator: ๐ŸŽธ add ability to provide custom validator (df5543a)
  • json-type-validator: ๐ŸŽธ improve custom validators to allow throwin (a42475f)
  • util: ๐ŸŽธ add ability to name code-generated function (6863bba)
  • util: ๐ŸŽธ add asString() method (ffe6c9f)
  • util: ๐ŸŽธ add base64 encoder (2d0656c)
  • util: ๐ŸŽธ implement Codegen class (a9ab412)
  • util: ๐ŸŽธ improve asString() method (f7f0798)
  • util: ๐ŸŽธ improve Codegen API (336881f)
  • util: ๐ŸŽธ start codegen switch implementation (7333c95)
  • ๐ŸŽธ add "and" expression (7ddf2d0)
  • json-brand: ๐ŸŽธ add global type definition (8237fc4)
  • json-brand: ๐ŸŽธ vendor JSON brand library (84297f8)
  • json-expression: ๐ŸŽธ add "ends" expression (cc5f6d3)
  • json-expression: ๐ŸŽธ add "in" operand (cf7f6a0)
  • json-expression: ๐ŸŽธ add "matches" expression (abf53f9)
  • json-expression: ๐ŸŽธ add "min" and "max" expressions (7518a39)
  • json-expression: ๐ŸŽธ add "mod" expression (f920239)
  • json-expression: ๐ŸŽธ add "substr" expression (43d2272)
  • json-expression: ๐ŸŽธ add codege support for "ne" expression (4e04425)
  • json-expression: ๐ŸŽธ add default value for get expression (1042267)
  • json-expression: ๐ŸŽธ add ends() and contains() helpers (843222e)
  • json-expression: ๐ŸŽธ add equality comparators (babf9b8)
  • json-expression: ๐ŸŽธ add rounding expressions (8e7451c)
  • json-expression: ๐ŸŽธ add support for "not" expression (ae9c3bf)
  • json-expression: ๐ŸŽธ begin codegen implementation (9e6ea71)
  • json-expression: ๐ŸŽธ bring evaluator to feature parity (e5b3c5d)
  • json-expression: ๐ŸŽธ implement "and" expression (8cdc133)
  • json-expression: ๐ŸŽธ implement "bool" expression (5af82fb)
  • json-expression: ๐ŸŽธ implement "contains" expression (1501d4a)
  • json-expression: ๐ŸŽธ implement "defined" expression (abcb625)
  • json-expression: ๐ŸŽธ implement "if" expression (6675495)
  • json-expression: ๐ŸŽธ implement "int" expression (d2d52f6)
  • json-expression: ๐ŸŽธ implement "num" expression (7fc6aac)
  • json-expression: ๐ŸŽธ implement "or" expression (5dccfce)
  • json-expression: ๐ŸŽธ implement "str" expression (afab884)
  • json-expression: ๐ŸŽธ implement "type" expression (be8aaeb)
  • json-expression: ๐ŸŽธ implement arithmetic operands (7db93be)
  • json-expression: ๐ŸŽธ implement codegen for "get" expression (02bd3f8)
  • json-expression: ๐ŸŽธ implement codegen for "start" expression (68f2c8a)
  • json-expression: ๐ŸŽธ improve operand count error messages (5b3fc51)
  • json-pointer: ๐ŸŽธ implement get() method (81691de)
  • json-pointer: ๐ŸŽธ use .hasOwnProperty() from prototype (fd59781)
  • json-random: ๐ŸŽธ add methods to generate specific type (2ce945d)
  • json-random: ๐ŸŽธ implement random generator according to json-type (e84665c)
  • json-random: ๐ŸŽธ respect integer types (63dec85)
  • json-type: ๐ŸŽธ add "enum" type (2c48b6e)
  • json-type: ๐ŸŽธ add "or" type and move to new file (08d3767)
  • json-type: ๐ŸŽธ add "ref" type (63dd6c5)
  • json-type: ๐ŸŽธ add basic json-type to TypeScript output (709defe)
  • json-type: ๐ŸŽธ add comment props (1a27b99)
  • json-type: ๐ŸŽธ add unknownFields property (3b3208b)
  • json-type: ๐ŸŽธ export types (df04b58)
  • json-type: ๐ŸŽธ group types better (bd17d1d)
  • json-type: ๐ŸŽธ implement recursive references for full validator (f7c6f6d)
  • json-type: ๐ŸŽธ implement recursive type refs (68c5f71)
  • json-type: ๐ŸŽธ improve builder to easily add type names (0e558cf)
  • json-type: ๐ŸŽธ improve type definitions (a00e814)
  • json-type: ๐ŸŽธ improve types (5884bd4)
  • json-type: ๐ŸŽธ simplify object field creation (b428984)
  • json-type: ๐ŸŽธ support JSON serialization (6a7a14e)
  • json-type-codegen: ๐ŸŽธ add ability to disable errors (81c8eab)
  • json-type-codegen: ๐ŸŽธ add ability to skip object check (7c8c6e5)
  • json-type-codegen: ๐ŸŽธ allow skipping extra field check (dbd1e52)
  • json-type-codegen: ๐ŸŽธ implement different types of error reporting (dbe01d9)
  • json-type-codegen: ๐ŸŽธ implement object and one-of validation (ded2193)
  • json-type-codegen: ๐ŸŽธ implement validation for arrays (66d1d27)
  • json-type-codegen: ๐ŸŽธ implement validation for basic types (0dc0851)
  • json-type-codegen: ๐ŸŽธ improve error reporting (0775887)
  • json-type-codegen: ๐ŸŽธ support unknown fields in serializ (f8588ff)
  • json-type-codegen: ๐ŸŽธ use boolean error reporting by default (ff00ea6)
  • json-type-schema: ๐ŸŽธ add ability to generate defs (bb4c4f9)
  • json-type-schema: ๐ŸŽธ implement json-type to JSON Schema converter (0e50d9c)
  • json-type-serializer: ๐ŸŽธ add support for recursive refs to JSON (88aabe0)
  • json-type-serializer: ๐ŸŽธ support partial serializer as ref (3b5dc4b)
  • json-type-system: ๐ŸŽธ add ability to convert json-type to JSON Sch (6b72273)
  • json-type-system: ๐ŸŽธ add ability to export the whole type system (0275958)
  • json-type-system: ๐ŸŽธ add MessagePack serializer (5fde08b)
  • json-type-system: ๐ŸŽธ add namespaces support (1917b04)
  • json-type-system: ๐ŸŽธ add support for array and numbers (30c8719)
  • json-type-system: ๐ŸŽธ add support for TypeScript type literals (79eb181)
  • json-type-system: ๐ŸŽธ add support for unknown fields (ddadc3c)
  • json-type-system: ๐ŸŽธ add TypeScript comments for interface decls (907afab)
  • json-type-system: ๐ŸŽธ add TypeScript comments support for propertie (a58b564)
  • json-type-system: ๐ŸŽธ do not re-declare already declared types (47aabf2)
  • json-type-system: ๐ŸŽธ emit TypeScript text for all AST nodes (2b7bc19)
  • json-type-system: ๐ŸŽธ enable auto-completion for types (b832832)
  • json-type-system: ๐ŸŽธ export TypeScript declarations (5387174)
  • json-type-system: ๐ŸŽธ start TypeScript AST to text converter fn (fe4ccce)
  • json-type-system: ๐ŸŽธ support comments for type declarations (7752860)
  • json-type-system: ๐ŸŽธ support custom validators and fix full valid (de6fad5)
  • json-type-system: ๐ŸŽธ support TypeScript module nesting (7f66df3)
  • json-type-validator: ๐ŸŽธ add support for "any" type (d3821ba)
  • json-type-validator: ๐ŸŽธ add support for "enum" type (7185e61)
  • json-type-validator: ๐ŸŽธ add support for integers (ee5a445)
  • json-type-validator: ๐ŸŽธ add support for minLength and maxLength (f1639ea)
  • json-type-validator: ๐ŸŽธ add support for refs (703572e)
  • json-type-validator: ๐ŸŽธ allow object keys of "any" type (3494d60)
  • json-type-validator: ๐ŸŽธ implement "or" type in loop with consts (92e5da6)
  • json-type-validator: ๐ŸŽธ improve "ref" type validation errors (b7cd720)
  • json-type-validator: ๐ŸŽธ improve public interface (4c9861f)
  • json-type-validator: ๐ŸŽธ support validation of different int types (952335a)
  • reactive-rpc: ๐ŸŽธ add ability for binary messages to encode msgpack (1aa0094)
  • reactive-rpc: ๐ŸŽธ add binary msgpack message encoder (eba7b9b)
  • reactive-rpc: ๐ŸŽธ add compacted json_string message encoder (b0dcefe)
  • reactive-rpc: ๐ŸŽธ add polymorphic rpc methor return types (5092490)
  • reactive-rpc: ๐ŸŽธ construct JSON messages in JSON server (497dea5)
  • reactive-rpc: ๐ŸŽธ dont wrap in array a single message (f3dbec4)
  • reactive-rpc: ๐ŸŽธ implement JSON messages (244dc1b)
  • reactive-rpc: ๐ŸŽธ implement polymorphic ApiCaller methods (db2f0c6)
  • reactive-rpc: ๐ŸŽธ implement RpcServerJson and RpcServerMsgPack (900e4d9)
  • reactive-rpc: ๐ŸŽธ improve RPC method wrappers (49ab49b)
  • reactive-rpc: ๐ŸŽธ remove timeout tracking feature (75c47d7)
  • reactive-rpc: ๐ŸŽธ start json message implementation (2aada7c)
  • reactive-rpc: ๐ŸŽธ support static polymorphic calls in RpcServer (3f0f8d6)
  • reactive-rpc: ๐ŸŽธ use binary RpcServer in ws compact binary mode (4399322)
  • reactive-rpc: ๐ŸŽธ use RpcServerMsgPack in binary WebSocket server (18f46c5)
  • reactive-rpc: ๐ŸŽธ use shared encoder and decoder (12a5771)
  • reactive-rpc: ๐ŸŽธ use specialized encoders in ws compact rpc (36dd21a)
  • util: ๐ŸŽธ allow to provide codegen params at last step (756c525)
  • util: ๐ŸŽธ improve code-generation types (f3be5fd)
  • util: ๐ŸŽธ vendor word wrap utility (16e1ac0)
  • ๐ŸŽธ add binary type to json-type (fb48c45)
  • ๐ŸŽธ add code generation for array (d3db9eb)
  • ๐ŸŽธ add compilation for basic types (df1044b)
  • ๐ŸŽธ add convenience getters to json-type builder (fcc3197)
  • ๐ŸŽธ add initial typing setup (e1be097)
  • ๐ŸŽธ add support for optional fields in objects (30453ff)
  • ๐ŸŽธ begin implementation of schema MessagePack serializer (c65e3c8)
  • ๐ŸŽธ implement boolean expressions (e8f6ba9)
  • ๐ŸŽธ improve JSON types (b5ee20e)
  • ๐ŸŽธ improve JSON types and add builder (a68d676)
  • ๐ŸŽธ improve json-type MessagePack encoding (ddfab64)
  • ๐ŸŽธ start json-expression implementation (3d441f5)

Performance Improvements

  • json-expression: โšก๏ธ add benchmark (08a0eaa)
  • json-pointer: โšก๏ธ use hasOwnProperty() literal (f26a1d6)
  • json-type-codegen: โšก๏ธ add benchmark (10093a9)
  • json-type-codegen: โšก๏ธ emit octets in chunks (4d0e260)
  • json-type-codegen: โšก๏ธ emit octets on optional object keys (d616407)
  • json-type-codegen: โšก๏ธ improve json-type validator performance (455df96)
  • json-type-codegen: โšก๏ธ improve optional object field check (758b461)
  • json-type-codegen: โšก๏ธ optimize case for simple primitives (416373a)
  • json-type-codegen: โšก๏ธ write directly to Uint8Array (94eedcb)
  • json-type-serializer: โšก๏ธ add MsgPack optimization for ASCII enc (0c99c55)
  • json-type-serializer: โšก๏ธ add support for "noJsonEscape" (8f75ca3)
  • json-type-system: โšก๏ธ remove unused argument (cb3a218)
  • util: โšก๏ธ generate 64 x 64 table in Base64 encoding (43447e2)
  • util: โšก๏ธ make word wrap return a list of lines (0e07b32)
  • util: โšก๏ธ optimize base64 encoder (5f685c6)
  • util: โšก๏ธ optimize base64 encoder performance (ea64208)

BREAKING CHANGES

  • reactive-rpc: ๐Ÿงจ Streaming Reactive-RPC do not track inactivity timeout anymore.
json-joy - v5.2.0

Published by streamich almost 3 years ago

5.2.0 (2021-11-17)

Bug Fixes

  • ๐Ÿ› correctly compute array size (d8a1792)

Features

  • ๐ŸŽธ add fast MessagePack size computer (e9b1e03)
  • ๐ŸŽธ implement fast JSON sizer (ae7d28b)

Performance Improvements

  • โšก๏ธ improve performance of msgpackSizeFast() (07e5a87)
json-joy - v5.1.0

Published by streamich almost 3 years ago

5.1.0 (2021-11-17)

Features

  • ๐ŸŽธ add jsonSizeApprox() utility (f1a433a)

Performance Improvements

  • โšก๏ธ improve string lenght computation (cfc410e)
  • โšก๏ธ optimize number length detection (2407055)
json-joy - v5.0.0

Published by streamich almost 3 years ago

5.0.0 (2021-11-16)

Bug Fixes

  • ๐Ÿ› create deep copy of "add" operation value (43c7348)

Code Refactoring

  • ๐Ÿ’ก use common syntax for codegeneration (8674031)

Features

  • ๐ŸŽธ add apply and $apply functions (1697f3d)
  • ๐ŸŽธ add compileFn() helper (7d0c551)
  • ๐ŸŽธ implement codegen for "add" operation (777c607)
  • ๐ŸŽธ rewrite $apply as codege $apply function (71a1d56)
  • ๐ŸŽธ start findRef codegen implementation (f3269e2)
  • ๐ŸŽธ start patch creator (08a3e57)
  • ๐ŸŽธ use codegen for test operation (5e61cb0)

Performance Improvements

  • โšก๏ธ do not pass in deepClone dep if not needed (fffc5e0)
  • โšก๏ธ implement "starts" operation on codegen way (4e734f0)
  • โšก๏ธ replace operation loop with single expression (35a8941)
  • โšก๏ธ unwrap $findRef loop (70aef07)
  • โšก๏ธ use codegenerated find in $add (6210221)

BREAKING CHANGES

  • ๐Ÿงจ Public api of deep equal code generator has changed.
json-joy - v4.0.0

Published by streamich almost 3 years ago

4.0.0 (2021-11-15)

Features

  • ๐ŸŽธ implement JSON and fast JSON string codecs for JSON RPC (610a148)
  • ๐ŸŽธ implement JSON-RPC 2.0 middleware for uWebSocket.js (e23b95f)
  • ๐ŸŽธ implement JSON-RPC 2.0 server as Reactive-RPC caller (f9de285)
  • ๐ŸŽธ wire int notifications into JSON-RPC 2.0 (599b0d1)

BREAKING CHANGES

  • ๐Ÿงจ JSON-RPC 2.0 does not exist as json-rpc top level library anymore.
json-joy - v3.3.0

Published by streamich almost 3 years ago

3.3.0 (2021-11-08)

Features

  • ๐ŸŽธ add code to ops (e859009)
json-joy - v3.2.0

Published by streamich almost 3 years ago

3.2.0 (2021-11-07)

Bug Fixes

  • ๐Ÿ› handle special cases in deepEqualCodegen (d093ec7)
  • ๐Ÿ› pass in options argument (c525996)

Features

  • ๐ŸŽธ add deepEqual implementation (5c1b4ab)
  • ๐ŸŽธ implement deep equal code generator (2656dc8)
  • ๐ŸŽธ wire through json patch options everywhere (1b24b0e)

Performance Improvements

  • โšก๏ธ add benchmarking for deepEqual (5f0eb2b)
json-joy - v3.1.0

Published by streamich almost 3 years ago

3.1.0 (2021-11-06)

Bug Fixes

  • ๐Ÿ› correct type import (e47205d)
  • ๐Ÿ› fix imports after refactor (f0f6905)

Features

  • ๐ŸŽธ add JSON Pointer codegen (180fb66), closes #82
json-joy - v3.0.0

Published by streamich almost 3 years ago

3.0.0 (2021-10-24)

Features

  • ๐ŸŽธ add RPC implementation with MessagePack responses (c7e1692)
  • ๐ŸŽธ move RPC with JSON under /rpc/json route (d2a50ad)

Performance Improvements

  • โšก๏ธ remove optional success code (7fdd244)
  • โšก๏ธ use precomputed buffers for HTTP header data (c7252d5)

BREAKING CHANGES

  • ๐Ÿงจ Now default JSON RPC route is /rpc/json
json-joy - v2.19.0

Published by streamich about 3 years ago

2.19.0 (2021-10-17)

Features

  • ๐ŸŽธ add MsgPack Uint8Array branded type (d6b1fc5)
  • ๐ŸŽธ export MsgPack branded type (bba1cf3)
json-joy - v2.18.2

Published by streamich about 3 years ago

2.18.2 (2021-10-17)

Bug Fixes

  • ๐Ÿ› export RpcPersistentClient (9ccb441)
  • ๐Ÿ› on call subscribe execute call only once (fdf850a)
json-joy - v2.18.1

Published by streamich about 3 years ago

2.18.1 (2021-08-15)

Bug Fixes

  • ๐Ÿ› add es2020 build target (e3f6bec)
  • ๐Ÿ› publish es2020 target to NPM (bcd0648)
json-joy - v2.18.0

Published by streamich about 3 years ago

2.18.0 (2021-08-15)

Bug Fixes

  • ๐Ÿ› support quotes and special characters in stirngs (05599c5)

Features

  • ๐ŸŽธ implement json-size (0d67ae7)

Performance Improvements

  • โšก๏ธ add benchmarks (9d08da4)
json-joy - v2.17.0

Published by streamich about 3 years ago

2.17.0 (2021-08-01)

Bug Fixes

  • ๐Ÿ› on persisten client call wait for for first rpc duplex (bdedd9b)

Features

  • ๐ŸŽธ expose .call() methods which return a Promise (1c05336)
  • ๐ŸŽธ improve persistent client (fb55b16)
  • ๐ŸŽธ improve start() and stop() of persistent client (259f0c3)
  • ๐ŸŽธ send periodic ".ping" keep-alive messages (944b23f)
json-joy - v2.16.4

Published by streamich about 3 years ago

2.16.4 (2021-08-01)

Bug Fixes

  • ๐Ÿ› reset reconnect retry country only on successful open (85f92cb)
json-joy - v2.16.3

Published by streamich about 3 years ago

2.16.3 (2021-08-01)

Bug Fixes

  • ๐Ÿ› revert back channel predicate (923baf5)
json-joy - v2.16.2

Published by streamich about 3 years ago

2.16.2 (2021-08-01)

Bug Fixes

  • ๐Ÿ› make array type explicit (a7f223f)
  • ๐Ÿ› try reconnecting only when channel is empty (498fc32)
json-joy - v2.16.1

Published by streamich about 3 years ago

2.16.1 (2021-07-26)

Bug Fixes

  • ๐Ÿ› do not wrap validation errors (1feac4b)