From e1fd813bca01ba5dbbfb1e2259a5148826b82b6b Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Mon, 16 Oct 2023 17:15:46 +0200 Subject: [PATCH] Update schema example --- src/guide/schemas/rs/chat/mod.rs | 47 +++++++++++++++++-- .../schemas/rs/chat/simple_chat_protocol.rs | 20 ++++---- src/guide/schemas/simpleChatProtocol.prb | 2 +- .../schemas/ts/gen/simpleChatProtocol.ts | 2 +- 4 files changed, 54 insertions(+), 17 deletions(-) diff --git a/src/guide/schemas/rs/chat/mod.rs b/src/guide/schemas/rs/chat/mod.rs index 22dddf9..958fd51 100644 --- a/src/guide/schemas/rs/chat/mod.rs +++ b/src/guide/schemas/rs/chat/mod.rs @@ -15,11 +15,48 @@ pub struct Language { impl Default for Language { fn default() -> Self { Language { - LIT_0_PRESENT: /* Present */ _support::decode_lit(&vec![179, 7, 80, 114, 101, 115, 101, 110, 116]).unwrap(), - LIT_1_SAYS: /* Says */ _support::decode_lit(&vec![179, 4, 83, 97, 121, 115]).unwrap(), - LIT_4_STATUS: /* Status */ _support::decode_lit(&vec![179, 6, 83, 116, 97, 116, 117, 115]).unwrap(), - LIT_3_AWAY: /* away */ _support::decode_lit(&vec![179, 4, 97, 119, 97, 121]).unwrap(), - LIT_2_HERE: /* here */ _support::decode_lit(&vec![179, 4, 104, 101, 114, 101]).unwrap() + LIT_0_PRESENT: /* Present */ _support::decode_lit(&[179, 7, 80, 114, 101, 115, 101, 110, 116]).unwrap(), + LIT_1_SAYS: /* Says */ _support::decode_lit(&[179, 4, 83, 97, 121, 115]).unwrap(), + LIT_4_STATUS: /* Status */ _support::decode_lit(&[179, 6, 83, 116, 97, 116, 117, 115]).unwrap(), + LIT_3_AWAY: /* away */ _support::decode_lit(&[179, 4, 97, 119, 97, 121]).unwrap(), + LIT_2_HERE: /* here */ _support::decode_lit(&[179, 4, 104, 101, 114, 101]).unwrap() } } } + +pub fn _bundle() -> &'static [u8] { + b"\ + \xb4\xb3\x06\x62\x75\x6e\x64\x6c\x65\xb7\xb5\xb3\x12\x73\x69\x6d\ + \x70\x6c\x65\x43\x68\x61\x74\x50\x72\x6f\x74\x6f\x63\x6f\x6c\x84\ + \xb4\xb3\x06\x73\x63\x68\x65\x6d\x61\xb7\xb3\x07\x76\x65\x72\x73\ + \x69\x6f\x6e\xb0\x01\x01\xb3\x0b\x64\x65\x66\x69\x6e\x69\x74\x69\ + \x6f\x6e\x73\xb7\xb3\x04\x53\x61\x79\x73\xb4\xb3\x03\x72\x65\x63\ + \xb4\xb3\x03\x6c\x69\x74\xb3\x04\x53\x61\x79\x73\x84\xb4\xb3\x05\ + \x74\x75\x70\x6c\x65\xb5\xb4\xb3\x05\x6e\x61\x6d\x65\x64\xb3\x03\ + \x77\x68\x6f\xb4\xb3\x04\x61\x74\x6f\x6d\xb3\x06\x53\x74\x72\x69\ + \x6e\x67\x84\x84\xb4\xb3\x05\x6e\x61\x6d\x65\x64\xb3\x04\x77\x68\ + \x61\x74\xb4\xb3\x04\x61\x74\x6f\x6d\xb3\x06\x53\x74\x72\x69\x6e\ + \x67\x84\x84\x84\x84\x84\xb3\x06\x53\x74\x61\x74\x75\x73\xb4\xb3\ + \x02\x6f\x72\xb5\xb5\xb1\x04\x68\x65\x72\x65\xb4\xb3\x03\x6c\x69\ + \x74\xb3\x04\x68\x65\x72\x65\x84\x84\xb5\xb1\x04\x61\x77\x61\x79\ + \xb4\xb3\x03\x72\x65\x63\xb4\xb3\x03\x6c\x69\x74\xb3\x04\x61\x77\ + \x61\x79\x84\xb4\xb3\x05\x74\x75\x70\x6c\x65\xb5\xb4\xb3\x05\x6e\ + \x61\x6d\x65\x64\xb3\x05\x73\x69\x6e\x63\x65\xb4\xb3\x03\x72\x65\ + \x66\xb5\x84\xb3\x09\x54\x69\x6d\x65\x53\x74\x61\x6d\x70\x84\x84\ + \x84\x84\x84\x84\x84\x84\xb3\x07\x50\x72\x65\x73\x65\x6e\x74\xb4\ + \xb3\x03\x72\x65\x63\xb4\xb3\x03\x6c\x69\x74\xb3\x07\x50\x72\x65\ + \x73\x65\x6e\x74\x84\xb4\xb3\x05\x74\x75\x70\x6c\x65\xb5\xb4\xb3\ + \x05\x6e\x61\x6d\x65\x64\xb3\x08\x75\x73\x65\x72\x6e\x61\x6d\x65\ + \xb4\xb3\x04\x61\x74\x6f\x6d\xb3\x06\x53\x74\x72\x69\x6e\x67\x84\ + \x84\x84\x84\x84\xb3\x09\x54\x69\x6d\x65\x53\x74\x61\x6d\x70\xb4\ + \xb3\x04\x61\x74\x6f\x6d\xb3\x06\x53\x74\x72\x69\x6e\x67\x84\xb3\ + \x0a\x55\x73\x65\x72\x53\x74\x61\x74\x75\x73\xb4\xb3\x03\x72\x65\ + \x63\xb4\xb3\x03\x6c\x69\x74\xb3\x06\x53\x74\x61\x74\x75\x73\x84\ + \xb4\xb3\x05\x74\x75\x70\x6c\x65\xb5\xb4\xb3\x05\x6e\x61\x6d\x65\ + \x64\xb3\x08\x75\x73\x65\x72\x6e\x61\x6d\x65\xb4\xb3\x04\x61\x74\ + \x6f\x6d\xb3\x06\x53\x74\x72\x69\x6e\x67\x84\x84\xb4\xb3\x05\x6e\ + \x61\x6d\x65\x64\xb3\x06\x73\x74\x61\x74\x75\x73\xb4\xb3\x03\x72\ + \x65\x66\xb5\x84\xb3\x06\x53\x74\x61\x74\x75\x73\x84\x84\x84\x84\ + \x84\x84\xb3\x0c\x65\x6d\x62\x65\x64\x64\x65\x64\x54\x79\x70\x65\ + \x80\x84\x84\x84\x84" +} diff --git a/src/guide/schemas/rs/chat/simple_chat_protocol.rs b/src/guide/schemas/rs/chat/simple_chat_protocol.rs index 6effe18..cf357eb 100644 --- a/src/guide/schemas/rs/chat/simple_chat_protocol.rs +++ b/src/guide/schemas/rs/chat/simple_chat_protocol.rs @@ -17,8 +17,8 @@ pub struct Present { impl preserves::value::Domain for Present {} -impl<'de, _Value: preserves::value::NestedValue, R: _support::Reader<'de, _Value>> _support::Deserialize<'de, _Value, R> for Present { - fn deserialize(r: &mut R) -> std::result::Result { +impl<_Value: preserves::value::NestedValue> _support::Deserialize<_Value> for Present { + fn deserialize<'de, R: _support::Reader<'de, _Value>>(r: &mut R) -> std::result::Result { r.open_record(None)?; let mut _tmp0 = _support::B::Type::default(); _tmp0.shift(Some(_support::B::Item::RecordLabel)); @@ -77,8 +77,8 @@ pub struct Says { impl preserves::value::Domain for Says {} -impl<'de, _Value: preserves::value::NestedValue, R: _support::Reader<'de, _Value>> _support::Deserialize<'de, _Value, R> for Says { - fn deserialize(r: &mut R) -> std::result::Result { +impl<_Value: preserves::value::NestedValue> _support::Deserialize<_Value> for Says { + fn deserialize<'de, R: _support::Reader<'de, _Value>>(r: &mut R) -> std::result::Result { r.open_record(None)?; let mut _tmp0 = _support::B::Type::default(); _tmp0.shift(Some(_support::B::Item::RecordLabel)); @@ -176,8 +176,8 @@ fn read_status_away<'de, _Value: preserves::value::NestedValue, R: _support::Rea Ok(Status::Away {since: std::boxed::Box::new(_tmp2)}) } -impl<'de, _Value: preserves::value::NestedValue, R: _support::Reader<'de, _Value>> _support::Deserialize<'de, _Value, R> for Status { - fn deserialize(r: &mut R) -> std::result::Result { +impl<_Value: preserves::value::NestedValue> _support::Deserialize<_Value> for Status { + fn deserialize<'de, R: _support::Reader<'de, _Value>>(r: &mut R) -> std::result::Result { let _mark = r.mark()?; match read_status_here(r) { Err(e) if e.is_conformance_error() => r.restore(&_mark)?, result => return result } match read_status_away(r) { Err(e) if e.is_conformance_error() => r.restore(&_mark)?, result => return result } @@ -242,8 +242,8 @@ pub struct TimeStamp(pub std::string::String); impl preserves::value::Domain for TimeStamp {} -impl<'de, _Value: preserves::value::NestedValue, R: _support::Reader<'de, _Value>> _support::Deserialize<'de, _Value, R> for TimeStamp { - fn deserialize(r: &mut R) -> std::result::Result { +impl<_Value: preserves::value::NestedValue> _support::Deserialize<_Value> for TimeStamp { + fn deserialize<'de, R: _support::Reader<'de, _Value>>(r: &mut R) -> std::result::Result { let _tmp0 = r.next_str()?.into_owned(); Ok(TimeStamp(_tmp0)) } @@ -279,8 +279,8 @@ pub struct UserStatus { impl preserves::value::Domain for UserStatus {} -impl<'de, _Value: preserves::value::NestedValue, R: _support::Reader<'de, _Value>> _support::Deserialize<'de, _Value, R> for UserStatus { - fn deserialize(r: &mut R) -> std::result::Result { +impl<_Value: preserves::value::NestedValue> _support::Deserialize<_Value> for UserStatus { + fn deserialize<'de, R: _support::Reader<'de, _Value>>(r: &mut R) -> std::result::Result { r.open_record(None)?; let mut _tmp0 = _support::B::Type::default(); _tmp0.shift(Some(_support::B::Item::RecordLabel)); diff --git a/src/guide/schemas/simpleChatProtocol.prb b/src/guide/schemas/simpleChatProtocol.prb index 15947af..7da3bf1 100644 --- a/src/guide/schemas/simpleChatProtocol.prb +++ b/src/guide/schemas/simpleChatProtocol.prb @@ -1,2 +1,2 @@ -´³bundle·µ³simpleChatProtocol„´³schema·³version‘³ definitions·³Says´³rec´³lit³Says„´³tupleµ´³named³who´³atom³String„„´³named³what´³atom³String„„„„„³Status´³orµµ±here´³lit³here„„µ±away´³rec´³lit³away„´³tupleµ´³named³since´³refµ„³ TimeStamp„„„„„„„„³Present´³rec´³lit³Present„´³tupleµ´³named³username´³atom³String„„„„„³ TimeStamp´³atom³String„³ +´³bundle·µ³simpleChatProtocol„´³schema·³version°³ definitions·³Says´³rec´³lit³Says„´³tupleµ´³named³who´³atom³String„„´³named³what´³atom³String„„„„„³Status´³orµµ±here´³lit³here„„µ±away´³rec´³lit³away„´³tupleµ´³named³since´³refµ„³ TimeStamp„„„„„„„„³Present´³rec´³lit³Present„´³tupleµ´³named³username´³atom³String„„„„„³ TimeStamp´³atom³String„³ UserStatus´³rec´³lit³Status„´³tupleµ´³named³username´³atom³String„„´³named³status´³refµ„³Status„„„„„„³ embeddedType€„„„„ \ No newline at end of file diff --git a/src/guide/schemas/ts/gen/simpleChatProtocol.ts b/src/guide/schemas/ts/gen/simpleChatProtocol.ts index 4c419b8..22341c5 100644 --- a/src/guide/schemas/ts/gen/simpleChatProtocol.ts +++ b/src/guide/schemas/ts/gen/simpleChatProtocol.ts @@ -10,7 +10,7 @@ let __schema: _.Value | null = null; export function _schema() { if (__schema === null) { - __schema = _.decode<_.GenericEmbedded>(_.Bytes.fromHex("b4b306736368656d61b7b30776657273696f6e91b30b646566696e6974696f6e73b7b30453617973b4b303726563b4b3036c6974b3045361797384b4b3057475706c65b5b4b3056e616d6564b30377686fb4b30461746f6db306537472696e678484b4b3056e616d6564b30477686174b4b30461746f6db306537472696e678484848484b306537461747573b4b3026f72b5b5b10468657265b4b3036c6974b304686572658484b5b10461776179b4b303726563b4b3036c6974b3046177617984b4b3057475706c65b5b4b3056e616d6564b30573696e6365b4b303726566b584b30954696d655374616d708484848484848484b30750726573656e74b4b303726563b4b3036c6974b30750726573656e7484b4b3057475706c65b5b4b3056e616d6564b308757365726e616d65b4b30461746f6db306537472696e678484848484b30954696d655374616d70b4b30461746f6db306537472696e6784b30a55736572537461747573b4b303726563b4b3036c6974b30653746174757384b4b3057475706c65b5b4b3056e616d6564b308757365726e616d65b4b30461746f6db306537472696e678484b4b3056e616d6564b306737461747573b4b303726566b584b306537461747573848484848484b30c656d62656464656454797065808484")); + __schema = _.decode<_.GenericEmbedded>(_.Bytes.fromHex("b4b306736368656d61b7b30776657273696f6eb00101b30b646566696e6974696f6e73b7b30453617973b4b303726563b4b3036c6974b3045361797384b4b3057475706c65b5b4b3056e616d6564b30377686fb4b30461746f6db306537472696e678484b4b3056e616d6564b30477686174b4b30461746f6db306537472696e678484848484b306537461747573b4b3026f72b5b5b10468657265b4b3036c6974b304686572658484b5b10461776179b4b303726563b4b3036c6974b3046177617984b4b3057475706c65b5b4b3056e616d6564b30573696e6365b4b303726566b584b30954696d655374616d708484848484848484b30750726573656e74b4b303726563b4b3036c6974b30750726573656e7484b4b3057475706c65b5b4b3056e616d6564b308757365726e616d65b4b30461746f6db306537472696e678484848484b30954696d655374616d70b4b30461746f6db306537472696e6784b30a55736572537461747573b4b303726563b4b3036c6974b30653746174757384b4b3057475706c65b5b4b3056e616d6564b308757365726e616d65b4b30461746f6db306537472696e678484b4b3056e616d6564b306737461747573b4b303726566b584b306537461747573848484848484b30c656d62656464656454797065808484")); }; return __schema; }