xberg 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/xberg_rb/native/Cargo.lock +17 -17
- data/ext/xberg_rb/native/Cargo.toml +18 -6
- data/ext/xberg_rb/src/lib.rs +210 -2
- data/lib/xberg/version.rb +2 -2
- data/sig/types.rbs +15 -3
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7dc92c33387f8c104dc35442acb6b524e50ec1d505778458efbf5d000b96d6fe
|
|
4
|
+
data.tar.gz: 71f22c054071c092d6ac931726185e3045e6dd1cc2a210b5da52c3fcd4a4156e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: aa897709688e7f2f5d1cc515549daa00c4a7ae4c90e74d0f29a775888349a9266ccdf64d36cacadb3192881465fc55cbdf576531203bddef42722a314c3d6a7b
|
|
7
|
+
data.tar.gz: ba9b07d78f372cfbec36377e699e2cd79f512551e9a2d313bd31d639d4caff5cf80c31d4c5c6a59a10cdb6e92d924d673cdcbb6579e5e4bcbd5b186c7fd33ae7
|
|
@@ -9259,9 +9259,9 @@ dependencies = [
|
|
|
9259
9259
|
|
|
9260
9260
|
[[package]]
|
|
9261
9261
|
name = "xberg"
|
|
9262
|
-
version = "1.1.
|
|
9262
|
+
version = "1.1.3"
|
|
9263
9263
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9264
|
-
checksum = "
|
|
9264
|
+
checksum = "b5ceb984af8471cb7d367eba18d687f2fe86f9dc2afa54214bc099b0e3aaa392"
|
|
9265
9265
|
dependencies = [
|
|
9266
9266
|
"aes-gcm",
|
|
9267
9267
|
"ahash",
|
|
@@ -9396,9 +9396,9 @@ dependencies = [
|
|
|
9396
9396
|
|
|
9397
9397
|
[[package]]
|
|
9398
9398
|
name = "xberg-candle-ocr"
|
|
9399
|
-
version = "1.1.
|
|
9399
|
+
version = "1.1.3"
|
|
9400
9400
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9401
|
-
checksum = "
|
|
9401
|
+
checksum = "ff0dd685c5fb93f4bd22f6867409410e5652ddc657cef59b8e64152a3c4e1d36"
|
|
9402
9402
|
dependencies = [
|
|
9403
9403
|
"base64 0.23.1",
|
|
9404
9404
|
"candle-core",
|
|
@@ -9418,9 +9418,9 @@ dependencies = [
|
|
|
9418
9418
|
|
|
9419
9419
|
[[package]]
|
|
9420
9420
|
name = "xberg-gliner"
|
|
9421
|
-
version = "1.1.
|
|
9421
|
+
version = "1.1.3"
|
|
9422
9422
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9423
|
-
checksum = "
|
|
9423
|
+
checksum = "cce382640b642185dab50b6d7029183cf12f8500c66887e8ccb76150d68a2fb2"
|
|
9424
9424
|
dependencies = [
|
|
9425
9425
|
"getrandom 0.2.17",
|
|
9426
9426
|
"getrandom 0.3.4",
|
|
@@ -9434,9 +9434,9 @@ dependencies = [
|
|
|
9434
9434
|
|
|
9435
9435
|
[[package]]
|
|
9436
9436
|
name = "xberg-libheif"
|
|
9437
|
-
version = "1.1.
|
|
9437
|
+
version = "1.1.3"
|
|
9438
9438
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9439
|
-
checksum = "
|
|
9439
|
+
checksum = "eb7aa698d6ea5f9ef36a0e7f32653b8d57c21e738beb964ba3646c1a4f8150bb"
|
|
9440
9440
|
dependencies = [
|
|
9441
9441
|
"cfg-if 1.0.4",
|
|
9442
9442
|
"enumn",
|
|
@@ -9447,9 +9447,9 @@ dependencies = [
|
|
|
9447
9447
|
|
|
9448
9448
|
[[package]]
|
|
9449
9449
|
name = "xberg-libwpd"
|
|
9450
|
-
version = "1.1.
|
|
9450
|
+
version = "1.1.3"
|
|
9451
9451
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9452
|
-
checksum = "
|
|
9452
|
+
checksum = "1f01a67c7b74aa18d5850f50d2869888873a493741f188c66ed93b97ca91ebce"
|
|
9453
9453
|
dependencies = [
|
|
9454
9454
|
"cc",
|
|
9455
9455
|
"flate2",
|
|
@@ -9462,9 +9462,9 @@ dependencies = [
|
|
|
9462
9462
|
|
|
9463
9463
|
[[package]]
|
|
9464
9464
|
name = "xberg-native-pdf"
|
|
9465
|
-
version = "1.1.
|
|
9465
|
+
version = "1.1.3"
|
|
9466
9466
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9467
|
-
checksum = "
|
|
9467
|
+
checksum = "3d2beb4d548a67f0c110a081ebdf9b61e58d4e82e02cdf53bea5a7e8cfcf3c64"
|
|
9468
9468
|
dependencies = [
|
|
9469
9469
|
"aes 0.9.3",
|
|
9470
9470
|
"base64 0.23.1",
|
|
@@ -9509,9 +9509,9 @@ dependencies = [
|
|
|
9509
9509
|
|
|
9510
9510
|
[[package]]
|
|
9511
9511
|
name = "xberg-paddle-ocr"
|
|
9512
|
-
version = "1.1.
|
|
9512
|
+
version = "1.1.3"
|
|
9513
9513
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9514
|
-
checksum = "
|
|
9514
|
+
checksum = "1cc1aaf00d7895a9d613c0f1e176faaccefc43d4ef9c0c3e5886df9381d3f771"
|
|
9515
9515
|
dependencies = [
|
|
9516
9516
|
"geo-clipper",
|
|
9517
9517
|
"geo-types",
|
|
@@ -9526,7 +9526,7 @@ dependencies = [
|
|
|
9526
9526
|
|
|
9527
9527
|
[[package]]
|
|
9528
9528
|
name = "xberg-rb"
|
|
9529
|
-
version = "1.1.
|
|
9529
|
+
version = "1.1.3"
|
|
9530
9530
|
dependencies = [
|
|
9531
9531
|
"async-trait",
|
|
9532
9532
|
"crawlberg",
|
|
@@ -9542,9 +9542,9 @@ dependencies = [
|
|
|
9542
9542
|
|
|
9543
9543
|
[[package]]
|
|
9544
9544
|
name = "xberg-tesseract"
|
|
9545
|
-
version = "1.1.
|
|
9545
|
+
version = "1.1.3"
|
|
9546
9546
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9547
|
-
checksum = "
|
|
9547
|
+
checksum = "c259d98976ae7e5f06867e595bc41a3cda5335e9ea63cbae8d9028c94181fd7e"
|
|
9548
9548
|
dependencies = [
|
|
9549
9549
|
"cc",
|
|
9550
9550
|
"cmake",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# This file is auto-generated by alef — DO NOT EDIT.
|
|
2
|
-
# alef:hash:
|
|
2
|
+
# alef:hash:6d69d48379ade66e534af835b520570ab6397625974dfe2112b3d5d87f3da54a
|
|
3
3
|
# To regenerate: alef generate
|
|
4
4
|
# To verify freshness: alef verify
|
|
5
5
|
|
|
6
6
|
[package]
|
|
7
7
|
name = "xberg-rb"
|
|
8
|
-
version = "1.1.
|
|
8
|
+
version = "1.1.3"
|
|
9
9
|
edition = "2024"
|
|
10
10
|
license = "MIT"
|
|
11
11
|
description = "High-performance document intelligence library"
|
|
@@ -22,15 +22,19 @@ path = "../src/lib.rs"
|
|
|
22
22
|
crate-type = ["cdylib"]
|
|
23
23
|
|
|
24
24
|
[features]
|
|
25
|
-
default = ["api", "api-types", "auto-rotate-types", "candle-ocr", "chunking-tokenizers", "classification", "diff", "embedding-presets", "heuristics", "html", "keywords-rake", "keywords-yake", "late-interaction", "late-interaction-presets", "layout-types", "markdown-footnotes", "ocr", "ocr-wasm", "office", "paddle-ocr-types", "pdf", "presets", "quality", "redaction", "reranker", "reranker-presets", "sparse-embedding-presets", "svg", "transcription-types", "tree-sitter", "url-config-types", "url-ingestion", "xml"]
|
|
25
|
+
default = ["api", "api-types", "auto-rotate-types", "candle-ocr", "captioning", "chunking", "chunking-tokenizers", "classification", "diff", "embedding-presets", "embeddings", "formula-recognition", "heuristics", "html", "keywords-rake", "keywords-yake", "late-interaction", "late-interaction-presets", "layout-types", "liter-llm", "markdown-footnotes", "mcp", "mcp-http", "ner-onnx", "ocr", "ocr-wasm", "office", "paddle-ocr-types", "pdf", "presets", "quality", "redaction", "redaction-rehydrate", "reranker", "reranker-presets", "sparse-embedding-presets", "sparse-embeddings", "svg", "tokio-runtime", "transcription", "transcription-types", "tree-sitter", "url-config-types", "url-ingestion", "xml"]
|
|
26
26
|
api = ["xberg/api"]
|
|
27
27
|
api-types = ["xberg/api-types"]
|
|
28
28
|
auto-rotate-types = ["xberg/auto-rotate-types"]
|
|
29
29
|
candle-ocr = ["xberg/candle-ocr"]
|
|
30
|
+
captioning = ["xberg/captioning"]
|
|
31
|
+
chunking = ["xberg/chunking"]
|
|
30
32
|
chunking-tokenizers = ["xberg/chunking-tokenizers"]
|
|
31
33
|
classification = ["xberg/classification"]
|
|
32
34
|
diff = ["xberg/diff"]
|
|
33
35
|
embedding-presets = ["xberg/embedding-presets"]
|
|
36
|
+
embeddings = ["xberg/embeddings"]
|
|
37
|
+
formula-recognition = ["xberg/formula-recognition"]
|
|
34
38
|
heic = ["xberg/heic"]
|
|
35
39
|
heuristics = ["xberg/heuristics"]
|
|
36
40
|
html = ["xberg/html"]
|
|
@@ -39,7 +43,11 @@ keywords-yake = ["xberg/keywords-yake"]
|
|
|
39
43
|
late-interaction = ["xberg/late-interaction"]
|
|
40
44
|
late-interaction-presets = ["xberg/late-interaction-presets"]
|
|
41
45
|
layout-types = ["xberg/layout-types"]
|
|
46
|
+
liter-llm = ["xberg/liter-llm"]
|
|
42
47
|
markdown-footnotes = ["xberg/markdown-footnotes"]
|
|
48
|
+
mcp = ["xberg/mcp"]
|
|
49
|
+
mcp-http = ["xberg/mcp-http"]
|
|
50
|
+
ner-onnx = ["xberg/ner-onnx"]
|
|
43
51
|
ocr = ["xberg/ocr"]
|
|
44
52
|
ocr-wasm = ["xberg/ocr-wasm"]
|
|
45
53
|
office = ["xberg/office"]
|
|
@@ -48,10 +56,14 @@ pdf = ["xberg/pdf"]
|
|
|
48
56
|
presets = ["xberg/presets"]
|
|
49
57
|
quality = ["xberg/quality"]
|
|
50
58
|
redaction = ["xberg/redaction"]
|
|
59
|
+
redaction-rehydrate = ["xberg/redaction-rehydrate"]
|
|
51
60
|
reranker = ["xberg/reranker"]
|
|
52
61
|
reranker-presets = ["xberg/reranker-presets"]
|
|
53
62
|
sparse-embedding-presets = ["xberg/sparse-embedding-presets"]
|
|
63
|
+
sparse-embeddings = ["xberg/sparse-embeddings"]
|
|
54
64
|
svg = ["xberg/svg"]
|
|
65
|
+
tokio-runtime = ["xberg/tokio-runtime"]
|
|
66
|
+
transcription = ["xberg/transcription"]
|
|
55
67
|
transcription-types = ["xberg/transcription-types"]
|
|
56
68
|
tree-sitter = ["xberg/tree-sitter"]
|
|
57
69
|
url-config-types = ["xberg/url-config-types"]
|
|
@@ -70,13 +82,13 @@ tokio = { version = "1", features = ["rt-multi-thread"] }
|
|
|
70
82
|
tracing = "0.1"
|
|
71
83
|
|
|
72
84
|
[target.'cfg(all(target_os = "macos", target_arch = "x86_64"))'.dependencies]
|
|
73
|
-
xberg = { version = "1.1.
|
|
85
|
+
xberg = { version = "1.1.3", default-features = false, features = ["macos-intel-target", "simd-utf8"] }
|
|
74
86
|
|
|
75
87
|
[target.'cfg(not(any(target_os = "windows", all(target_os = "macos", target_arch = "x86_64"))))'.dependencies]
|
|
76
|
-
xberg = { version = "1.1.
|
|
88
|
+
xberg = { version = "1.1.3", features = ["full", "pdf", "ocr", "paddle-ocr", "paddle-ocr-types", "layout-detection", "layout-types", "embeddings", "embedding-presets", "reranker", "reranker-presets", "sparse-embeddings", "sparse-embedding-presets", "late-interaction", "late-interaction-presets", "chunking", "keywords-yake", "keywords-rake", "language-detection", "html", "tree-sitter", "office", "email", "archives", "stopwords", "auto-rotate", "auto-rotate-types", "tokio-runtime", "api", "api-types", "mcp", "liter-llm", "quality", "svg", "transcription", "transcription-types", "classification", "captioning", "ner-onnx", "ner-llm", "diff", "markdown-footnotes", "redaction", "enrichment", "heuristics", "presets", "structured", "url-ingestion"] }
|
|
77
89
|
|
|
78
90
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
79
|
-
xberg = { version = "1.1.
|
|
91
|
+
xberg = { version = "1.1.3", default-features = false, features = ["windows-gnu-target", "simd-utf8"] }
|
|
80
92
|
|
|
81
93
|
# This crate deliberately does not use `[lints]` / `workspace = true`: its C-ABI /
|
|
82
94
|
# PyO3 / napi / ext-php-rs / NIF boundary requires `unsafe` code, and the workspace's
|
data/ext/xberg_rb/src/lib.rs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// This file is auto-generated by alef. DO NOT EDIT.
|
|
2
|
-
// alef:hash:
|
|
2
|
+
// alef:hash:2708601d3a9f5bb14721ff6d8e7d75689d9ac6f2bb7902b241a407e9a9951ff6
|
|
3
3
|
// Re-generate with: alef generate
|
|
4
4
|
#![allow(dead_code, unused_imports, unused_variables)]
|
|
5
5
|
#![allow(
|
|
@@ -14755,6 +14755,8 @@ pub struct GridCell {
|
|
|
14755
14755
|
col_span: u32,
|
|
14756
14756
|
is_header: bool,
|
|
14757
14757
|
bbox: Option<BoundingBox>,
|
|
14758
|
+
heading_level: Option<u8>,
|
|
14759
|
+
style_name: Option<String>,
|
|
14758
14760
|
}
|
|
14759
14761
|
|
|
14760
14762
|
unsafe impl IntoValueFromNative for GridCell {}
|
|
@@ -14803,6 +14805,8 @@ impl Default for GridCell {
|
|
|
14803
14805
|
col_span: 1,
|
|
14804
14806
|
is_header: false,
|
|
14805
14807
|
bbox: None,
|
|
14808
|
+
heading_level: None,
|
|
14809
|
+
style_name: None,
|
|
14806
14810
|
}
|
|
14807
14811
|
}
|
|
14808
14812
|
}
|
|
@@ -14877,6 +14881,24 @@ impl GridCell {
|
|
|
14877
14881
|
})?),
|
|
14878
14882
|
None => None,
|
|
14879
14883
|
},
|
|
14884
|
+
heading_level: match kwargs.get(ruby.to_symbol("heading_level")) {
|
|
14885
|
+
Some(v) => Some(u8::try_convert(v).map_err(|e| {
|
|
14886
|
+
magnus::Error::new(
|
|
14887
|
+
unsafe { magnus::Ruby::get_unchecked() }.exception_type_error(),
|
|
14888
|
+
format!("invalid value for `heading_level`: {}", e),
|
|
14889
|
+
)
|
|
14890
|
+
})?),
|
|
14891
|
+
None => None,
|
|
14892
|
+
},
|
|
14893
|
+
style_name: match kwargs.get(ruby.to_symbol("style_name")) {
|
|
14894
|
+
Some(v) => Some(String::try_convert(v).map_err(|e| {
|
|
14895
|
+
magnus::Error::new(
|
|
14896
|
+
unsafe { magnus::Ruby::get_unchecked() }.exception_type_error(),
|
|
14897
|
+
format!("invalid value for `style_name`: {}", e),
|
|
14898
|
+
)
|
|
14899
|
+
})?),
|
|
14900
|
+
None => None,
|
|
14901
|
+
},
|
|
14880
14902
|
})
|
|
14881
14903
|
}
|
|
14882
14904
|
|
|
@@ -14908,6 +14930,14 @@ impl GridCell {
|
|
|
14908
14930
|
self.bbox.clone()
|
|
14909
14931
|
}
|
|
14910
14932
|
|
|
14933
|
+
fn heading_level(&self) -> Option<u8> {
|
|
14934
|
+
self.heading_level
|
|
14935
|
+
}
|
|
14936
|
+
|
|
14937
|
+
fn style_name(&self) -> Option<String> {
|
|
14938
|
+
self.style_name.clone()
|
|
14939
|
+
}
|
|
14940
|
+
|
|
14911
14941
|
#[allow(clippy::should_implement_trait)]
|
|
14912
14942
|
fn to_s(&self) -> String {
|
|
14913
14943
|
self.content.clone()
|
|
@@ -31696,6 +31726,7 @@ pub struct Table {
|
|
|
31696
31726
|
page_number: u32,
|
|
31697
31727
|
bounding_box: Option<BoundingBox>,
|
|
31698
31728
|
table_id: Option<String>,
|
|
31729
|
+
cell_styles: Vec<TableCellStyle>,
|
|
31699
31730
|
columns: Option<Vec<String>>,
|
|
31700
31731
|
}
|
|
31701
31732
|
|
|
@@ -31793,6 +31824,15 @@ impl Table {
|
|
|
31793
31824
|
})?),
|
|
31794
31825
|
None => None,
|
|
31795
31826
|
},
|
|
31827
|
+
cell_styles: match kwargs.get(ruby.to_symbol("cell_styles")) {
|
|
31828
|
+
Some(v) => <Vec<TableCellStyle>>::try_convert(v).map_err(|e| {
|
|
31829
|
+
magnus::Error::new(
|
|
31830
|
+
unsafe { magnus::Ruby::get_unchecked() }.exception_type_error(),
|
|
31831
|
+
format!("invalid value for `cell_styles`: {}", e),
|
|
31832
|
+
)
|
|
31833
|
+
})?,
|
|
31834
|
+
None => Default::default(),
|
|
31835
|
+
},
|
|
31796
31836
|
columns: match kwargs.get(ruby.to_symbol("columns")) {
|
|
31797
31837
|
Some(v) => Some(<Vec<String>>::try_convert(v).map_err(|e| {
|
|
31798
31838
|
magnus::Error::new(
|
|
@@ -31825,6 +31865,10 @@ impl Table {
|
|
|
31825
31865
|
self.table_id.clone()
|
|
31826
31866
|
}
|
|
31827
31867
|
|
|
31868
|
+
fn cell_styles(&self) -> Vec<TableCellStyle> {
|
|
31869
|
+
self.cell_styles.clone()
|
|
31870
|
+
}
|
|
31871
|
+
|
|
31828
31872
|
fn columns(&self) -> Option<Vec<String>> {
|
|
31829
31873
|
self.columns.clone()
|
|
31830
31874
|
}
|
|
@@ -31950,6 +31994,121 @@ impl TableCell {
|
|
|
31950
31994
|
}
|
|
31951
31995
|
}
|
|
31952
31996
|
|
|
31997
|
+
#[derive(Clone, Debug, serde::Serialize)]
|
|
31998
|
+
#[serde(default)]
|
|
31999
|
+
#[magnus::wrap(class = "Xberg::TableCellStyle")]
|
|
32000
|
+
pub struct TableCellStyle {
|
|
32001
|
+
row: u32,
|
|
32002
|
+
col: u32,
|
|
32003
|
+
heading_level: Option<u8>,
|
|
32004
|
+
style_name: Option<String>,
|
|
32005
|
+
}
|
|
32006
|
+
|
|
32007
|
+
unsafe impl IntoValueFromNative for TableCellStyle {}
|
|
32008
|
+
|
|
32009
|
+
impl magnus::TryConvert for TableCellStyle {
|
|
32010
|
+
fn try_convert(val: magnus::Value) -> Result<Self, magnus::Error> {
|
|
32011
|
+
if let Ok(r) = <&TableCellStyle as magnus::TryConvert>::try_convert(val) {
|
|
32012
|
+
return Ok(r.clone());
|
|
32013
|
+
}
|
|
32014
|
+
let json_str: String = if let Ok(s) = <String as magnus::TryConvert>::try_convert(val) {
|
|
32015
|
+
s
|
|
32016
|
+
} else {
|
|
32017
|
+
val.funcall::<_, _, String>("to_json", ()).map_err(|e| {
|
|
32018
|
+
magnus::Error::new(
|
|
32019
|
+
unsafe { magnus::Ruby::get_unchecked() }.exception_type_error(),
|
|
32020
|
+
format!("no implicit conversion into TableCellStyle: {}", e),
|
|
32021
|
+
)
|
|
32022
|
+
})?
|
|
32023
|
+
};
|
|
32024
|
+
serde_json::from_str::<TableCellStyle>(&json_str).map_err(|e| {
|
|
32025
|
+
magnus::Error::new(
|
|
32026
|
+
unsafe { magnus::Ruby::get_unchecked() }.exception_type_error(),
|
|
32027
|
+
format!("failed to deserialize TableCellStyle: {}", e),
|
|
32028
|
+
)
|
|
32029
|
+
})
|
|
32030
|
+
}
|
|
32031
|
+
}
|
|
32032
|
+
|
|
32033
|
+
unsafe impl TryConvertOwned for TableCellStyle {}
|
|
32034
|
+
impl<'de> serde::Deserialize<'de> for TableCellStyle {
|
|
32035
|
+
fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
|
|
32036
|
+
where
|
|
32037
|
+
D: serde::Deserializer<'de>,
|
|
32038
|
+
{
|
|
32039
|
+
<xberg::TableCellStyle as serde::Deserialize>::deserialize(deserializer).map(Into::into)
|
|
32040
|
+
}
|
|
32041
|
+
}
|
|
32042
|
+
|
|
32043
|
+
impl Default for TableCellStyle {
|
|
32044
|
+
fn default() -> Self {
|
|
32045
|
+
xberg::TableCellStyle::default().into()
|
|
32046
|
+
}
|
|
32047
|
+
}
|
|
32048
|
+
|
|
32049
|
+
impl TableCellStyle {
|
|
32050
|
+
fn new(args: &[magnus::Value]) -> Result<Self, magnus::Error> {
|
|
32051
|
+
let ruby = unsafe { magnus::Ruby::get_unchecked() };
|
|
32052
|
+
let args = magnus::scan_args::scan_args::<(), (Option<magnus::RHash>,), (), (), (), ()>(args)?;
|
|
32053
|
+
let (kwargs_opt,) = args.optional;
|
|
32054
|
+
let kwargs = kwargs_opt.unwrap_or_else(|| ruby.hash_new());
|
|
32055
|
+
Ok(Self {
|
|
32056
|
+
row: match kwargs.get(ruby.to_symbol("row")) {
|
|
32057
|
+
Some(v) => u32::try_convert(v).map_err(|e| {
|
|
32058
|
+
magnus::Error::new(
|
|
32059
|
+
unsafe { magnus::Ruby::get_unchecked() }.exception_type_error(),
|
|
32060
|
+
format!("invalid value for `row`: {}", e),
|
|
32061
|
+
)
|
|
32062
|
+
})?,
|
|
32063
|
+
None => Default::default(),
|
|
32064
|
+
},
|
|
32065
|
+
col: match kwargs.get(ruby.to_symbol("col")) {
|
|
32066
|
+
Some(v) => u32::try_convert(v).map_err(|e| {
|
|
32067
|
+
magnus::Error::new(
|
|
32068
|
+
unsafe { magnus::Ruby::get_unchecked() }.exception_type_error(),
|
|
32069
|
+
format!("invalid value for `col`: {}", e),
|
|
32070
|
+
)
|
|
32071
|
+
})?,
|
|
32072
|
+
None => Default::default(),
|
|
32073
|
+
},
|
|
32074
|
+
heading_level: match kwargs.get(ruby.to_symbol("heading_level")) {
|
|
32075
|
+
Some(v) => Some(u8::try_convert(v).map_err(|e| {
|
|
32076
|
+
magnus::Error::new(
|
|
32077
|
+
unsafe { magnus::Ruby::get_unchecked() }.exception_type_error(),
|
|
32078
|
+
format!("invalid value for `heading_level`: {}", e),
|
|
32079
|
+
)
|
|
32080
|
+
})?),
|
|
32081
|
+
None => None,
|
|
32082
|
+
},
|
|
32083
|
+
style_name: match kwargs.get(ruby.to_symbol("style_name")) {
|
|
32084
|
+
Some(v) => Some(String::try_convert(v).map_err(|e| {
|
|
32085
|
+
magnus::Error::new(
|
|
32086
|
+
unsafe { magnus::Ruby::get_unchecked() }.exception_type_error(),
|
|
32087
|
+
format!("invalid value for `style_name`: {}", e),
|
|
32088
|
+
)
|
|
32089
|
+
})?),
|
|
32090
|
+
None => None,
|
|
32091
|
+
},
|
|
32092
|
+
})
|
|
32093
|
+
}
|
|
32094
|
+
|
|
32095
|
+
fn row(&self) -> u32 {
|
|
32096
|
+
self.row
|
|
32097
|
+
}
|
|
32098
|
+
|
|
32099
|
+
fn col(&self) -> u32 {
|
|
32100
|
+
self.col
|
|
32101
|
+
}
|
|
32102
|
+
|
|
32103
|
+
fn heading_level(&self) -> Option<u8> {
|
|
32104
|
+
self.heading_level
|
|
32105
|
+
}
|
|
32106
|
+
|
|
32107
|
+
fn style_name(&self) -> Option<String> {
|
|
32108
|
+
self.style_name.clone()
|
|
32109
|
+
}
|
|
32110
|
+
}
|
|
32111
|
+
|
|
31953
32112
|
#[cfg(feature = "diff")]
|
|
31954
32113
|
#[derive(Clone, Debug, serde::Serialize, serde::Deserialize)]
|
|
31955
32114
|
#[magnus::wrap(class = "Xberg::TableDiff")]
|
|
@@ -47907,11 +48066,13 @@ impl From<GridCell> for xberg::GridCell {
|
|
|
47907
48066
|
col_span: val.col_span,
|
|
47908
48067
|
is_header: val.is_header,
|
|
47909
48068
|
bbox: val.bbox.map(Into::into),
|
|
48069
|
+
heading_level: val.heading_level,
|
|
48070
|
+
style_name: val.style_name,
|
|
47910
48071
|
}
|
|
47911
48072
|
}
|
|
47912
48073
|
}
|
|
47913
48074
|
|
|
47914
|
-
#[allow(clippy::useless_conversion)]
|
|
48075
|
+
#[allow(clippy::redundant_closure, clippy::useless_conversion)]
|
|
47915
48076
|
impl From<xberg::GridCell> for GridCell {
|
|
47916
48077
|
fn from(val: xberg::GridCell) -> Self {
|
|
47917
48078
|
Self {
|
|
@@ -47922,6 +48083,8 @@ impl From<xberg::GridCell> for GridCell {
|
|
|
47922
48083
|
col_span: val.col_span,
|
|
47923
48084
|
is_header: val.is_header,
|
|
47924
48085
|
bbox: val.bbox.map(Into::into),
|
|
48086
|
+
heading_level: val.heading_level,
|
|
48087
|
+
style_name: val.style_name.map(|v| v.to_string()),
|
|
47925
48088
|
}
|
|
47926
48089
|
}
|
|
47927
48090
|
}
|
|
@@ -51079,6 +51242,7 @@ impl From<Table> for xberg::Table {
|
|
|
51079
51242
|
page_number: val.page_number,
|
|
51080
51243
|
bounding_box: val.bounding_box.map(Into::into),
|
|
51081
51244
|
table_id: val.table_id,
|
|
51245
|
+
cell_styles: val.cell_styles.into_iter().map(Into::into).collect(),
|
|
51082
51246
|
columns: val.columns.map(|v| v.into_iter().collect()),
|
|
51083
51247
|
..Default::default()
|
|
51084
51248
|
}
|
|
@@ -51094,6 +51258,7 @@ impl From<xberg::Table> for Table {
|
|
|
51094
51258
|
page_number: val.page_number,
|
|
51095
51259
|
bounding_box: val.bounding_box.map(Into::into),
|
|
51096
51260
|
table_id: val.table_id.map(|v| v.to_string()),
|
|
51261
|
+
cell_styles: val.cell_styles.into_iter().map(Into::into).collect(),
|
|
51097
51262
|
columns: val.columns.map(|v| v.into_iter().collect()),
|
|
51098
51263
|
}
|
|
51099
51264
|
}
|
|
@@ -51110,6 +51275,31 @@ impl From<xberg::TableCell> for TableCell {
|
|
|
51110
51275
|
}
|
|
51111
51276
|
}
|
|
51112
51277
|
|
|
51278
|
+
#[allow(clippy::needless_update)]
|
|
51279
|
+
impl From<TableCellStyle> for xberg::TableCellStyle {
|
|
51280
|
+
fn from(val: TableCellStyle) -> Self {
|
|
51281
|
+
Self {
|
|
51282
|
+
row: val.row,
|
|
51283
|
+
col: val.col,
|
|
51284
|
+
heading_level: val.heading_level,
|
|
51285
|
+
style_name: val.style_name,
|
|
51286
|
+
..Default::default()
|
|
51287
|
+
}
|
|
51288
|
+
}
|
|
51289
|
+
}
|
|
51290
|
+
|
|
51291
|
+
#[allow(clippy::redundant_closure)]
|
|
51292
|
+
impl From<xberg::TableCellStyle> for TableCellStyle {
|
|
51293
|
+
fn from(val: xberg::TableCellStyle) -> Self {
|
|
51294
|
+
Self {
|
|
51295
|
+
row: val.row,
|
|
51296
|
+
col: val.col,
|
|
51297
|
+
heading_level: val.heading_level,
|
|
51298
|
+
style_name: val.style_name.map(|v| v.to_string()),
|
|
51299
|
+
}
|
|
51300
|
+
}
|
|
51301
|
+
}
|
|
51302
|
+
|
|
51113
51303
|
#[cfg(feature = "diff")]
|
|
51114
51304
|
#[allow(clippy::useless_conversion)]
|
|
51115
51305
|
impl From<xberg::TableDiff> for TableDiff {
|
|
@@ -56276,6 +56466,10 @@ fn ruby_init(ruby: &Ruby) -> Result<(), Error> {
|
|
|
56276
56466
|
|
|
56277
56467
|
class.define_method("bbox", method!(GridCell::bbox, 0))?;
|
|
56278
56468
|
|
|
56469
|
+
class.define_method("heading_level", method!(GridCell::heading_level, 0))?;
|
|
56470
|
+
|
|
56471
|
+
class.define_method("style_name", method!(GridCell::style_name, 0))?;
|
|
56472
|
+
|
|
56279
56473
|
class.define_method("to_s", method!(GridCell::to_s, 0))?;
|
|
56280
56474
|
|
|
56281
56475
|
let class = module.define_class("HeaderMetadata", ruby.class_object())?;
|
|
@@ -58611,6 +58805,8 @@ fn ruby_init(ruby: &Ruby) -> Result<(), Error> {
|
|
|
58611
58805
|
|
|
58612
58806
|
class.define_method("table_id", method!(Table::table_id, 0))?;
|
|
58613
58807
|
|
|
58808
|
+
class.define_method("cell_styles", method!(Table::cell_styles, 0))?;
|
|
58809
|
+
|
|
58614
58810
|
class.define_method("columns", method!(Table::columns, 0))?;
|
|
58615
58811
|
|
|
58616
58812
|
let class = module.define_class("TableCell", ruby.class_object())?;
|
|
@@ -58627,6 +58823,18 @@ fn ruby_init(ruby: &Ruby) -> Result<(), Error> {
|
|
|
58627
58823
|
|
|
58628
58824
|
class.define_method("to_s", method!(TableCell::to_s, 0))?;
|
|
58629
58825
|
|
|
58826
|
+
let class = module.define_class("TableCellStyle", ruby.class_object())?;
|
|
58827
|
+
|
|
58828
|
+
class.define_singleton_method("new", function!(TableCellStyle::new, -1))?;
|
|
58829
|
+
|
|
58830
|
+
class.define_method("row", method!(TableCellStyle::row, 0))?;
|
|
58831
|
+
|
|
58832
|
+
class.define_method("col", method!(TableCellStyle::col, 0))?;
|
|
58833
|
+
|
|
58834
|
+
class.define_method("heading_level", method!(TableCellStyle::heading_level, 0))?;
|
|
58835
|
+
|
|
58836
|
+
class.define_method("style_name", method!(TableCellStyle::style_name, 0))?;
|
|
58837
|
+
|
|
58630
58838
|
let class = module.define_class("TableDiff", ruby.class_object())?;
|
|
58631
58839
|
|
|
58632
58840
|
#[cfg(feature = "diff")]
|
data/lib/xberg/version.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# This file is auto-generated by alef — DO NOT EDIT.
|
|
2
|
-
# alef:hash:
|
|
2
|
+
# alef:hash:73c70c86b0b71cc6dde88c9c0ee7245420504146c2e2122be9b741ddce361099
|
|
3
3
|
# To regenerate: alef generate
|
|
4
4
|
# To verify freshness: alef verify
|
|
5
5
|
# frozen_string_literal: true
|
|
6
6
|
|
|
7
7
|
module Xberg
|
|
8
8
|
## The version string for this package.
|
|
9
|
-
VERSION = "1.1.
|
|
9
|
+
VERSION = "1.1.3"
|
|
10
10
|
end
|
data/sig/types.rbs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# This file is auto-generated by alef — DO NOT EDIT.
|
|
2
|
-
# alef:hash:
|
|
2
|
+
# alef:hash:983fd32130659037e7cd0d012a6583376687bf78f5f876bf66af9db448c8e3f0
|
|
3
3
|
# To regenerate: alef generate
|
|
4
4
|
# To verify freshness: alef verify
|
|
5
5
|
|
|
@@ -1144,8 +1144,10 @@ def initialize: (block_type: BlockType, ?level: Integer, inline_content: Array[I
|
|
|
1144
1144
|
attr_reader col_span: Integer
|
|
1145
1145
|
attr_reader is_header: bool
|
|
1146
1146
|
attr_reader bbox: BoundingBox?
|
|
1147
|
+
attr_reader heading_level: Integer?
|
|
1148
|
+
attr_reader style_name: String?
|
|
1147
1149
|
|
|
1148
|
-
def initialize: (content: String, row: Integer, col: Integer, row_span: Integer, col_span: Integer, is_header: bool, ?bbox: BoundingBox) -> void
|
|
1150
|
+
def initialize: (content: String, row: Integer, col: Integer, row_span: Integer, col_span: Integer, is_header: bool, ?bbox: BoundingBox, ?heading_level: Integer, ?style_name: String) -> void
|
|
1149
1151
|
end
|
|
1150
1152
|
|
|
1151
1153
|
class HeaderMetadata
|
|
@@ -2452,9 +2454,10 @@ attr_reader cells: Array[Array[String]]
|
|
|
2452
2454
|
attr_reader page_number: Integer
|
|
2453
2455
|
attr_reader bounding_box: BoundingBox?
|
|
2454
2456
|
attr_reader table_id: String?
|
|
2457
|
+
attr_reader cell_styles: Array[TableCellStyle]
|
|
2455
2458
|
attr_reader columns: Array[String]?
|
|
2456
2459
|
|
|
2457
|
-
def initialize: (?cells: Array[Array[String]], ?markdown: String, ?page_number: Integer, ?bounding_box: BoundingBox, ?table_id: String, ?columns: Array[String]) -> void
|
|
2460
|
+
def initialize: (?cells: Array[Array[String]], ?markdown: String, ?page_number: Integer, ?bounding_box: BoundingBox, ?table_id: String, ?cell_styles: Array[TableCellStyle], ?columns: Array[String]) -> void
|
|
2458
2461
|
end
|
|
2459
2462
|
|
|
2460
2463
|
class TableCell
|
|
@@ -2466,6 +2469,15 @@ def initialize: (?cells: Array[Array[String]], ?markdown: String, ?page_number:
|
|
|
2466
2469
|
def initialize: (?content: String, ?row_span: Integer, ?col_span: Integer, ?is_header: bool) -> void
|
|
2467
2470
|
end
|
|
2468
2471
|
|
|
2472
|
+
class TableCellStyle
|
|
2473
|
+
attr_reader row: Integer
|
|
2474
|
+
attr_reader col: Integer
|
|
2475
|
+
attr_reader heading_level: Integer?
|
|
2476
|
+
attr_reader style_name: String?
|
|
2477
|
+
|
|
2478
|
+
def initialize: (?row: Integer, ?col: Integer, ?heading_level: Integer, ?style_name: String) -> void
|
|
2479
|
+
end
|
|
2480
|
+
|
|
2469
2481
|
class TableDiff
|
|
2470
2482
|
attr_reader from_index: Integer
|
|
2471
2483
|
attr_reader to_index: Integer
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: xberg
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Na'aman Hirschfeld <naaman@xberg.io>
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-09-
|
|
11
|
+
date: 2026-09-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rb_sys
|