Add camelcase rule, import Error type from JS and rename get_inner_color to inner. (#44)

* Add camelcase rule to .eslintrc.js

* Import Error type from JS, rename crate::wrappers::Color::get_inner_color to crate::wrappers::Color::inner
This commit is contained in:
ProTheory8
2021-03-27 02:26:55 -07:00
committed by Keavon Chambers
parent 0156813dec
commit fe111a6684
6 changed files with 25 additions and 7 deletions
+1
View File
@@ -19,5 +19,6 @@ module.exports = {
"linebreak-style": ["error", "unix"], "linebreak-style": ["error", "unix"],
indent: ["error", "tab"], indent: ["error", "tab"],
quotes: ["error", "double"], quotes: ["error", "double"],
camelcase: ["error", { ignoreImports: true, ignoreDestructuring: true }]
}, },
}; };
+1
View File
@@ -1,3 +1,4 @@
mod shims;
pub mod utils; pub mod utils;
pub mod viewport; pub mod viewport;
pub mod window; pub mod window;
+10
View File
@@ -0,0 +1,10 @@
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
extern "C" {
#[derive(Clone, Debug)]
pub type Error;
#[wasm_bindgen(constructor)]
pub fn new(msg: &str) -> Error;
}
+5 -4
View File
@@ -1,3 +1,4 @@
use crate::shims::Error;
use crate::wrappers::{translate_tool, Color}; use crate::wrappers::{translate_tool, Color};
use graphite_editor_core::tools::ToolState; use graphite_editor_core::tools::ToolState;
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
@@ -8,10 +9,10 @@ pub static mut TOOL_STATE: ToolState = ToolState::default();
#[wasm_bindgen] #[wasm_bindgen]
pub fn select_tool(tool: String) -> Result<(), JsValue> { pub fn select_tool(tool: String) -> Result<(), JsValue> {
let tool_state = unsafe { &mut TOOL_STATE }; let tool_state = unsafe { &mut TOOL_STATE };
if let Some(tool) = translate_tool(tool.as_str()) { if let Some(tool) = translate_tool(&tool) {
Ok(tool_state.select_tool(tool)) Ok(tool_state.select_tool(tool))
} else { } else {
Err(JsValue::from(format!("Couldn't select {} because it was not recognized as a valid tool", tool))) Err(Error::new(&format!("Couldn't select {} because it was not recognized as a valid tool", tool)).into())
} }
} }
@@ -25,6 +26,6 @@ pub fn on_mouse_move(x: u32, y: u32) {
#[wasm_bindgen] #[wasm_bindgen]
pub fn update_colors(primary_color: Color, secondary_color: Color) { pub fn update_colors(primary_color: Color, secondary_color: Color) {
let tool_state = unsafe { &mut TOOL_STATE }; let tool_state = unsafe { &mut TOOL_STATE };
tool_state.set_primary_color(primary_color.get_inner_color()); tool_state.set_primary_color(primary_color.inner());
tool_state.set_secondary_color(secondary_color.get_inner_color()); tool_state.set_secondary_color(secondary_color.inner());
} }
+7 -3
View File
@@ -1,3 +1,4 @@
use crate::shims::Error;
use graphite_editor_core::tools::{SelectAppendMode, ToolType}; use graphite_editor_core::tools::{SelectAppendMode, ToolType};
use graphite_editor_core::Color as InnerColor; use graphite_editor_core::Color as InnerColor;
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
@@ -8,13 +9,16 @@ pub struct Color(InnerColor);
#[wasm_bindgen] #[wasm_bindgen]
impl Color { impl Color {
#[wasm_bindgen(constructor)] #[wasm_bindgen(constructor)]
pub fn new(red: f32, green: f32, blue: f32, alpha: f32) -> Self { pub fn new(red: f32, green: f32, blue: f32, alpha: f32) -> Result<Color, JsValue> {
Self(InnerColor::from_rgbaf32(red, green, blue, alpha).unwrap_throw()) match InnerColor::from_rgbaf32(red, green, blue, alpha) {
Ok(v) => Ok(Self(v)),
Err(e) => Err(Error::new(&e.to_string()).into()),
}
} }
} }
impl Color { impl Color {
pub fn get_inner_color(&self) -> InnerColor { pub fn inner(&self) -> InnerColor {
self.0 self.0
} }
} }
+1
View File
@@ -23,6 +23,7 @@ impl Color {
} }
Ok(color) Ok(color)
} }
const fn from_unsafe(red: f32, green: f32, blue: f32) -> Color { const fn from_unsafe(red: f32, green: f32, blue: f32) -> Color {
Color { red, green, blue, alpha: 1. } Color { red, green, blue, alpha: 1. }
} }