Wasm feature gate (#622)

* conditional wasm

* derive ts

* ts export

* incl wasm feature
main
Arif Driessen 2023-05-15 02:34:33 +02:00 committed by GitHub
parent 971fceb2a1
commit fbbca22783
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 124 additions and 74 deletions

View File

@ -17,19 +17,22 @@ keywords = [
name = "docx_rs" name = "docx_rs"
path = "src/lib.rs" path = "src/lib.rs"
[features]
wasm = ["wasm-bindgen", "ts-rs"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
xml-rs = "0.8.4" xml-rs = "0.8.4"
wasm-bindgen = "0.2.78"
thiserror = "1.0" thiserror = "1.0"
zip = { version = "0.6.3", default-features = false, features = ["deflate"] } zip = { version = "0.6.3", default-features = false, features = ["deflate"] }
serde = { version = "1.0", features = ["derive"] } serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0" serde_json = {version = "1.0" }
base64 = "0.13.1" base64 = "0.13.1"
image = { version = "0.24.4", default-features = false, features=["gif", "jpeg", "png", "bmp", "tiff"] } image = { version = "0.24.4", default-features = false, features=["gif", "jpeg", "png", "bmp", "tiff"] }
ts-rs = "6.1" wasm-bindgen = { version = "0.2.78", optional = true }
ts-rs = { version = "6.1", optional = true }
[dev-dependencies] [dev-dependencies]
pretty_assertions = "1.3.0" pretty_assertions = "1.3.0"
insta = "1.16" insta = "1.16"

View File

@ -4,8 +4,9 @@ use crate::documents::*;
use crate::types::*; use crate::types::*;
use crate::xml_builder::*; use crate::xml_builder::*;
#[derive(Serialize, Debug, Clone, PartialEq, ts_rs::TS)] #[derive(Serialize, Debug, Clone, PartialEq)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct FieldChar { pub struct FieldChar {
pub field_char_type: FieldCharType, pub field_char_type: FieldCharType,

View File

@ -1,15 +1,17 @@
use serde::Serialize; use serde::Serialize;
#[derive(Debug, Clone, PartialEq, Serialize, ts_rs::TS)] #[derive(Debug, Clone, PartialEq, Serialize)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct FontSchemeFont { pub struct FontSchemeFont {
pub script: String, pub script: String,
pub typeface: String, pub typeface: String,
} }
#[derive(Debug, Clone, PartialEq, Serialize, Default, ts_rs::TS)] #[derive(Debug, Clone, PartialEq, Serialize, Default)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct FontGroup { pub struct FontGroup {
pub latin: String, pub latin: String,
@ -18,8 +20,9 @@ pub struct FontGroup {
pub fonts: Vec<FontSchemeFont>, pub fonts: Vec<FontSchemeFont>,
} }
#[derive(Debug, Clone, PartialEq, Serialize, Default, ts_rs::TS)] #[derive(Debug, Clone, PartialEq, Serialize, Default)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct FontScheme { pub struct FontScheme {
pub major_font: FontGroup, pub major_font: FontGroup,

View File

@ -1,8 +1,9 @@
use serde::Serialize; use serde::Serialize;
// https://c-rex.net/projects/samples/ooxml/e1/Part4/OOXML_P4_DOCX_HYPERLINKHYPERLINK_topic_ID0EFYG1.html // https://c-rex.net/projects/samples/ooxml/e1/Part4/OOXML_P4_DOCX_HYPERLINKHYPERLINK_topic_ID0EFYG1.html
#[derive(Serialize, Debug, Clone, PartialEq, Default, ts_rs::TS)] #[derive(Serialize, Debug, Clone, PartialEq, Default)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct InstrHyperlink { pub struct InstrHyperlink {
pub target: String, pub target: String,

View File

@ -2,8 +2,9 @@ use serde::Serialize;
use crate::documents::*; use crate::documents::*;
#[derive(Serialize, Debug, Clone, PartialEq, Default, ts_rs::TS)] #[derive(Serialize, Debug, Clone, PartialEq, Default)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
pub struct StyleWithLevel(pub (String, usize)); pub struct StyleWithLevel(pub (String, usize));
impl StyleWithLevel { impl StyleWithLevel {
@ -12,8 +13,9 @@ impl StyleWithLevel {
} }
} }
// https://c-rex.net/projects/samples/ooxml/e1/Part4/OOXML_P4_DOCX_TOCTOC_topic_ID0ELZO1.html // https://c-rex.net/projects/samples/ooxml/e1/Part4/OOXML_P4_DOCX_TOCTOC_topic_ID0ELZO1.html
#[derive(Serialize, Debug, Clone, PartialEq, Default, ts_rs::TS)] #[derive(Serialize, Debug, Clone, PartialEq, Default)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct InstrToC { pub struct InstrToC {
// \o If no heading range is specified, all heading levels used in the document are listed. // \o If no heading range is specified, all heading levels used in the document are listed.

View File

@ -5,8 +5,9 @@ use crate::documents::*;
use crate::types::*; use crate::types::*;
use crate::xml_builder::*; use crate::xml_builder::*;
#[derive(Debug, Clone, Serialize, PartialEq, ts_rs::TS)] #[derive(Debug, Clone, Serialize, PartialEq)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct Pic { pub struct Pic {
pub id: String, pub id: String,

View File

@ -1,7 +1,8 @@
use serde::Serialize; use serde::Serialize;
#[derive(Serialize, Debug, Clone, PartialEq, Default, ts_rs::TS)] #[derive(Serialize, Debug, Clone, PartialEq, Default)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct Shape { pub struct Shape {
#[serde(skip_serializing_if = "Option::is_none")] #[serde(skip_serializing_if = "Option::is_none")]
@ -11,8 +12,9 @@ pub struct Shape {
} }
// Experimental, For now reader only. // Experimental, For now reader only.
#[derive(Serialize, Debug, Clone, PartialEq, Default, ts_rs::TS)] #[derive(Serialize, Debug, Clone, PartialEq, Default)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct ImageData { pub struct ImageData {
pub id: String, pub id: String,

View File

@ -1,12 +1,13 @@
use wasm_bindgen::prelude::*;
use serde::Serialize; use serde::Serialize;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*;
use super::*; use super::*;
use crate::documents::BuildXML; use crate::documents::BuildXML;
use crate::types::*; use crate::types::*;
use crate::xml_builder::*; use crate::xml_builder::*;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Serialize, Debug, Clone, PartialEq)] #[derive(Serialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct TableCellProperty { pub struct TableCellProperty {

View File

@ -1,4 +1,5 @@
use serde::Serialize; use serde::Serialize;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::*; use super::*;
@ -6,7 +7,7 @@ use crate::documents::BuildXML;
use crate::types::*; use crate::types::*;
use crate::xml_builder::*; use crate::xml_builder::*;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Debug, Clone, PartialEq, Serialize)] #[derive(Debug, Clone, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct TableProperty { pub struct TableProperty {

View File

@ -2,8 +2,9 @@ use serde::Serialize;
use super::*; use super::*;
#[derive(Debug, Clone, PartialEq, Serialize, Default, ts_rs::TS)] #[derive(Debug, Clone, PartialEq, Serialize, Default)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct Theme { pub struct Theme {
pub font_schema: FontScheme, pub font_schema: FontScheme,

View File

@ -1,10 +1,11 @@
use std::fmt; use std::fmt;
use std::str::FromStr; use std::str::FromStr;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug)] #[derive(Copy, Clone, Debug)]
pub enum AlignmentType { pub enum AlignmentType {
Both, Both,

View File

@ -1,7 +1,8 @@
use serde::Serialize; use serde::Serialize;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Debug, Clone, PartialEq, Serialize)] #[derive(Debug, Clone, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum TableBorderPosition { pub enum TableBorderPosition {
@ -13,7 +14,7 @@ pub enum TableBorderPosition {
InsideV, InsideV,
} }
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Debug, Clone, PartialEq, Serialize)] #[derive(Debug, Clone, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum TableCellBorderPosition { pub enum TableCellBorderPosition {

View File

@ -3,12 +3,13 @@
// //
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use std::fmt; use std::fmt;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
use std::str::FromStr; use std::str::FromStr;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] #[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum BorderType { pub enum BorderType {

View File

@ -6,11 +6,12 @@ use serde::{Deserialize, Serialize};
use std::fmt; use std::fmt;
use std::str::FromStr; use std::str::FromStr;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)] #[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)]
pub enum BreakType { pub enum BreakType {
Page, Page,

View File

@ -2,11 +2,12 @@ use serde::{Deserialize, Serialize};
use std::fmt; use std::fmt;
use std::str::FromStr; use std::str::FromStr;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)] #[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum DocGridType { pub enum DocGridType {

View File

