WebAssembly support
This commit is contained in:
		
							parent
							
								
									280ccd77dd
								
							
						
					
					
						commit
						a16860f631
					
				
					 4 changed files with 12 additions and 3 deletions
				
			
		
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1,2 +1,3 @@
 | 
				
			||||||
 | 
					/pkg
 | 
				
			||||||
/target
 | 
					/target
 | 
				
			||||||
/Cargo.lock
 | 
					/Cargo.lock
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
[package]
 | 
					[package]
 | 
				
			||||||
name = "schmfy"
 | 
					name = "schmfy"
 | 
				
			||||||
version = "0.2.2"
 | 
					version = "0.3.0"
 | 
				
			||||||
edition = "2021"
 | 
					edition = "2021"
 | 
				
			||||||
license = "MIT OR Apache-2.0"
 | 
					license = "MIT OR Apache-2.0"
 | 
				
			||||||
description = "Schmfication library"
 | 
					description = "Schmfication library"
 | 
				
			||||||
| 
						 | 
					@ -8,4 +8,8 @@ readme = "README.md"
 | 
				
			||||||
repository = "https://git.flueren.eu/JonOfUs/Schmfy"
 | 
					repository = "https://git.flueren.eu/JonOfUs/Schmfy"
 | 
				
			||||||
documentation = "https://docs.rs/schmfy"
 | 
					documentation = "https://docs.rs/schmfy"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[lib]
 | 
				
			||||||
 | 
					crate-type = ["cdylib"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dependencies]
 | 
					[dependencies]
 | 
				
			||||||
 | 
					wasm-bindgen = "0.2"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,8 +13,10 @@ fn improve_text(text: &str) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The library can be compiled to WebAssembly. You will need wasm-pack (`cargo install wasm-pack`) and can then build the library with `wasm-pack build --target web`. This generates a `pkg` folder which can be used in web environments.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Capabilities
 | 
					## Capabilities
 | 
				
			||||||
The schmfication capabilities are able to preserve text case and any non-alphabetical characters.
 | 
					The schmfication capabilities are able to preserve text case and any non-alphabetical characters.
 | 
				
			||||||
If a non-alphabetical character is between two alphabetical strings, both of the alphabetical strings will be interpreted as completely separate words.
 | 
					If a non-alphabetical character is between two alphabetical strings, both of the alphabetical strings will be interpreted as completely separate words.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For example, the HTML code `<span>Entry<br></span>` will be converted into `<schman>Schmentry<schmer></schman>`.
 | 
					For example, the HTML code `<span>Entry<br></span>` will be converted into `<schman>Schmentry<schmer></schman>`.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
//! schmfy - a library to schmfy everything
 | 
					//! schmfy - a library to schmfy everything
 | 
				
			||||||
 | 
					use wasm_bindgen::prelude::*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[derive(PartialEq, Copy, Clone)]
 | 
					#[derive(PartialEq, Copy, Clone)]
 | 
				
			||||||
enum CaseType {
 | 
					enum CaseType {
 | 
				
			||||||
| 
						 | 
					@ -63,6 +64,7 @@ fn restore_case(txt: String, case: CaseType) -> String {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// Schmfies any str, preserving case and everything non-alphabetical
 | 
					/// Schmfies any str, preserving case and everything non-alphabetical
 | 
				
			||||||
 | 
					#[wasm_bindgen]
 | 
				
			||||||
pub fn schmfy(source: &str) -> String {
 | 
					pub fn schmfy(source: &str) -> String {
 | 
				
			||||||
    // instantly return if input is non-alphabetic single char
 | 
					    // instantly return if input is non-alphabetic single char
 | 
				
			||||||
    if source.len() == 1 && !source.chars().next().unwrap().is_alphabetic() {
 | 
					    if source.len() == 1 && !source.chars().next().unwrap().is_alphabetic() {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue