Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
JsxToJs.cs
1using System.IO;
2using System.Threading.Tasks;
3using Waher.Content;
8using Waher.Script;
9
11{
16 {
20 public JsxToJs()
21 {
22 }
23
27 public string[] FromContentTypes => new string[] { JsxDecoder.DefaultContentType };
28
32 public string[] ToContentTypes => new string[] { JavaScriptCodec.DefaultContentType };
33
37 public Grade ConversionGrade => Grade.Perfect;
38
44 public async Task<bool> ConvertAsync(ConversionState State)
45 {
46 string Jsx;
47
48 using (StreamReader rd = new StreamReader(State.From))
49 {
50 Jsx = await rd.ReadToEndAsync();
51 }
52
53 string Javascript = await Convert(Jsx, State, State.FromFileName);
54 if (State.HasError)
55 return false;
56
57 byte[] Data = Strings.Utf8WithBom.GetBytes(Javascript);
58 await State.To.WriteAsync(Data, 0, Data.Length);
59 State.ToContentType += "; charset=utf-8";
60
61 return false;
62 }
63
71 public static Task<string> Convert(string Jsx, ConversionState State, string FileName)
72 {
73 return Convert(Jsx, State, State.Session, FileName, true);
74 }
75
83 public static Task<string> Convert(string Jsx, Variables Session, string FileName)
84 {
85 return Convert(Jsx, null, Session, FileName, true);
86 }
87
98 internal static Task<string> Convert(string Jsx, ConversionState State, Variables Session, string FileName, bool LockSession)
99 {
100 return CssxToCss.Convert(Jsx, "{{", "}}", State, Session, FileName, LockSession);
101 }
102
103 }
104}
Contains the state of a content conversion process.
Variables Session
Session states.
bool HasError
If an error should be returned.
Stream To
Stream pointing to where binary representation of content is to be sent.
string FromFileName
If the content is coming from a file, this parameter contains the name of that file....
Stream From
Stream pointing to binary representation of content.
Converts CSSX-files to CSS, by evaluating emebedded script and replacing it with results.
Definition: CssxToCss.cs:21
static Task< string > Convert(string Cssx, ConversionState State, string FileName)
Converts CSSX to CSS, using the current theme
Definition: CssxToCss.cs:76
Converts JavascriptX-files to HTML, by evaluating emebedded script and replacing it with results.
Definition: JsxToJs.cs:16
string[] FromContentTypes
Converts content from these content types.
Definition: JsxToJs.cs:27
Grade ConversionGrade
How well the content is converted.
Definition: JsxToJs.cs:37
JsxToJs()
Converts JavascriptX-files to HTML, by evaluating emebedded script and replacing it with results.
Definition: JsxToJs.cs:20
static Task< string > Convert(string Jsx, Variables Session, string FileName)
Converts JavascriptX to HTML, using the current theme
Definition: JsxToJs.cs:83
string[] ToContentTypes
Converts content to these content types.
Definition: JsxToJs.cs:32
static Task< string > Convert(string Jsx, ConversionState State, string FileName)
Converts JavascriptX to HTML, using the current theme
Definition: JsxToJs.cs:71
async Task< bool > ConvertAsync(ConversionState State)
Performs the actual conversion.
Definition: JsxToJs.cs:44
Static class managing binary representations of strings.
Definition: Strings.cs:10
static Encoding Utf8WithBom
UTF-8 encoding with Byte Order Mark (BOM)
Definition: Strings.cs:231
Collection of variables.
Definition: Variables.cs:25
Basic interface for Internet Content encoders. A class implementing this interface and having a defau...
Grade
Grade enumeration
Definition: Grade.cs:7