@ -1,20 +1,23 @@
use serde::Serialize; use serde::Serialize;
use std::fmt; use std::fmt;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Debug, Clone, Copy, Serialize, PartialEq, ts_rs::TS)] #[derive(Debug, Clone, Copy, Serialize, PartialEq)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum DrawingPositionType { pub enum DrawingPositionType {
Anchor, Anchor,
Inline, Inline,
} }
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Debug, Clone, Copy, Serialize, PartialEq, ts_rs::TS)] #[derive(Debug, Clone, Copy, Serialize, PartialEq)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum PicAlign { pub enum PicAlign {
Left, Left,
@ -36,8 +39,9 @@ impl fmt::Display for PicAlign {
} }
} }
#[derive(Debug, Clone, Copy, Serialize, PartialEq, ts_rs::TS)] #[derive(Debug, Clone, Copy, Serialize, PartialEq)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum DrawingPosition { pub enum DrawingPosition {
Offset(i32), Offset(i32),

View File

@ -5,13 +5,15 @@ use serde::{Deserialize, Serialize};
// //
use std::fmt; use std::fmt;
use std::str::FromStr; use std::str::FromStr;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq, ts_rs::TS)] #[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum FieldCharType { pub enum FieldCharType {
Begin, Begin,

View File

@ -1,7 +1,8 @@
use std::fmt; use std::fmt;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug)] #[derive(Copy, Clone, Debug)]
pub enum FontPitchType { pub enum FontPitchType {
Default, Default,

View File

@ -1,4 +1,5 @@
use std::fmt; use std::fmt;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use serde::Serialize; use serde::Serialize;
@ -6,7 +7,7 @@ use serde::Serialize;
use super::errors; use super::errors;
use std::str::FromStr; use std::str::FromStr;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Debug, Clone, Copy, PartialEq, Serialize)] #[derive(Debug, Clone, Copy, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum HeightRule { pub enum HeightRule {

View File

@ -1,4 +1,5 @@
use std::fmt; use std::fmt;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use serde::Serialize; use serde::Serialize;
@ -6,10 +7,11 @@ use serde::Serialize;
use super::errors; use super::errors;
use std::str::FromStr; use std::str::FromStr;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Debug, Clone, PartialEq, Serialize, ts_rs::TS)] #[derive(Debug, Clone, PartialEq, Serialize)]
#[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
#[ts(export)] #[cfg_attr(feature = "wasm", ts(export))]
pub enum HyperlinkType { pub enum HyperlinkType {
Anchor, Anchor,
External, External,

View File

@ -1,4 +1,5 @@
use std::fmt; use std::fmt;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use serde::Serialize; use serde::Serialize;
@ -6,7 +7,7 @@ use serde::Serialize;
use super::errors; use super::errors;
use std::str::FromStr; use std::str::FromStr;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Debug, Clone, PartialEq, Serialize)] #[derive(Debug, Clone, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum LevelSuffixType { pub enum LevelSuffixType {

View File

@ -2,9 +2,10 @@ use crate::types::errors;
use crate::TypeError; use crate::TypeError;
use serde::*; use serde::*;
use std::str::FromStr; use std::str::FromStr;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] #[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum LineSpacingType { pub enum LineSpacingType {

View File

@ -2,11 +2,12 @@ use serde::{Deserialize, Serialize};
use std::fmt; use std::fmt;
use std::str::FromStr; use std::str::FromStr;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)] #[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum PageOrientationType { pub enum PageOrientationType {

View File

@ -1,4 +1,5 @@
use std::fmt; use std::fmt;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use serde::Serialize; use serde::Serialize;
@ -7,9 +8,10 @@ use super::errors;
use std::str::FromStr; use std::str::FromStr;
// @See: 20.4.3.4 ST_RelFromH (Horizontal Relative Positioning) // @See: 20.4.3.4 ST_RelFromH (Horizontal Relative Positioning)
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Debug, Clone, Copy, PartialEq, Serialize, ts_rs::TS)] #[derive(Debug, Clone, Copy, PartialEq, Serialize)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum RelativeFromHType { pub enum RelativeFromHType {
/// Specifies that the horizontal positioning shall be /// Specifies that the horizontal positioning shall be
@ -80,9 +82,10 @@ impl FromStr for RelativeFromHType {
} }
} }
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Debug, Clone, Copy, PartialEq, Serialize, ts_rs::TS)] #[derive(Debug, Clone, Copy, PartialEq, Serialize)]
#[ts(export)] #[cfg_attr(feature = "wasm", derive(ts_rs::TS))]
#[cfg_attr(feature = "wasm", ts(export))]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum RelativeFromVType { pub enum RelativeFromVType {
BottomMargin, BottomMargin,

View File

@ -11,11 +11,12 @@ use serde::{Deserialize, Serialize};
use std::fmt; use std::fmt;
use std::str::FromStr; use std::str::FromStr;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)] #[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum SectionType { pub enum SectionType {

View File

