use lsp_types::{TextDocumentItem, Uri};
use serde::{Deserialize, Serialize};
use serde_wasm_bindgen;
use wasm_bindgen::prelude::*;
pub fn create_text_document(js_value: JsValue) -> TextDocumentItem {
let js_text_document: JSTextDocument = serde_wasm_bindgen::from_value(js_value).unwrap();
TextDocumentItem {
uri: js_text_document.uri,
language_id: js_text_document.language_id,
version: js_text_document.version,
text: js_text_document.content,
}
}
#[derive(Debug, Eq, PartialEq, Clone, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
struct JSTextDocument {
pub uri: Uri,
pub language_id: String,
pub version: i32,
#[serde(rename = "_content")]
pub content: String,
}