kitchen/web/src/typings.rs

69 lines
2.0 KiB
Rust
Raw Normal View History

2022-01-23 14:28:01 -05:00
// Copyright 2022 Jeremy Wall
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
extern "C" {
// Use `js_namespace` here to bind `console.log(..)` instead of just
// `log(..)`
#[wasm_bindgen(js_namespace = console)]
pub fn log(s: &str);
2022-01-25 21:03:36 -05:00
#[wasm_bindgen(js_namespace = console)]
pub fn debug(s: &str);
#[wasm_bindgen(js_namespace = console)]
pub fn warn(s: &str);
#[wasm_bindgen(js_namespace = console)]
pub fn error(s: &str);
2022-01-23 14:28:01 -05:00
}
#[macro_export]
macro_rules! console_log {
// Note that this is using the `log` function imported above during
// `bare_bones`
($($t:tt)*) => {{
use crate::typings::log;
(log(&format_args!($($t)*).to_string()))
}}
}
2022-01-25 21:03:36 -05:00
#[macro_export]
macro_rules! console_debug {
// Note that this is using the `log` function imported above during
// `bare_bones`
($($t:tt)*) => {{
use crate::typings::debug;
(debug(&format_args!($($t)*).to_string()))
}}
}
#[macro_export]
macro_rules! console_error {
// Note that this is using the `log` function imported above during
// `bare_bones`
($($t:tt)*) => {{
use crate::typings::error;
(error(&format_args!($($t)*).to_string()))
}}
}
#[macro_export]
macro_rules! console_warn {
// Note that this is using the `log` function imported above during
// `bare_bones`
($($t:tt)*) => {{
use crate::typings::warn;
(warn(&format_args!($($t)*).to_string()))
}}
}