CEL
Common Expression Language
Common Expression Language(CEL)は、パフォーマンスが重視されるアプリケーションで高速かつポータブルで、安全に実行できる式言語です。CEL は、アプリケーション固有の拡張機能を使用してアプリケーションに組み込めるように設計されており、アプリケーションがすでに使用している宣言型の構成を拡張するのに最適です。
CEL は、API 呼び出しのリストフィルタ、プロトコル バッファの検証制約、API リクエストの認可ルールなどに使用します。
code:cel
// Simple predicates
'tacocat'.startsWith('taco')
// Parameterized predicates over structured data
account.balance >= transaction.withdrawal
// JSON objects
{'sub': '12345678',
'aud': 'example2.cel.dev',
// Strongly typed objects
common.GeoPoint{ latitude: 10.0, longitude: -5.5 }
ナノ秒からマイクロ秒程度の高速な評価に最適化されている
C++、Java、Goでサポートされるスタックによるポータブル性
何千もの適合性テストにより、スタック間での一貫した動作を保証
言語の拡張とサブセットをサポート