From cf52509dc3a18836858cdde20621c26aa6f5fe37 Mon Sep 17 00:00:00 2001 From: bokuweb Date: Fri, 9 Jul 2021 13:04:48 +0900 Subject: [PATCH] fix: (#314) * fix: * 0.0.202 --- docx-core/examples/web_ext.rs | 1 + docx-core/src/documents/webextension.rs | 16 ++++++++++++---- docx-wasm/js/index.ts | 1 + docx-wasm/js/webextension.ts | 10 +++++++++- docx-wasm/package.json | 2 +- docx-wasm/src/web_extension.rs | 9 ++++++++- docx-wasm/test/__snapshots__/index.test.js.snap | 2 +- docx-wasm/test/index.test.js | 1 + 8 files changed, 34 insertions(+), 8 deletions(-) diff --git a/docx-core/examples/web_ext.rs b/docx-core/examples/web_ext.rs index aac2c54..9f69bce 100644 --- a/docx-core/examples/web_ext.rs +++ b/docx-core/examples/web_ext.rs @@ -8,6 +8,7 @@ pub fn main() -> Result<(), DocxError> { .web_extension( WebExtension::new( "7f33b723-fb58-4524-8733-dbedc4b7c095", + "abc", "1.0.0.0", "developer", "Registry", diff --git a/docx-core/src/documents/webextension.rs b/docx-core/src/documents/webextension.rs index 19a3e28..8341ca0 100644 --- a/docx-core/src/documents/webextension.rs +++ b/docx-core/src/documents/webextension.rs @@ -25,18 +25,21 @@ pub struct WebExtension { pub version: String, pub store: String, pub store_type: String, + pub reference_id: String, pub properties: Vec, } impl WebExtension { pub fn new( id: impl Into, + reference_id: impl Into, version: impl Into, store: impl Into, store_type: impl Into, ) -> Self { Self { id: id.into(), + reference_id: reference_id.into(), version: version.into(), store: store.into(), store_type: store_type.into(), @@ -47,8 +50,7 @@ impl WebExtension { pub fn property(mut self, name: impl Into, value: impl Into) -> Self { let v = value.into(); let v = format!(""{}"", escape(&v).replace(""", "\\"")); - self.properties - .push(WebExtensionProperty::new(name, &v)); + self.properties.push(WebExtensionProperty::new(name, &v)); self } } @@ -62,7 +64,12 @@ impl BuildXML for WebExtension { "http://schemas.microsoft.com/office/webextensions/webextension/2010/11", &format!("{{{}}}", &self.id), ) - .webextension_reference(&self.id, &self.version, &self.store, &self.store_type) + .webextension_reference( + &self.reference_id, + &self.version, + &self.store, + &self.store_type, + ) .webextension_alternate_references() .open_webextension_properties(); @@ -92,6 +99,7 @@ mod tests { fn test_build() { let c = WebExtension::new( "7f33b723-fb58-4524-8733-dbedc4b7c095", + "abcd", "1.0.0.0", "developer", "Registry", @@ -102,7 +110,7 @@ mod tests { str::from_utf8(&b).unwrap(), r#" - + diff --git a/docx-wasm/js/index.ts b/docx-wasm/js/index.ts index 516593d..c833d35 100644 --- a/docx-wasm/js/index.ts +++ b/docx-wasm/js/index.ts @@ -877,6 +877,7 @@ export class Docx { for (const e of this.webextensions) { let ext = wasm.createWebExtension( e._id, + e._referenceId, e._version, e._store, e._storeType diff --git a/docx-wasm/js/webextension.ts b/docx-wasm/js/webextension.ts index 563d19b..ac63f3f 100644 --- a/docx-wasm/js/webextension.ts +++ b/docx-wasm/js/webextension.ts @@ -1,5 +1,6 @@ export class WebExtension { _id: string; + _referenceId: string; _version: string; _store: string; _storeType: string; @@ -7,8 +8,15 @@ export class WebExtension { [k: string]: string; } = {}; - constructor(id: string, version: string, store: string, storeType: string) { + constructor( + id: string, + referenceId: string, + version: string, + store: string, + storeType: string + ) { this._id = id; + this._referenceId = referenceId; this._version = version; this._store = store; this._storeType = storeType; diff --git a/docx-wasm/package.json b/docx-wasm/package.json index 449feef..2e9572e 100644 --- a/docx-wasm/package.json +++ b/docx-wasm/package.json @@ -1,6 +1,6 @@ { "name": "docx-wasm", - "version": "0.0.201", + "version": "0.0.202", "main": "dist/node/index.js", "browser": "dist/web/index.js", "author": "bokuweb ", diff --git a/docx-wasm/src/web_extension.rs b/docx-wasm/src/web_extension.rs index d0382fd..a46ee15 100644 --- a/docx-wasm/src/web_extension.rs +++ b/docx-wasm/src/web_extension.rs @@ -7,11 +7,18 @@ pub struct WebExtension(docx_rs::WebExtension); #[wasm_bindgen(js_name = createWebExtension)] pub fn create_web_extension( id: &str, + reference_id: &str, version: &str, store: &str, store_type: &str, ) -> WebExtension { - WebExtension(docx_rs::WebExtension::new(id, version, store, store_type)) + WebExtension(docx_rs::WebExtension::new( + id, + reference_id, + version, + store, + store_type, + )) } impl WebExtension { diff --git a/docx-wasm/test/__snapshots__/index.test.js.snap b/docx-wasm/test/__snapshots__/index.test.js.snap index a7cd457..83c9ae5 100644 --- a/docx-wasm/test/__snapshots__/index.test.js.snap +++ b/docx-wasm/test/__snapshots__/index.test.js.snap @@ -17209,7 +17209,7 @@ exports[`writer should write webextension 6`] = ` exports[`writer should write webextension 7`] = ` " - + diff --git a/docx-wasm/test/index.test.js b/docx-wasm/test/index.test.js index 6e28d04..a9774e2 100644 --- a/docx-wasm/test/index.test.js +++ b/docx-wasm/test/index.test.js @@ -303,6 +303,7 @@ describe("writer", () => { .webextension( new w.WebExtension( "7f33b723-fb58-4524-8733-dbedc4b7c095", + "abcd", "1.0.0.0", "developer", "Registry"