@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize};
use std::fmt; use std::fmt;
use std::str::FromStr; use std::str::FromStr;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
@ -46,7 +47,7 @@ use super::errors;
<xsd:enumeration value="pct90"/> <xsd:enumeration value="pct90"/>
<xsd:enumeration value="pct95"/> <xsd:enumeration value="pct95"/>
*/ */
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)] #[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum ShdType { pub enum ShdType {

View File

@ -1,3 +1,4 @@
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use serde::ser::{SerializeStruct, Serializer}; use serde::ser::{SerializeStruct, Serializer};
@ -11,7 +12,7 @@ pub enum SpecialIndentType {
Hanging(i32), Hanging(i32),
} }
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Serialize, Copy, Clone, Debug)] #[derive(Serialize, Copy, Clone, Debug)]
pub enum SpecialIndentKind { pub enum SpecialIndentKind {
FirstLine, FirstLine,

View File

@ -1,11 +1,12 @@
use std::fmt; use std::fmt;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
use serde::Serialize; use serde::Serialize;
use std::str::FromStr; use std::str::FromStr;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Debug, Clone, PartialEq, Serialize, Copy)] #[derive(Debug, Clone, PartialEq, Serialize, Copy)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum StyleType { pub enum StyleType {

View File

@ -2,11 +2,12 @@ use serde::{Deserialize, Serialize};
use std::fmt; use std::fmt;
use std::str::FromStr; use std::str::FromStr;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)] #[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum TabLeaderType { pub enum TabLeaderType {

View File

@ -2,11 +2,12 @@ use serde::{Deserialize, Serialize};
use std::fmt; use std::fmt;
use std::str::FromStr; use std::str::FromStr;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)] #[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum TabValueType { pub enum TabValueType {

View File

@ -1,10 +1,11 @@
use std::fmt; use std::fmt;
use std::str::FromStr; use std::str::FromStr;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug)] #[derive(Copy, Clone, Debug)]
pub enum TableAlignmentType { pub enum TableAlignmentType {
Center, Center,

View File

@ -1,11 +1,12 @@
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use std::fmt; use std::fmt;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
use std::str::FromStr; use std::str::FromStr;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)] #[derive(Copy, Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum TableLayoutType { pub enum TableLayoutType {

View File

@ -1,4 +1,5 @@
use std::fmt; use std::fmt;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use serde::Serialize; use serde::Serialize;
@ -8,7 +9,7 @@ use std::str::FromStr;
// ST_TextDirection defines `lr`, `lrV`, `rl`, `rlV`, `tb`, `tbV`. // ST_TextDirection defines `lr`, `lrV`, `rl`, `rlV`, `tb`, `tbV`.
// However Microsoft word use `tbRlV`, `tbRl`, `btLr`, `lrTbV`. // However Microsoft word use `tbRlV`, `tbRl`, `btLr`, `lrTbV`.
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Debug, Clone, Copy, PartialEq, Serialize)] #[derive(Debug, Clone, Copy, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum TextDirectionType { pub enum TextDirectionType {

View File

@ -1,10 +1,11 @@
use std::fmt; use std::fmt;
use std::str::FromStr; use std::str::FromStr;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, PartialEq)] #[derive(Copy, Clone, Debug, PartialEq)]
pub enum VertAlignType { pub enum VertAlignType {
Baseline, Baseline,

View File

@ -1,10 +1,11 @@
use std::fmt; use std::fmt;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
use std::str::FromStr; use std::str::FromStr;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, PartialEq)] #[derive(Copy, Clone, Debug, PartialEq)]
pub enum VAlignType { pub enum VAlignType {
Top, Top,

View File

@ -1,10 +1,11 @@
use std::fmt; use std::fmt;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
use std::str::FromStr; use std::str::FromStr;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, PartialEq)] #[derive(Copy, Clone, Debug, PartialEq)]
pub enum VMergeType { pub enum VMergeType {
Continue, Continue,

View File

@ -1,11 +1,12 @@
use serde::Serialize; use serde::Serialize;
use std::fmt; use std::fmt;
#[cfg(feature = "wasm")]
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use super::errors; use super::errors;
use std::str::FromStr; use std::str::FromStr;
#[wasm_bindgen] #[cfg_attr(feature = "wasm", wasm_bindgen)]
#[derive(Copy, Clone, Debug, PartialEq, Serialize)] #[derive(Copy, Clone, Debug, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub enum WidthType { pub enum WidthType {

View File

@ -12,4 +12,4 @@ crate-type = ["cdylib"]
[dependencies] [dependencies]
wasm-bindgen = "0.2.78" wasm-bindgen = "0.2.78"
console_error_panic_hook = "0.1.7" console_error_panic_hook = "0.1.7"
docx-rs= { path = "../docx-core" } docx-rs= { path = "../docx-core", features = ["wasm"] }