Introduction
protoutil is a collection of TypeScript packages for working with Protocol Buffers and implementing Google API Improvement Proposals (AIP). All packages use protobuf-es (v2) as their protobuf runtime.
Packages
Section titled “Packages”| Package | Description |
|---|---|
@protoutil/core | Checksum, field get/set, integer validators, and well-known type utilities (Duration, Timestamp, FieldMask) |
@protoutil/aip | TypeScript SDK for Google AIP: filtering, pagination, resource names, ETags, errors, ordering, and field behavior |
@protoutil/aipql | Translate AIP-160 filter expressions into SQL (Postgres, MySQL, SQLite) and MongoDB queries |
@protoutil/repo | Database-agnostic protobuf resource persistence using AIP patterns |
@protoutil/angular | Angular components and validators for AIP-160 filter editing and protovalidate |
@protoutil/protoc-gen-sql | Protoc plugin for generating SQL schema and CRUD queries from annotated proto definitions |
Package Dependencies
Section titled “Package Dependencies”The packages build on each other:
@protoutil/coreis the foundation — no dependencies on other protoutil packages@protoutil/aipdepends oncore@protoutil/aipqldepends onaipandcore@protoutil/repodepends onaip,aipql, andcore@protoutil/angulardepends onaip@protoutil/protoc-gen-sqldepends oncore