Lexicon Module, codegen current lexicons

Use esquema (github:fatfingers23/esquema@9ef00b9) to generate rust code
for the lexicons that we have.

Currently, esquema doesn't seem to support top level integer types. I've
opted to temporarily remove `indexProgress` from my.spoor.log.activity
while compiling, and then adding it back afterwards.

I could compile esquema with the following added to my flake.nix
```
nativeBuildInputs = with pkgs; [
  pkg-config
  openssl
  openssl.dev
];
PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig";
```
at a later date I will add it as a dependency, but I spent a while
trying to package esquema to no results.
This commit is contained in:
Julia Lange 2025-05-07 16:29:08 -07:00
parent 0210da9708
commit 090cb6631e
Signed by: Julia
SSH key fingerprint: SHA256:5DJcfxa5/fKCYn57dcabJa2vN2e6eT0pBerYi5SUbto
11 changed files with 245 additions and 0 deletions

View file

@ -0,0 +1,19 @@
// @generated - This file is generated by esquema-codegen (forked from atrium-codegen). DO NOT EDIT.
//!Definitions for the `my.spoor.content.defs` namespace.
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
#[serde(rename_all = "camelCase")]
pub struct TitleData {
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub lang: core::option::Option<atrium_api::types::string::Language>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub translation_type: core::option::Option<atrium_api::types::string::Nsid>,
#[serde(skip_serializing_if = "core::option::Option::is_none")]
pub value: core::option::Option<String>,
}
pub type Title = atrium_api::types::Object<TitleData>;
///A phonetic transcription of the native title such that when read it will sound like the native title.
pub const TITLE_HOMOPHONIC: &str = "my.spoor.content.defs#titleHomophonic";
///The title in its native script
pub const TITLE_NATIVE: &str = "my.spoor.content.defs#titleNative";
///A translation of the title
pub const TITLE_TRANSLATION: &str = "my.spoor.content.defs#titleTranslation";