Skip to content

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.

PackageDescription
@protoutil/coreChecksum, field get/set, integer validators, and well-known type utilities (Duration, Timestamp, FieldMask)
@protoutil/aipTypeScript SDK for Google AIP: filtering, pagination, resource names, ETags, errors, ordering, and field behavior
@protoutil/aipqlTranslate AIP-160 filter expressions into SQL (Postgres, MySQL, SQLite) and MongoDB queries
@protoutil/repoDatabase-agnostic protobuf resource persistence using AIP patterns
@protoutil/angularAngular components and validators for AIP-160 filter editing and protovalidate
@protoutil/protoc-gen-sqlProtoc plugin for generating SQL schema and CRUD queries from annotated proto definitions

The packages build on each other:

  • @protoutil/core is the foundation — no dependencies on other protoutil packages
  • @protoutil/aip depends on core
  • @protoutil/aipql depends on aip and core
  • @protoutil/repo depends on aip, aipql, and core
  • @protoutil/angular depends on aip
  • @protoutil/protoc-gen-sql depends on core