123456789101112131415161718192021222324252627282930 |
- pub mod ast;
- pub mod compiler;
- pub mod error;
- pub mod lexer;
- pub mod parser;
- pub mod token;
-
- use wasm_bindgen::prelude::*;
-
- #[wasm_bindgen]
- pub fn compile(input: &str) -> String {
- let tokens = match lexer::scan(&input) {
- Ok(tokens) => tokens,
- Err(e) => return e.message,
- };
- let select = match parser::parse(tokens) {
- Ok(select) => select,
- Err(e) => return e.message,
- };
- let query = match compiler::compile(select) {
- Ok(query) => query,
- Err(e) => return e.message,
- };
-
- format!(
- "GET /{}/_search\n{}",
- query.source.name,
- serde_json::to_string_pretty(&query.body).unwrap()
- )
- }
|