oparry_parser/
javascript.rs1use oparry_core::Result;
4
5pub struct JavaScriptParser;
7
8impl JavaScriptParser {
9 pub fn new() -> Self {
11 Self
12 }
13}
14
15impl Default for JavaScriptParser {
16 fn default() -> Self {
17 Self::new()
18 }
19}
20
21impl super::Parser for JavaScriptParser {
22 fn parse(&self, source: &str) -> Result<super::ParsedCode> {
23 Ok(super::ParsedCode::Generic(source.to_string()))
26 }
27}
28
29#[cfg(test)]
30mod tests {
31 use super::*;
32 use crate::{Parser as _, SimpleJavaScriptParser};
33
34 type TestParser = SimpleJavaScriptParser;
35
36 #[test]
37 fn test_parse_javascript() {
38 let parser = TestParser::new();
39 let source = r#"
40 function hello(name) {
41 return "Hello " + name;
42 }
43 "#;
44
45 let result = parser.parse(source);
46 assert!(result.is_ok());
47 }
48
49 #[test]
50 fn test_parse_react() {
51 let parser = TestParser::new();
52 let source = r#"
53 import React from 'react';
54
55 function Button({ children }) {
56 return <button>{children}</button>;
57 }
58 "#;
59
60 let result = parser.parse(source);
61 assert!(result.is_ok());
62 }
63}