You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: mod.rs
    path of file: ./repos/OctoBase/libs/jwst-core/src/block
    
    the code of the file until where you have to start completion: mod convert;

use std::fmt;

use jwst_codec::{Any, Array, Doc, Map, Text, Value};
use serde::{Serialize, Serializer};

use super::{constants::sys, *};

#[derive(Clone)]
pub struct Block {
    id: String,
    space_id: String,
    block_id: 
    
    pub fn get(&self, key: &str) -> Option<Any> {
        let key = format!("prop:{key}");
        self.block.get(&key).and_then(|v| {
            match v {
                Value::Any(any) => match any {
                    Any::Integer(_)
                    | Any::Float32(_)
                    | Any::Float64(_)
                    | Any::BigInt64(_)
                    | Any::True
                    | Any::False
                    | Any::String(_) => return Some(any),
                    _ => {}
                },
                Value::Text(v) => return Some(Any::String(v.to_string())),
                _ => {}
            }
            error!("get wrong value at key {}", key);
            None
        })
    }