Crates.io | glossa-shared |
lib.rs | glossa-shared |
version | 0.0.8 |
created_at | 2025-04-04 23:25:25.225432+00 |
updated_at | 2025-05-26 07:40:44.811525+00 |
description | Shared Data structures for glossa-codegen |
homepage | |
repository | https://github.com/2moe/glossa |
max_upload_size | |
id | 1621015 |
size | 64,794 |
glossa-codegen
glossa-codegen
Q: Which features do I need to enable?
A:
This depends on the type of code generated by glossa-codegen
:
Codegen Method | Required glossa-shared Feature |
---|---|
.output_phf() |
["phf"] |
.output_bincode() |
["std", "decode"] |
.output_match_fn() |
No need to import glossa-shared crate |
Type | Description |
---|---|
PhfL10nOrderedMap |
Return type of functions generated by .output_phf() |
PhfL10nAllInOneMap |
Return type of functions generated by .output_phf_all_in_one() |
PhfTupleKey |
Tuple struct (MapName, Key) Key type for maps from .output_phf() |
PhfTripleKey |
Tuple struct (Language, MapName, Key) Key type for maps from .output_phf_all_in_one() |
NonDSL: Regular|Highlight|RegularAndHighlight
<(MapName, Key), Value>
output_bincode(NonDSL)
=> {language}
.bincode => Decode => L10nFlattenMap<Language, L10nFlattenMap>
output_bincode_all_in_one(NonDSL)
=> all.bincode => Decode => L10nMaps<MapName, Resolver>
output_bincode(DSL)
=> {language}
.bincode => Decode => L10nDSLMap<Language, L10nDSLMap>
output_bincode_all_in_one(DSL)
=> all.bincode => Decode => DSLMapsdecode::slice
does not require "std" featuredecode::file
requires "std"decode::slice
output_bincode(NonDSL)
=> {language}
.bincode => Read => &[u8]
=> decode_single_data_to_map(&[u8])
=> <(MapName, Key), Value>
output_bincode_all_in_one(NonDSL)
=> all.bincode => Read => &[u8]
=> decode_to_maps(&[u8])
=> <Language, L10nFlattenMap>
output_bincode(DSL)
=> {language}
.bincode => Read => &[u8]
=> decode_single_data_to_dsl_map(&[u8])
=> <MapName, Resolver>
output_bincode_all_in_one(DSL)
=> all.bincode => Read => &[u8]
=> decode_to_dsl_maps(&[u8])
=> <Language, <MapName, Resolver>>
decode::file
output_bincode(NonDSL)
=> {language}
.bincode => decode_single_file_to_flatten_map({language}.bincode)
=> <(MapName, Key), Value>
output_bincode_all_in_one(NonDSL)
=> all.bincode => decode_file_to_maps("all.bincode")
=> <Language, L10nFlattenMap>
output_bincode(DSL)
=> {language}
.bincode => decode_single_file_to_dsl_map({language}.bincode)
=> <MapName, Resolver>
output_bincode_all_in_one(DSL)
=> all.bincode => decode_file_to_dsl_maps("all.bincode")
=> <Language, <MapName, Resolver>>